X11: Link libgcc statically with use_static_cpp option
We were already linking libstdc++ statically for official binaries,
protecting us against most portability issues. But apparently since
we started using GCC 7 for official builds, we also need to link
libgcc statically for at least 32-bit builds to be portable.
Fixes #16409.
(cherry picked from commit b526088ae2
)
This commit is contained in:
parent
5b04dcfabd
commit
8372a404bb
|
@ -49,7 +49,7 @@ def get_opts():
|
||||||
|
|
||||||
return [
|
return [
|
||||||
BoolVariable('use_llvm', 'Use the LLVM compiler', False),
|
BoolVariable('use_llvm', 'Use the LLVM compiler', False),
|
||||||
BoolVariable('use_static_cpp', 'Link stdc++ statically', False),
|
BoolVariable('use_static_cpp', 'Link libgcc and libstdc++ statically for better portability', False),
|
||||||
BoolVariable('use_sanitizer', 'Use LLVM compiler address sanitizer', False),
|
BoolVariable('use_sanitizer', 'Use LLVM compiler address sanitizer', False),
|
||||||
BoolVariable('use_leak_sanitizer', 'Use LLVM compiler memory leaks sanitizer (implies use_sanitizer)', False),
|
BoolVariable('use_leak_sanitizer', 'Use LLVM compiler memory leaks sanitizer (implies use_sanitizer)', False),
|
||||||
BoolVariable('pulseaudio', 'Detect & use pulseaudio', True),
|
BoolVariable('pulseaudio', 'Detect & use pulseaudio', True),
|
||||||
|
@ -275,6 +275,6 @@ def configure(env):
|
||||||
env.Append(CPPFLAGS=['-m64'])
|
env.Append(CPPFLAGS=['-m64'])
|
||||||
env.Append(LINKFLAGS=['-m64', '-L/usr/lib/i686-linux-gnu'])
|
env.Append(LINKFLAGS=['-m64', '-L/usr/lib/i686-linux-gnu'])
|
||||||
|
|
||||||
|
# Link those statically for portability
|
||||||
if env['use_static_cpp']:
|
if env['use_static_cpp']:
|
||||||
env.Append(LINKFLAGS=['-static-libstdc++'])
|
env.Append(LINKFLAGS=['-static-libgcc', '-static-libstdc++'])
|
||||||
|
|
Loading…
Reference in New Issue