--- SConstruct.orig 2017-06-08 16:11:03 UTC +++ SConstruct @@ -929,9 +929,9 @@ if has_option('variables-help'): print env_vars.GenerateHelpText(env) Exit(0) -unknown_vars = env_vars.UnknownVariables() -if unknown_vars: - env.FatalError("Unknown variables specified: {0}", ", ".join(unknown_vars.keys())) +#unknown_vars = env_vars.UnknownVariables() +#if unknown_vars: +# env.FatalError("Unknown variables specified: {0}", ", ".join(unknown_vars.keys())) def set_config_header_define(env, varname, varval = 1): env['CONFIG_HEADER_DEFINES'][varname] = varval @@ -1550,7 +1550,7 @@ if env.TargetOSIs('posix'): # If runtime hardening is requested, then build anything # destined for an executable with the necessary flags for PIE. env.AppendUnique( - PROGCCFLAGS=['-fPIE'], + PROGCCFLAGS=['-fpic'], PROGLINKFLAGS=['-pie'], ) @@ -1564,7 +1564,7 @@ if env.TargetOSIs('posix'): "-Wno-unknown-pragmas", "-Winvalid-pch"] ) # env.Append( " -Wconversion" ) TODO: this doesn't really work yet - if env.TargetOSIs('linux', 'osx', 'solaris'): + if env.TargetOSIs('linux', 'osx', 'solaris', 'freebsd'): if not has_option("disable-warnings-as-errors"): env.Append( CCFLAGS=["-Werror"] ) @@ -1592,19 +1592,19 @@ if env.TargetOSIs('posix'): env.Append( CCFLAGS=["-fprofile-arcs", "-ftest-coverage"] ) env.Append( LINKFLAGS=["-fprofile-arcs", "-ftest-coverage"] ) - if optBuild: - env.Append( CCFLAGS=["-O2"] ) - else: - env.Append( CCFLAGS=["-O0"] ) + #if optBuild: + # env.Append( CCFLAGS=["-O2"] ) + #else: + # env.Append( CCFLAGS=["-O0"] ) # Promote linker warnings into errors. We can't yet do this on OS X because its linker considers # noall_load obsolete and warns about it. - if not env.TargetOSIs('osx'): - env.Append( - LINKFLAGS=[ - "-Wl,--fatal-warnings", - ], - ) + #if not env.TargetOSIs('osx'): + # env.Append( + # LINKFLAGS=[ + # "-Wl,--fatal-warnings", + # ], + # ) mmapv1 = False if get_option('mmapv1') == 'auto': @@ -2461,7 +2461,7 @@ def doConfigure(myenv): }} """.format(storage_class) context.Message('Checking for storage class {0} '.format(storage_class)) - ret = context.TryLink(textwrap.dedent(test_body), ".cpp") + ret = context.TryCompile(textwrap.dedent(test_body), ".cpp") context.Result(ret) return ret