Skip to content

Commit b8cff4e

Browse files
committed
scripts: add build-mesa
1 parent 24e0fc5 commit b8cff4e

4 files changed

Lines changed: 63 additions & 0 deletions

File tree

.env

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,5 @@ CMAKE_POLICY_VERSION_MINIMUM="4.3"
99
MACOSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET:-26.4}"
1010
CFLAGS="-mcpu=native"
1111
CXXFLAGS="${CFLAGS}"
12+
PYTHONPATH="${PWD}/src/python"
13+
PIP_TARGET="${PYTHONPATH}"

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::"

fetch

Lines changed: 11 additions & 0 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:"
@@ -133,6 +134,13 @@ fetch_luajit() {
133134
git -C src clone --depth 1 "${url}"
134135
}
135136

137+
fetch_mesa() {
138+
local url="https://gitlab.freedesktop.org/mesa/mesa.git"
139+
rm -rf src/mesa
140+
git -C src clone --depth 1 "${url}"
141+
pip3 install --no-cache-dir -U mako packaging pyyaml
142+
}
143+
136144
fetch_moltenvk() {
137145
local url="https://github.com/KhronosGroup/MoltenVK.git"
138146
rm -rf src/MoltenVK
@@ -309,6 +317,9 @@ else
309317
"luajit")
310318
fetch_luajit
311319
;;
320+
"mesa")
321+
fetch_mesa
322+
;;
312323
"moltenvk")
313324
fetch_moltenvk
314325
;;

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)