removed 5, no longer in scope, updated 6 and refreshed patches, mostly no change, revert to older configs for now to minimize diff to tree refreshed 7 on top of 6, pending update
		
			
				
	
	
		
			94 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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")
 |