[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"
export LDFLAGS+=" -lorbital"

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 \
    -Dglx=disabled \
    -Dllvm=enabled \
    -Dosmesa=true \
    -Dplatforms=redox \
    -Dshader-cache=disabled \
    -Dvulkan-drivers=swrast

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