mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-23 05:14:18 +08:00
65 lines
2.0 KiB
TOML
65 lines
2.0 KiB
TOML
[source]
|
|
git = "https://gitlab.redox-os.org/redox-os/mesa.git"
|
|
upstream = "https://gitlab.freedesktop.org/mesa/mesa"
|
|
branch = "redox-22.3.1"
|
|
|
|
[build]
|
|
template = "custom"
|
|
dependencies = [
|
|
"expat",
|
|
"llvm",
|
|
"zlib",
|
|
]
|
|
script = """
|
|
#TODO: do this in cook instead
|
|
unset AR AS CC CXX LD NM OBJCOPY OBJDUMP RANLIB READELF STRIP
|
|
|
|
export CFLAGS="-I${COOKBOOK_SYSROOT}/include -DHAVE_PTHREAD=1"
|
|
export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include -DHAVE_PTHREAD=1"
|
|
export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib --static"
|
|
export LLVM_CONFIG="${TARGET}-llvm-config"
|
|
|
|
# TODO: Fix this annoying shite
|
|
echo "[binaries]" > cross_file.txt
|
|
echo "c = '${TARGET}-gcc'" >> cross_file.txt
|
|
echo "cpp = '${TARGET}-g++'" >> cross_file.txt
|
|
echo "ar = '${TARGET}-ar'" >> cross_file.txt
|
|
echo "strip = '${TARGET}-strip'" >> cross_file.txt
|
|
echo "pkgconfig = '${TARGET}-pkg-config'" >> cross_file.txt
|
|
echo "llvm-config = '${TARGET}-llvm-config'" >> cross_file.txt
|
|
|
|
echo "[host_machine]" >> cross_file.txt
|
|
echo "system = 'redox'" >> cross_file.txt
|
|
echo "cpu_family = '$(echo "${TARGET}" | cut -d - -f1)'" >> cross_file.txt
|
|
echo "cpu = '$(echo "${TARGET}" | cut -d - -f1)'" >> cross_file.txt
|
|
echo "endian = 'little'" >> cross_file.txt
|
|
|
|
echo "[paths]" >> cross_file.txt
|
|
echo "prefix = '/'" >> cross_file.txt
|
|
echo "libdir = 'lib'" >> cross_file.txt
|
|
echo "bindir = 'bin'" >> cross_file.txt
|
|
|
|
echo "[properties]" >> cross_file.txt
|
|
echo "needs_exe_wrapper = true" >> cross_file.txt
|
|
|
|
meson "${COOKBOOK_SOURCE}" . \
|
|
--cross-file cross_file.txt \
|
|
--buildtype release \
|
|
--strip \
|
|
-Ddefault_library=static \
|
|
-Ddri-drivers= \
|
|
-Dglx=disabled \
|
|
-Dllvm=enabled \
|
|
-Dosmesa=true \
|
|
-Dplatforms= \
|
|
-Dshader-cache=disabled \
|
|
-Dshared-llvm=disabled \
|
|
-Dshared-glapi=disabled
|
|
ninja -v
|
|
DESTDIR="${COOKBOOK_STAGE}" ninja install
|
|
|
|
# Hack to add LLVM libs
|
|
#TODO: only add necessary LLVM libs, not all of them
|
|
sed -i "s/ -lOSMesa / -lOSMesa $("${TARGET}-llvm-config" --libs) -lstdc++ /" "${COOKBOOK_STAGE}/lib/pkgconfig/osmesa.pc"
|
|
"""
|