Browse Source

fix SCons fullstatic build with glibc pthreads

[with some modifications by gstrauss]
personal/stbuehler/mod-csrf
Stefan Bühler 5 years ago
committed by Glenn Strauss
parent
commit
a09d80dfd1
  1. 12
      src/SConscript

12
src/SConscript

@ -223,11 +223,19 @@ for libs in staticlib:
fullstaticlib += [ aword ]
f.close
## glibc pthread needs to be linked completely (especially nptl-init.o)
## or not at all, or else pthread structures may not be initialized correctly
import platform
fullstatic_libs = GatherLibs(env, fullstaticlib)
fullstatic_linkflags = [staticenv['LINKFLAGS'], '-static']
if (('pthread' in fullstatic_libs) or ('pcre' in fullstatic_libs)) and (platform.system() == 'Linux'):
fullstatic_linkflags += ['-Wl,--whole-archive','-lpthread','-Wl,--no-whole-archive']
## includes all modules, linked statically
fullstaticbin = staticenv.Program('../fullstatic/build/lighttpd',
staticobj,
LIBS = GatherLibs(env, fullstaticlib),
LINKFLAGS= [staticenv['LINKFLAGS'], '-static']
LIBS = fullstatic_libs,
LINKFLAGS= fullstatic_linkflags
)
Alias('static', staticbin)

Loading…
Cancel
Save