From: Kai Wasserbäch Date: Mon, 19 May 2014 15:02:49 +0000 (+0200) Subject: targets/opencl: Fix (static) linking with LLVM (v2) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=97aa256b199644dbf16ae8371ad339fef1a25d91;p=mesa.git targets/opencl: Fix (static) linking with LLVM (v2) Without this, I get linking failures (static linking). The static linking is sort of required for me, because otherwise Steam and applications using the Steam runtime regularily fail because my LLVM was compiled and linked against a newer libgcc_s, libstdc++, etc. and uses features from those newer versions. And instead of Steam just not starting, my X starts crashing, whenever libGL fails to load a (32 bit) driver. Since I hate crashes of X and I don't think Valve/Steam will behave like a proper distribution soon (rebuilds versus current Debian Testing, since they base their Steam OS off that), I need a radeonsi which carries its own LLVM within and doesn't care about what the runtime sets. This means linking Mesa statically. v1 → v2: Move logic to configure.ac Acked-by: Emil Velikov Signed-off-by: Kai Wasserbäch --- diff --git a/configure.ac b/configure.ac index 7397341b290..bee85a13154 100644 --- a/configure.ac +++ b/configure.ac @@ -1728,6 +1728,13 @@ if test "x$enable_gallium_llvm" = xyes; then if $LLVM_CONFIG --components | grep -qw 'option'; then LLVM_COMPONENTS="${LLVM_COMPONENTS} option" fi + # Current OpenCL/Clover and LLVM 3.5 require ObjCARCOpts and ProfileData + if $LLVM_CONFIG --components | grep -qw 'objcarcopts'; then + LLVM_COMPONENTS="${LLVM_COMPONENTS} objcarcopts" + fi + if $LLVM_CONFIG --components | grep -qw 'profiledata'; then + LLVM_COMPONENTS="${LLVM_COMPONENTS} profiledata" + fi fi DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT -DLLVM_VERSION_PATCH=$LLVM_VERSION_PATCH" MESA_LLVM=1