diff options
-rw-r--r-- | SConstruct | 6 | ||||
-rw-r--r-- | etc/evergreen.yml | 32 | ||||
-rw-r--r-- | etc/scons/xcode_macosx.vars | 4 |
3 files changed, 24 insertions, 18 deletions
diff --git a/SConstruct b/SConstruct index 62ab953f16e..d88dc9de65a 100644 --- a/SConstruct +++ b/SConstruct @@ -2247,6 +2247,12 @@ def doConfigure(myenv): myenv.Append( CXXFLAGS=["-Wnon-virtual-dtor"] ) conf.Finish() + # As of XCode 9, this flag must be present (it is not enabled + # by -Wall), in order to enforce that -mXXX-version-min=YYY + # will enforce that you don't use APIs from ZZZ. + if env.TargetOSIs('darwin'): + AddToCCFLAGSIfSupported(env, '-Wunguarded-availability') + if get_option('runtime-hardening') == "on": # Enable 'strong' stack protection preferentially, but fall back to 'all' if it is not # available. Note that we need to add these to the LINKFLAGS as well, since otherwise we diff --git a/etc/evergreen.yml b/etc/evergreen.yml index 1d62d0a0f54..121dc9cd2f5 100644 --- a/etc/evergreen.yml +++ b/etc/evergreen.yml @@ -10678,9 +10678,9 @@ buildvariants: push_name: macos push_arch: x86_64 compile_env: DEVELOPER_DIR=/Applications/Xcode8.3.app - compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --release --libc++ CCFLAGS="-mmacosx-version-min=10.10" LINKFLAGS="-mmacosx-version-min=10.10" + compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --release --libc++ CCFLAGS="-mmacosx-version-min=10.11" LINKFLAGS="-mmacosx-version-min=10.11" num_jobs_available: 1 - gorootvars: 'PATH="/opt/golang/go1.10/bin:/opt/mongodbtoolchain/v2/bin/:$PATH" GOROOT=/opt/golang/go1.10 CGO_CPPFLAGS=-I/opt/mongodbtoolchain/v2/include CGO_CFLAGS=-mmacosx-version-min=10.10 CGO_LDFLAGS=-mmacosx-version-min=10.10' + gorootvars: 'PATH="/opt/golang/go1.10/bin:/opt/mongodbtoolchain/v2/bin/:$PATH" GOROOT=/opt/golang/go1.10 CGO_CPPFLAGS=-I/opt/mongodbtoolchain/v2/include CGO_CFLAGS=-mmacosx-version-min=10.11 CGO_LDFLAGS=-mmacosx-version-min=10.11' tooltags: "-tags 'ssl openssl_pre_1.0'" build_mongoreplay: true display_tasks: @@ -10787,8 +10787,8 @@ buildvariants: expansions: num_jobs_available: 1 compile_env: DEVELOPER_DIR=/Applications/Xcode8.3.app - compile_flags: --dbg=on --opt=on -j$(sysctl -n hw.logicalcpu) --libc++ CCFLAGS="-mmacosx-version-min=10.10" LINKFLAGS="-mmacosx-version-min=10.10" - gorootvars: 'PATH="/opt/golang/go1.10/bin:/opt/mongodbtoolchain/v2/bin/:$PATH" GOROOT=/opt/golang/go1.10 CGO_CFLAGS=-mmacosx-version-min=10.10 CGO_LDFLAGS=-mmacosx-version-min=10.10' + compile_flags: --dbg=on --opt=on -j$(sysctl -n hw.logicalcpu) --libc++ CCFLAGS="-mmacosx-version-min=10.11" LINKFLAGS="-mmacosx-version-min=10.11" + gorootvars: 'PATH="/opt/golang/go1.10/bin:/opt/mongodbtoolchain/v2/bin/:$PATH" GOROOT=/opt/golang/go1.10 CGO_CFLAGS=-mmacosx-version-min=10.11 CGO_LDFLAGS=-mmacosx-version-min=10.11' tooltags: "" build_mongoreplay: true display_tasks: @@ -10823,9 +10823,9 @@ buildvariants: push_name: macos push_arch: x86_64-enterprise compile_env: DEVELOPER_DIR=/Applications/Xcode8.3.app - compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --release --libc++ CCFLAGS="-mmacosx-version-min=10.10" LINKFLAGS="-mmacosx-version-min=10.10" + compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --release --libc++ CCFLAGS="-mmacosx-version-min=10.11" LINKFLAGS="-mmacosx-version-min=10.11" num_jobs_available: 1 - gorootvars: 'PATH="/opt/golang/go1.10/bin:/opt/mongodbtoolchain/v2/bin/:$PATH" GOROOT=/opt/golang/go1.10 CGO_CPPFLAGS=-I/opt/mongodbtoolchain/v2/include CGO_CFLAGS=-mmacosx-version-min=10.10 CGO_LDFLAGS=-mmacosx-version-min=10.10' + gorootvars: 'PATH="/opt/golang/go1.10/bin:/opt/mongodbtoolchain/v2/bin/:$PATH" GOROOT=/opt/golang/go1.10 CGO_CPPFLAGS=-I/opt/mongodbtoolchain/v2/include CGO_CFLAGS=-mmacosx-version-min=10.11 CGO_LDFLAGS=-mmacosx-version-min=10.11' tooltags: "-tags 'ssl sasl openssl_pre_1.0'" build_mongoreplay: true display_tasks: @@ -10872,13 +10872,13 @@ buildvariants: push_name: osx push_arch: x86_64-enterprise tooltags: "-tags 'ssl sasl openssl_pre_1.0'" - gorootvars: CGO_CPPFLAGS=-I/opt/mongodbtoolchain/v2/include CGO_CFLAGS=-mmacosx-version-min=10.10 CGO_LDFLAGS=-mmacosx-version-min=10.10 + gorootvars: CGO_CPPFLAGS=-I/opt/mongodbtoolchain/v2/include CGO_CFLAGS=-mmacosx-version-min=10.11 CGO_LDFLAGS=-mmacosx-version-min=10.11 compile_env: DEVELOPER_DIR=/Applications/Xcode8.3.app - compile_flags: --ssl --ssl-provider=openssl -j$(sysctl -n hw.logicalcpu) --release --libc++ CCFLAGS="-mmacosx-version-min=10.10" LINKFLAGS="-mmacosx-version-min=10.10" LIBPATH="$PWD/openssl_install_dir/lib" CPPPATH="$PWD/openssl_install_dir/include" + compile_flags: --ssl --ssl-provider=openssl -j$(sysctl -n hw.logicalcpu) --release --libc++ CCFLAGS="-mmacosx-version-min=10.11" LINKFLAGS="-mmacosx-version-min=10.11" LIBPATH="$PWD/openssl_install_dir/lib" CPPPATH="$PWD/openssl_install_dir/include" num_jobs_available: 1 build_mongoreplay: true build_openssl: true - openssl_config_flags: "-mmacosx-version-min=10.10" + openssl_config_flags: "-mmacosx-version-min=10.11" openssl_make_flags: "-j$(sysctl -n hw.logicalcpu)" display_tasks: - *dbtest @@ -10931,7 +10931,7 @@ buildvariants: -DCMAKE_INSTALL_BINDIR=Frameworks -DENABLE_SSL=DARWIN -DENABLE_ZLIB=BUNDLED - -DCMAKE_C_FLAGS="-flto" + -DCMAKE_C_FLAGS="-flto -Wunguarded-availability" -DCMAKE_SHARED_LINKER_FLAGS="-flto" disable_unit_tests: true enable_embedded_tests: native @@ -10964,7 +10964,7 @@ buildvariants: -DENABLE_SASL=OFF -DENABLE_ZLIB=OFF -DENABLE_SNAPPY=OFF - -DCMAKE_C_FLAGS="-fembed-bitcode -flto" + -DCMAKE_C_FLAGS="-fembed-bitcode -flto -Wunguarded-availability" -DCMAKE_SHARED_LINKER_FLAGS="-fembed-bitcode -flto" disable_unit_tests: true dump_scons_config_on_failure: true @@ -10996,7 +10996,7 @@ buildvariants: -DENABLE_SASL=OFF -DENABLE_ZLIB=OFF -DENABLE_SNAPPY=OFF - -DCMAKE_C_FLAGS="-fembed-bitcode -flto" + -DCMAKE_C_FLAGS="-fembed-bitcode -flto -Wunguarded-availability" -DCMAKE_SHARED_LINKER_FLAGS="-fembed-bitcode -flto" disable_unit_tests: true enable_embedded_tests: ios_tvos_simulator @@ -11031,7 +11031,7 @@ buildvariants: -DENABLE_SASL=OFF -DENABLE_ZLIB=OFF -DENABLE_SNAPPY=OFF - -DCMAKE_C_FLAGS="-fembed-bitcode -flto" + -DCMAKE_C_FLAGS="-fembed-bitcode -flto -Wunguarded-availability" -DCMAKE_SHARED_LINKER_FLAGS="-fembed-bitcode -flto" disable_unit_tests: true dump_scons_config_on_failure: true @@ -11063,7 +11063,7 @@ buildvariants: -DENABLE_SASL=OFF -DENABLE_ZLIB=OFF -DENABLE_SNAPPY=OFF - -DCMAKE_C_FLAGS="-fembed-bitcode -flto" + -DCMAKE_C_FLAGS="-fembed-bitcode -flto -Wunguarded-availability" -DCMAKE_SHARED_LINKER_FLAGS="-fembed-bitcode -flto" disable_unit_tests: true enable_embedded_tests: ios_tvos_simulator @@ -11098,7 +11098,7 @@ buildvariants: -DENABLE_SASL=OFF -DENABLE_ZLIB=OFF -DENABLE_SNAPPY=OFF - -DCMAKE_C_FLAGS="-fembed-bitcode -flto -fapplication-extension" + -DCMAKE_C_FLAGS="-fembed-bitcode -flto -fapplication-extension -Wunguarded-availability" -DCMAKE_SHARED_LINKER_FLAGS="-fembed-bitcode -flto -fapplication-extension" disable_unit_tests: true dump_scons_config_on_failure: true @@ -11130,7 +11130,7 @@ buildvariants: -DENABLE_SASL=OFF -DENABLE_ZLIB=OFF -DENABLE_SNAPPY=OFF - -DCMAKE_C_FLAGS="-fembed-bitcode -flto -fapplication-extension" + -DCMAKE_C_FLAGS="-fembed-bitcode -flto -fapplication-extension -Wunguarded-availability" -DCMAKE_SHARED_LINKER_FLAGS="-fembed-bitcode -flto -fapplication-extension" disable_unit_tests: true enable_embedded_tests: ios_tvos_simulator diff --git a/etc/scons/xcode_macosx.vars b/etc/scons/xcode_macosx.vars index 865a4f1184c..5235969c769 100644 --- a/etc/scons/xcode_macosx.vars +++ b/etc/scons/xcode_macosx.vars @@ -7,5 +7,5 @@ CXX = subprocess.check_output(['xcrun', '-f', '--sdk', 'macosx', 'clang++']).str sdk_path = subprocess.check_output(['xcrun', '--sdk', 'macosx', '--show-sdk-path']).strip() -CCFLAGS = "-isysroot {} -mmacosx-version-min=10.10".format(sdk_path) -LINKFLAGS = "-Wl,-syslibroot,{} -mmacosx-version-min=10.10".format(sdk_path) +CCFLAGS = "-isysroot {} -mmacosx-version-min=10.11".format(sdk_path) +LINKFLAGS = "-Wl,-syslibroot,{} -mmacosx-version-min=10.11".format(sdk_path) |