diff --git a/SConstruct b/SConstruct index 8367691..9061849 100644 --- a/SConstruct +++ b/SConstruct @@ -2441,7 +2441,6 @@ if env.TargetOSIs('posix'): # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used. env.Append( CCFLAGS=["-fasynchronous-unwind-tables", - "-ggdb" if not env.TargetOSIs('emscripten') else "-g", "-Wall", "-Wsign-compare", "-Wno-unknown-pragmas", @@ -2497,6 +2496,8 @@ if env.TargetOSIs('posix'): # env.Append( " -Wconversion" ) TODO: this doesn't really work yet env.Append( CXXFLAGS=["-Woverloaded-virtual"] ) + env.Append( CXXFLAGS=os.environ['CXXFLAGS'] ) + env.Append( LINKFLAGS=os.environ['LDFLAGS'] ) # On OS X, clang doesn't want the pthread flag at link time, or it # issues warnings which make it impossible for us to declare link @@ -2549,7 +2550,7 @@ if env.TargetOSIs('posix'): ) #make scons colorgcc friendly - for key in ('HOME', 'TERM'): + for key in ('HOME', 'TERM', 'PATH'): try: env['ENV'][key] = os.environ[key] except KeyError: @@ -2968,43 +2969,6 @@ def doConfigure(myenv): myenv.AddMethod( functools.partial(var_func, var=var, func=CheckFlag), f"Check{var}Supported") - if myenv.ToolchainIs('gcc', 'clang'): - # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker - # because it is much faster. Don't use it if the user has already configured another linker - # selection manually. - if any(flag.startswith('-fuse-ld=') for flag in env['LINKFLAGS']): - myenv.FatalError(f"Use the '--linker' option instead of modifying the LINKFLAGS directly.") - - linker_ld = get_option('linker') - if linker_ld == 'auto': - # lld has problems with separate debug info on some platforms. See: - # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556 - # - https://bugzilla.mozilla.org/show_bug.cgi?id=1485556 - # - # lld also apparently has problems with symbol resolution - # in some esoteric configurations that apply for us when - # using --link-model=dynamic mode, so disable lld there - # too. See: - # - https://bugs.llvm.org/show_bug.cgi?id=46676 - # - # We should revisit all of these issues the next time we upgrade our clang minimum. - if get_option('separate-debug') == 'off' and get_option('link-model') != 'dynamic': - if not myenv.AddToLINKFLAGSIfSupported('-fuse-ld=lld'): - myenv.AddToLINKFLAGSIfSupported('-fuse-ld=gold') - else: - myenv.AddToLINKFLAGSIfSupported('-fuse-ld=gold') - elif link_model.startswith("dynamic") and linker_ld == 'bfd': - # BFD is not supported due to issues with it causing warnings from some of - # the third party libraries that mongodb is linked with: - # https://jira.mongodb.org/browse/SERVER-49465 - myenv.FatalError(f"Linker {linker_ld} is not supported with dynamic link model builds.") - else: - if not myenv.AddToLINKFLAGSIfSupported(f'-fuse-ld={linker_ld}'): - myenv.FatalError(f"Linker {linker_ld} could not be configured.") - - if has_option('gcov') and myenv.AddToCCFLAGSIfSupported('-fprofile-update=single'): - myenv.AppendUnique(LINKFLAGS=['-fprofile-update=single']) - detectCompiler = Configure(myenv, help=False, custom_tests = { 'CheckForCXXLink': CheckForCXXLink, }) @@ -4344,17 +4308,11 @@ def doConfigure(myenv): "BOOST_LOG_NO_SHORTHAND_NAMES", "BOOST_LOG_USE_NATIVE_SYSLOG", "BOOST_LOG_WITHOUT_THREAD_ATTR", + "BOOST_LOG_DYN_LINK", "ABSL_FORCE_ALIGNED_ACCESS", ] ) - if link_model.startswith("dynamic") and not link_model == 'dynamic-sdk': - conf.env.AppendUnique( - CPPDEFINES=[ - "BOOST_LOG_DYN_LINK", - ] - ) - if use_system_version_of_library("boost"): if not conf.CheckCXXHeader( "boost/filesystem/operations.hpp" ): myenv.ConfError("can't find boost headers")