--- SConstruct.orig 2023-05-10 02:21:42 UTC +++ SConstruct @@ -1269,9 +1269,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(list(unknown_vars.keys()))) +#unknown_vars = env_vars.UnknownVariables() +#if unknown_vars: +# env.FatalError("Unknown variables specified: {0}", ", ".join(list(unknown_vars.keys()))) install_actions.setup(env, get_option('install-action')) @@ -2196,7 +2196,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'], ) @@ -2211,7 +2211,7 @@ if env.TargetOSIs('posix'): "-Wno-unknown-pragmas", "-Winvalid-pch"] ) # env.Append( " -Wconversion" ) TODO: this doesn't really work yet - if env.TargetOSIs('linux', 'darwin', 'solaris'): + if env.TargetOSIs('linux', 'darwin', 'solaris', 'freebsd'): if not has_option("disable-warnings-as-errors"): env.Append( CCFLAGS=["-Werror"] ) @@ -2297,7 +2297,7 @@ if env.ToolchainIs('GCC', 'clang'): elif env['TARGET_ARCH'] == 'aarch64': # If we are using GCC or clang to target aarch64, set the arch to be armv8.2-a, # This is to prevent a bug with WT see SERVER-71772 for more details - env.Append( CCFLAGS=['-march=armv8.2-a', '-mtune=generic'] ) + env.Append( CCFLAGS=['-march=armv8-a+crc', '-mtune=generic'] ) # Needed for auth tests since key files are stored in git with mode 644. if not env.TargetOSIs('windows'):