scons: Use -Bsymbolic linker option.
This prevents the error
relocation R_X86_64_PC32 against symbol `_gl_DispatchTSD' can not be used when making a shared object; recompile with -fPIC
when building on x86_64 architecture.
diff --git a/scons/gallium.py b/scons/gallium.py
index ee45af5..b69f2f2 100644
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -448,11 +448,15 @@
# Linker options
linkflags = []
+ shlinkflags = []
if gcc:
if env['machine'] == 'x86':
linkflags += ['-m32']
if env['machine'] == 'x86_64':
linkflags += ['-m64']
+ shlinkflags += [
+ '-Wl,-Bsymbolic',
+ ]
if platform == 'windows' and msvc:
# See also:
# - http://msdn2.microsoft.com/en-us/library/y0zzbyt4.aspx
@@ -500,6 +504,7 @@
'/entry:_DllMainCRTStartup',
]
env.Append(LINKFLAGS = linkflags)
+ env.Append(SHLINKFLAGS = shlinkflags)
# Default libs
env.Append(LIBS = [])