[Mesa-dev] [PATCH] targets/opencl: Fix (static) linking with LLVM (v2)
Kai Wasserbäch
kai at dev.carbon-project.org
Mon May 19 08:02:49 PDT 2014
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
Signed-off-by: Kai Wasserbäch <kai at dev.carbon-project.org>
---
Dear Emil,
I hope this is the right place for adding the two additional modules.
If you accept this patch, please push it for me, I don't have commit access.
Cheers,
Kai
configure.ac | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/configure.ac b/configure.ac
index 4e4d761..b4920ba 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1658,6 +1658,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.0.0.rc2
More information about the mesa-dev
mailing list