Skip to content

Commit a6a6da3

Browse files
committed
Merge branch 'master' into spiced
2 parents 1c00ad6 + b8cff4e commit a6a6da3

9 files changed

Lines changed: 146 additions & 19 deletions

File tree

.env

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ PREFIX="${PREFIX:-/opt/local}"
55
STOWDIR="${PREFIX}/stow"
66
PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
77
CMAKE_GENERATOR="Ninja"
8-
MACOSX_DEPLOYMENT_TARGET="$(sw_vers -productVersion 2>/dev/null || echo "26.2")"
9-
10-
CMAKE_POLICY_VERSION_MINIMUM="4.2"
11-
MACOSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET:-26.3}"
8+
CMAKE_POLICY_VERSION_MINIMUM="4.3"
9+
MACOSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET:-26.4}"
1210
CFLAGS="-mcpu=native"
1311
CXXFLAGS="${CFLAGS}"
12+
PYTHONPATH="${PWD}/src/python"
13+
PIP_TARGET="${PYTHONPATH}"

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727

2828
- name: Select Xcode
2929
run: |
30-
sudo xcode-select -s /Applications/Xcode_26.3.app
30+
sudo xcode-select -s /Applications/Xcode_26.4.app
3131
xcodebuild -version
3232
3333
- name: Create Stow Directory
@@ -47,7 +47,7 @@ jobs:
4747
- name: Build & Install
4848
run: ./build-all --bundle
4949
env:
50-
MACOSX_DEPLOYMENT_TARGET: 26.3
50+
MACOSX_DEPLOYMENT_TARGET: 26.4
5151

5252
- name: Print Summary
5353
run: |

build-all

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
cd "$(dirname "$0")"
44

55
./build-vulkan
6+
./build-spirv-tools
67
./build-moltenvk
78
./build-shaderc
89
./build-lcms2

build-mesa

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#!/bin/bash -e
2+
#
3+
# Mesa
4+
# https://gitlab.freedesktop.org/mesa/mesa.git
5+
#
6+
# Homebrew dependencies:
7+
# libclc spirv-llvm-translator
8+
#
9+
cd "$(dirname "$0")"
10+
set -a; . .env; set +a
11+
12+
pkgname="mesa"
13+
pkgdir="${STOWDIR}/${pkgname}"
14+
srcdir="src/mesa"
15+
builddir="${TMPDIR:-/tmp}/build.${pkgname}"
16+
17+
echo "::group::$0"
18+
19+
rm -rf "${builddir}"
20+
21+
meson setup "${builddir}" "${srcdir}" \
22+
--prefix="${pkgdir}" \
23+
--native-file=meson/native/llvm.ini \
24+
-Dwrap_mode=nodownload \
25+
-Dbuildtype=release \
26+
-Dplatforms=macos \
27+
-Dvulkan-drivers=kosmickrisp \
28+
-Dvulkan-icd-dir="${pkgdir}/etc/vulkan/icd.d" \
29+
-Dgallium-drivers=[] \
30+
-Dvideo-codecs=all \
31+
-Dopengl=false \
32+
-Dgles1=disabled \
33+
-Dgles2=disabled \
34+
-Dglx=disabled \
35+
-Dxmlconfig=disabled \
36+
-Dzstd=disabled \
37+
"$@"
38+
39+
meson compile -C "${builddir}"
40+
41+
rm -rf "${pkgdir}"
42+
43+
meson install -C "${builddir}"
44+
stow -Rd "${STOWDIR}" "${pkgname}"
45+
46+
rm -rf "${builddir}"
47+
48+
echo "::endgroup::"

build-moltenvk

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ cmake -B "${builddir}" -S "${srcdir}" \
2020
-DCMAKE_INSTALL_NAME_DIR="${pkgdir}/lib" \
2121
-DCMAKE_BUILD_TYPE=Release \
2222
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
23+
-DCPM_SOURCE_CACHE="${srcdir}/External/CPM" \
2324
-DMVK_CONFIG_LOG_LEVEL=error \
2425
-DMVK_USE_METAL_PRIVATE_API=ON \
25-
-DCPM_SOURCE_CACHE=src/CPM \
26+
-DMVK_EXCLUDE_SPIRV_TOOLS=ON \
2627
-Wno-dev \
2728
"$@"
2829

build-spirv-tools

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#!/bin/bash -e
2+
#
3+
# SPIRV-Tools
4+
# https://github.com/KhronosGroup/SPIRV-Tools.git
5+
#
6+
# SPIRV-Headers
7+
# https://github.com/KhronosGroup/SPIRV-Headers.git
8+
#
9+
cd "$(dirname "$0")"
10+
set -a; . .env; set +a
11+
12+
pkgname="spirv-tools"
13+
pkgdir="${STOWDIR}/${pkgname}"
14+
tools_srcdir="src/SPIRV-Tools"
15+
headers_srcdir="src/SPIRV-Headers"
16+
builddir="${TMPDIR:-/tmp}/build.${pkgname}"
17+
18+
echo "::group::$0"
19+
20+
rm -rf "${builddir}" "${pkgdir}"
21+
22+
cmake -B "${builddir}" -S "${headers_srcdir}" \
23+
-DCMAKE_INSTALL_PREFIX="${pkgdir}" \
24+
-DCMAKE_BUILD_TYPE=Release \
25+
-DSPIRV_HEADERS_ENABLE_INSTALL=ON \
26+
-DSPIRV_HEADERS_ENABLE_TESTS=OFF
27+
28+
cmake --install "${builddir}"
29+
30+
rm -rf "${builddir}"
31+
32+
cmake -B "${builddir}" -S "${tools_srcdir}" \
33+
-DCMAKE_INSTALL_PREFIX="${pkgdir}" \
34+
-DCMAKE_INSTALL_NAME_DIR="${pkgdir}/lib" \
35+
-DCMAKE_BUILD_TYPE=Release \
36+
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
37+
-DBUILD_SHARED_LIBS=OFF \
38+
-DSPIRV-Headers_SOURCE_DIR="${pkgdir}" \
39+
-DSPIRV_SKIP_EXECUTABLES=ON \
40+
-DSPIRV_SKIP_TESTS=ON \
41+
"$@"
42+
43+
cmake --build "${builddir}"
44+
cmake --install "${builddir}"
45+
rm -rf "${pkgdir}"/{lib,share}/cmake
46+
stow -Rd "${STOWDIR}" "${pkgname}"
47+
48+
rm -rf "${builddir}"
49+
50+
echo "::endgroup::"

build-vulkan

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,35 @@
11
#!/bin/bash -e
22
#
3-
# Vulkan Headers
4-
# https://github.com/KhronosGroup/Vulkan-Headers.git
5-
#
63
# Vulkan Loader
74
# https://github.com/KhronosGroup/Vulkan-Loader.git
85
#
6+
# Vulkan Headers
7+
# https://github.com/KhronosGroup/Vulkan-Headers.git
8+
#
99
cd "$(dirname "$0")"
1010
set -a; . .env; set +a
1111

1212
pkgname="vulkan"
1313
pkgdir="${STOWDIR}/${pkgname}"
14-
headerssrcdir="src/Vulkan-Headers"
15-
loadersrcdir="src/Vulkan-Loader"
14+
loader_srcdir="src/Vulkan-Loader"
15+
headers_srcdir="src/Vulkan-Headers"
1616
builddir="${TMPDIR:-/tmp}/build.${pkgname}"
1717

1818
echo "::group::$0"
1919

2020
rm -rf "${builddir}" "${pkgdir}"
2121

22-
cmake -B "${builddir}" -S "${headerssrcdir}" \
22+
cmake -B "${builddir}" -S "${headers_srcdir}" \
2323
-DCMAKE_INSTALL_PREFIX="${pkgdir}" \
24-
-DCMAKE_BUILD_TYPE=Release
24+
-DCMAKE_BUILD_TYPE=Release \
25+
-DVULKAN_HEADERS_ENABLE_INSTALL=ON \
26+
-DVULKAN_HEADERS_ENABLE_TESTS=OFF
2527

2628
cmake --install "${builddir}"
2729

2830
rm -rf "${builddir}"
2931

30-
cmake -B "${builddir}" -S "${loadersrcdir}" \
32+
cmake -B "${builddir}" -S "${loader_srcdir}" \
3133
-DCMAKE_INSTALL_PREFIX="${pkgdir}" \
3234
-DCMAKE_INSTALL_NAME_DIR="${pkgdir}/lib" \
3335
-DCMAKE_BUILD_TYPE=Release \

fetch

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/bin/bash -e
22

33
cd "$(dirname "$0")"
4+
set -a; . .env; set +a
45

56
print_usage() {
67
echo "Usage:"
@@ -140,6 +141,13 @@ fetch_luajit() {
140141
git -C src clone --depth 1 "${url}"
141142
}
142143

144+
fetch_mesa() {
145+
local url="https://gitlab.freedesktop.org/mesa/mesa.git"
146+
rm -rf src/mesa
147+
git -C src clone --depth 1 "${url}"
148+
pip3 install --no-cache-dir -U mako packaging pyyaml
149+
}
150+
143151
fetch_moltenvk() {
144152
local url="https://github.com/KhronosGroup/MoltenVK.git"
145153
rm -rf src/MoltenVK
@@ -171,6 +179,14 @@ fetch_shaderc() {
171179
git -C src clone --depth 1 "${url}"
172180
}
173181

182+
fetch_spirv-tools() {
183+
local tools_url="https://github.com/KhronosGroup/SPIRV-Tools.git"
184+
local headers_url="https://github.com/KhronosGroup/SPIRV-Headers.git"
185+
rm -rf src/SPIRV-{Tools,Headers}
186+
git -C src clone --depth 1 "${tools_url}"
187+
git -C src clone --depth 1 "${headers_url}"
188+
}
189+
174190
fetch_svt-av1() {
175191
local url="https://gitlab.com/AOMediaCodec/SVT-AV1.git"
176192
rm -rf src/SVT-AV1
@@ -184,11 +200,11 @@ fetch_uchardet() {
184200
}
185201

186202
fetch_vulkan() {
187-
local loaderurl="https://github.com/KhronosGroup/Vulkan-Loader.git"
188-
local headersurl="https://github.com/KhronosGroup/Vulkan-Headers.git"
203+
local loader_url="https://github.com/KhronosGroup/Vulkan-Loader.git"
204+
local headers_url="https://github.com/KhronosGroup/Vulkan-Headers.git"
189205
rm -rf src/Vulkan-{Loader,Headers}
190-
git -C src clone --depth 1 "${loaderurl}"
191-
git -C src clone --depth 1 "${headersurl}"
206+
git -C src clone --depth 1 "${loader_url}"
207+
git -C src clone --depth 1 "${headers_url}"
192208
}
193209

194210
fetch_whisper() {
@@ -244,6 +260,7 @@ if [[ "$*" == "all" ]]; then
244260
fetch_mpv
245261
fetch_opus
246262
fetch_shaderc
263+
fetch_spirv-tools
247264
fetch_svt-av1
248265
fetch_uchardet
249266
fetch_vulkan
@@ -316,6 +333,9 @@ else
316333
"luajit")
317334
fetch_luajit
318335
;;
336+
"mesa")
337+
fetch_mesa
338+
;;
319339
"moltenvk")
320340
fetch_moltenvk
321341
;;
@@ -328,6 +348,9 @@ else
328348
"shaderc")
329349
fetch_shaderc
330350
;;
351+
"spirv-tools")
352+
fetch_spirv-tools
353+
;;
331354
"svt-av1")
332355
fetch_svt-av1
333356
;;

meson/native/llvm.ini

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[binaries]
2+
llvm-config = '/opt/homebrew/opt/llvm/bin/llvm-config'

0 commit comments

Comments
 (0)