From 97aa256b199644dbf16ae8371ad339fef1a25d91 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kai=20Wasserb=C3=A4ch?= Date: Mon, 19 May 2014 17:02:49 +0200 Subject: [PATCH] targets/opencl: Fix (static) linking with LLVM (v2) MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- configure.ac | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/configure.ac b/configure.ac index 7397341..bee85a1 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 -- 2.7.4