[source] git = "https://gitlab.redox-os.org/redox-os/mesa.git" upstream = "https://gitlab.freedesktop.org/mesa/mesa" branch = "redox-24.0" shallow_clone = true [build] template = "custom" dependencies = [ "expat", "libdrm", "liborbital", "llvm21", "zlib", ] dev-dependencies = [ "llvm21.dev", ] script = """ DYNAMIC_INIT #TODO: Should be CPPFLAGS but cookbook_meson isn't reading it export CFLAGS+=" -DHAVE_PTHREAD=1 -I${COOKBOOK_SYSROOT}/include/libdrm" export LLVM_CONFIG="${TARGET}-llvm-config" if [ -x "${HOME}/.redoxer/${TARGET}/toolchain/bin/llvm-config" ]; then export COOKBOOK_HOST_SYSROOT="${HOME}/.redoxer/${TARGET}/toolchain" fi export LDFLAGS+=" -lorbital" mkdir -p .cookbook-tools ln -sf "$(command -v "${LLVM_CONFIG}")" .cookbook-tools/llvm-config export PATH="$(pwd)/.cookbook-tools:${PATH}" if [ "${COOKBOOK_DYNAMIC}" == "1" ]; then COOKBOOK_MESON_FLAGS+=(-Dshared-llvm=enabled) else COOKBOOK_MESON_FLAGS+=(-Dshared-llvm=disabled) fi cookbook_meson \ -Ddri-drivers-path=/usr/lib/dri \ -Degl=enabled \ -Dgbm=enabled \ -Dglx=disabled \ -Dgallium-drivers=swrast,virgl \ -Dllvm=enabled \ -Dosmesa=true \ -Dplatforms=redox \ -Dshader-cache=disabled \ -Dc_args="['-Wno-error=implicit-function-declaration','-Wno-error','-std=gnu11','-Dstatic_assert=_Static_assert']" \ -Dcpp_args="['-Wno-error=implicit-function-declaration','-Wno-error']" \ -Dvulkan-drivers=swrast \ -Dshared-glapi=enabled # Hack to add LLVM libs, the list can be seen from meson log and check for matches $("${LLVM_CONFIG}" --libs) LLVMLIBS="-lLLVMBitReader -lLLVMCore -lLLVMExecutionEngine -lLLVMInstCombine -lLLVMMCDisassembler" LLVMLIBS+=" -lLLVMMCJIT -lLLVMScalarOpts -lLLVMTransformUtils -lLLVMCoroutines -lLLVMLTO" sed -i "s/ -lOSMesa / -lOSMesa ${LLVMLIBS} -lstdc++ /" "${COOKBOOK_STAGE}/usr/lib/pkgconfig/osmesa.pc" """