summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKai Wasserbäch <[email protected]>2014-05-19 17:02:49 +0200
committerEmil Velikov <[email protected]>2014-05-25 23:21:46 +0100
commit97aa256b199644dbf16ae8371ad339fef1a25d91 (patch)
tree20ee2768ee001b5f60befa6e103c60f3de998aa0
parenteb2241f8a921a09db13bc453ce97b1f1939add17 (diff)
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 <[email protected]> Signed-off-by: Kai Wasserbäch <[email protected]>
-rw-r--r--configure.ac7
1 files changed, 7 insertions, 0 deletions
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