Skip to content

Commit f3087ca

Browse files
alexrpdotnet-bot
andauthored
More improvements to native library builds (dotnet#2143)
* Native: Also include *.json files in PRs (e.g. vk_swiftshader_icd.json). * Native/SwiftShader: Update submodule to 764410d. * Native/SwiftShader: Build for win-arm64. * Native/SwiftShader: Update packaging paths in Silk.NET.Vulkan.SwiftShader.Native. This was missed in dotnet#2049. * Native/Vulkan Loader: Build for win-arm64. Vulkan Loader has GAS-style assembly that is essential to it functioning correctly, so to make things simple, we build on Linux using llvm-mingw. * Native/SwiftShader: Expand on a comment in the NUKE build script. * Native: Use absolute tool paths in aarch64-w64-mingw32.cmake. * Native: Re-run CMake-based workflows when build/cmake/* changes are pushed. * Native/Vulkan Loader: Remove llvm-mingw archive after extraction. * Native/Vulkan Loader: Pass extra glob path to the win-arm64 binary. This is needed since the default globs only include *.so on Linux. * New binaries for SwiftShader on Darwin 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:50 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_VMAPPLE * Native/Vulkan Loader: Update submodule to v1.3.281. This brings it in line with our Vulkan-Headers submodule. * Native/Vulkan-Loader: Update submodule to 6d9e995. This brings in a number of build system fixes that we need for win-arm64. This commit is just prior to the update to Vulkan v1.3.282. * Native/Vulkan Loader: Fix path to vulkan-1.dll for win-arm64. * New binaries for SwiftShader on Microsoft Windows 10.0.20348 * Native/Vulkan Loader: Fix path to vulkan-1.dll for win-arm64, take 2. * New binaries for Vulkan Loader on Darwin 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:50 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_VMAPPLE * New binaries for Vulkan Loader on Linux 6.5.0-1018-azure dotnet#19~22.04.2-Ubuntu SMP Thu Mar 21 16:45:46 UTC 2024 * New binaries for Vulkan Loader on Microsoft Windows 10.0.20348 * New binaries for SwiftShader on Linux 6.5.0-1018-azure dotnet#19~22.04.2-Ubuntu SMP Thu Mar 21 16:45:46 UTC 2024 * Native: Simplify `git add` glob for changed native binaries. * Native: Simplify NuGet packaging projects. * Native: Set CMAKE_ASM_COMPILER in all toolchain files. --------- Co-authored-by: The Silk.NET Automaton <9011267+dotnet-bot@users.noreply.github.com>
1 parent 0f4cce8 commit f3087ca

File tree

52 files changed

+101
-372
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+101
-372
lines changed

.github/workflows/assimp.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
- "main"
88
paths:
99
- build/submodules/Assimp
10+
- "build/cmake/*"
1011
- build/nuke/Native/Core.cs
1112
- build/nuke/Native/Assimp.cs
1213
- .github/workflows/assimp.yml

.github/workflows/glfw.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
- "main"
88
paths:
99
- "build/submodules/GLFW"
10+
- "build/cmake/*"
1011
- "build/nuke/Native/Core.cs"
1112
- "build/nuke/Native/GLFW.cs"
1213
- .github/workflows/glfw.yml

.github/workflows/openal-soft.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
- "main"
88
paths:
99
- build/submodules/openal-soft
10+
- "build/cmake/*"
1011
- build/nuke/Native/Core.cs
1112
- build/nuke/Native/OpenALSoft.cs
1213
- .github/workflows/openal-soft.yml

.github/workflows/sdl2.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
- "main"
88
paths:
99
- build/submodules/SDL
10+
- "build/cmake/*"
1011
- build/nuke/Native/Core.cs
1112
- build/nuke/Native/SDL2.cs
1213
- .github/workflows/sdl2.yml

.github/workflows/swiftshader.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ on:
33
push:
44
paths:
55
- build/submodules/SwiftShader
6+
- "build/cmake/*"
67
- build/nuke/Native/Core.cs
78
- build/nuke/Native/SwiftShader.cs
89
- .github/workflows/swiftshader.yml

.github/workflows/vulkan-loader.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
- "main"
88
paths:
99
- build/submodules/Vulkan-Loader
10+
- "build/cmake/*"
1011
- build/nuke/Native/Core.cs
1112
- build/nuke/Native/VulkanLoader.cs
1213
- .github/workflows/vulkan-loader.yml
@@ -46,6 +47,10 @@ jobs:
4647
for arch in amd64 arm64 armhf; do
4748
sudo apt install -y libx11-xcb-dev:$arch libxkbcommon-dev:$arch libwayland-dev:$arch libxrandr-dev:$arch
4849
done
50+
wget https://github.com/mstorsjo/llvm-mingw/releases/download/20240417/llvm-mingw-20240417-msvcrt-ubuntu-20.04-x86_64.tar.xz
51+
sudo mkdir /opt/llvm-mingw-msvcrt
52+
sudo tar xf llvm-mingw-20240417-msvcrt-ubuntu-20.04-x86_64.tar.xz --strip-components 1 -C /opt/llvm-mingw-msvcrt
53+
rm llvm-mingw-20240417-msvcrt-ubuntu-20.04-x86_64.tar.xz
4954
- os: windows-2022
5055
name: Windows
5156
nuke_invoke: ./build.cmd

build/cmake/aarch64-linux-gnu.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
set(CMAKE_SYSTEM_NAME Linux)
22
set(CMAKE_SYSTEM_PROCESSOR aarch64)
3+
set(CMAKE_ASM_COMPILER "/usr/bin/aarch64-linux-gnu-as")
34
set(CMAKE_C_COMPILER "/usr/bin/aarch64-linux-gnu-gcc")
45
set(CMAKE_CXX_COMPILER "/usr/bin/aarch64-linux-gnu-g++")
56
set(CMAKE_LINKER "/usr/bin/aarch64-linux-gnu-ld")

build/cmake/aarch64-w64-mingw32.cmake

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set(CMAKE_SYSTEM_NAME Windows)
2+
set(CMAKE_SYSTEM_PROCESSOR aarch64)
3+
set(CMAKE_ASM_COMPILER "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-as")
4+
set(CMAKE_C_COMPILER "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-gcc")
5+
set(CMAKE_CXX_COMPILER "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-g++")
6+
set(CMAKE_RC_COMPILER "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-windres")
7+
set(CMAKE_LINKER "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-ld")
8+
set(CMAKE_FIND_ROOT_PATH "/opt/llvm-mingw-msvcrt/aarch64-w64-mingw32")
9+
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
10+
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
11+
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
12+
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

build/cmake/arm-linux-gnueabihf.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
set(CMAKE_SYSTEM_NAME Linux)
22
set(CMAKE_SYSTEM_PROCESSOR armv7l)
3+
set(CMAKE_ASM_COMPILER "/usr/bin/arm-linux-gnueabihf-as")
34
set(CMAKE_C_COMPILER "/usr/bin/arm-linux-gnueabihf-gcc")
45
set(CMAKE_CXX_COMPILER "/usr/bin/arm-linux-gnueabihf-g++")
56
set(CMAKE_LINKER "/usr/bin/arm-linux-gnueabihf-ld")

build/cmake/x86_64-linux-gnu.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
set(CMAKE_SYSTEM_NAME Linux)
22
set(CMAKE_SYSTEM_PROCESSOR x86_64)
3+
set(CMAKE_ASM_COMPILER "/usr/bin/x86_64-linux-gnu-as")
34
set(CMAKE_C_COMPILER "/usr/bin/x86_64-linux-gnu-gcc")
45
set(CMAKE_CXX_COMPILER "/usr/bin/x86_64-linux-gnu-g++")
56
set(CMAKE_LINKER "/usr/bin/x86_64-linux-gnu-ld")

0 commit comments

Comments
 (0)