summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Morrow <acm@mongodb.com>2017-02-26 18:06:46 -0500
committerAndrew Morrow <acm@mongodb.com>2017-02-28 07:09:23 -0500
commit4052dc6ee87489d8f9d0b785680ea6e1568db496 (patch)
tree34544f47eaf772a8cbb4c8dc033a6543d96049d2
parentc780b434f538f72dab32a120a7950c1480a95d49 (diff)
downloadmongo-4052dc6ee87489d8f9d0b785680ea6e1568db496.tar.gz
SERVER-27682 Use variables files to configure toolchains
-rw-r--r--SConstruct22
-rw-r--r--etc/evergreen.yml104
-rw-r--r--etc/scons/mongodbtoolchain_clang.vars22
-rw-r--r--etc/scons/mongodbtoolchain_gcc.vars22
-rw-r--r--etc/scons/xcode_ios.vars15
-rw-r--r--etc/scons/xcode_ios_sim.vars13
-rw-r--r--etc/scons/xcode_macosx.vars11
-rw-r--r--etc/scons/xcode_tvos.vars14
-rw-r--r--etc/scons/xcode_tvos_sim.vars13
9 files changed, 177 insertions, 59 deletions
diff --git a/SConstruct b/SConstruct
index c5ec666a178..87407d777b9 100644
--- a/SConstruct
+++ b/SConstruct
@@ -12,11 +12,18 @@ import stat
import sys
import textwrap
import uuid
-from buildscripts import utils
-from buildscripts import moduleconfig
import SCons
+# This must be first, even before EnsureSConsVersion, if
+# we are to avoid bulk loading all tools in the DefaultEnvironment.
+DefaultEnvironment(tools=[])
+
+EnsureSConsVersion( 2, 3, 0 )
+
+from buildscripts import utils
+from buildscripts import moduleconfig
+
from mongo_scons_utils import (
default_buildinfo_environment_data,
default_variant_dir_generator,
@@ -25,8 +32,6 @@ from mongo_scons_utils import (
import libdeps
-EnsureSConsVersion( 2, 3, 0 )
-
def print_build_failures():
from SCons.Script import GetBuildFailures
for bf in GetBuildFailures():
@@ -584,7 +589,7 @@ def decide_platform_tools():
return ['msvc', 'mslink', 'mslib', 'masm']
elif is_running_os('linux', 'solaris'):
return ['gcc', 'g++', 'gnulink', 'ar', 'gas']
- elif is_running_os('osx'):
+ elif is_running_os('darwin'):
return ['gcc', 'g++', 'applelink', 'ar', 'as']
else:
return ["default"]
@@ -750,6 +755,9 @@ env_vars.Add('SHCXXFLAGS',
help='Sets flags for the C++ compiler when building shared libraries',
converter=variable_shlex_converter)
+env_vars.Add('SHELL',
+ help='Pick the shell to use when spawning commands')
+
env_vars.Add('SHLINKFLAGS',
help='Sets flags for the linker when building shared libraries',
converter=variable_shlex_converter)
@@ -906,8 +914,8 @@ envDict = dict(BUILD_ROOT=buildDir,
UNITTEST_LIST='$BUILD_ROOT/unittests.txt',
INTEGRATION_TEST_ALIAS='integration_tests',
INTEGRATION_TEST_LIST='$BUILD_ROOT/integration_tests.txt',
- CONFIGUREDIR=sconsDataDir.Dir('sconf_temp'),
- CONFIGURELOG=sconsDataDir.File('config.log'),
+ CONFIGUREDIR='$BUILD_DIR/scons/sconf_temp',
+ CONFIGURELOG='$BUILD_ROOT/scons/config.log',
INSTALL_DIR=installDir,
CONFIG_HEADER_DEFINES={},
LIBDEPS_TAG_EXPANSIONS=[],
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index b2c3cc8716e..5bb7237a5c9 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -3419,7 +3419,7 @@ buildvariants:
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64
- compile_flags: -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy --release
+ compile_flags: -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars --release
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
use_scons_cache: true
build_mongoreplay: true
@@ -3546,7 +3546,7 @@ buildvariants:
- rhel62-small
batchtime: 1440 # 1 day
expansions:
- compile_flags: -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
test_flags: --repeat=10 --shuffle
use_scons_cache: true
@@ -3583,7 +3583,7 @@ buildvariants:
push_name: linux-debug
push_arch: x86_64
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
- compile_flags: --dbg=on --opt=on -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --dbg=on --opt=on -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars
use_scons_cache: true
build_mongoreplay: true
tasks:
@@ -3691,7 +3691,7 @@ buildvariants:
push_bucket: downloads.mongodb.org
push_name: linux-duroff
push_arch: x86_64
- compile_flags: -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
test_flags: --nojournal --excludeWithAnyTags=requires_journaling
use_scons_cache: true
@@ -3761,7 +3761,7 @@ buildvariants:
- rhel62-small
batchtime: 1440 # 1 day
expansions:
- compile_flags: -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
test_flags: --wiredTigerCollectionConfig=type=lsm --wiredTigerIndexConfig=type=lsm
use_scons_cache: true
@@ -3822,7 +3822,7 @@ buildvariants:
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-ubuntu1204
- compile_flags: --ssl MONGO_DISTMOD=ubuntu1204 -j$(grep -c ^processor /proc/cpuinfo) --release CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=ubuntu1204 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_gcc.vars
multiversion_platform_arch: "ubuntu1204"
multiversion_edition: "targeted"
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
@@ -3946,7 +3946,7 @@ buildvariants:
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-ubuntu1404
- compile_flags: --ssl MONGO_DISTMOD=ubuntu1404 -j$(grep -c ^processor /proc/cpuinfo) --release CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=ubuntu1404 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_gcc.vars
multiversion_platform_arch: "ubuntu1404"
multiversion_edition: "targeted"
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
@@ -4079,7 +4079,7 @@ buildvariants:
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-ubuntu1604
- compile_flags: --ssl MONGO_DISTMOD=ubuntu1604 -j$(grep -c ^processor /proc/cpuinfo) --release CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=ubuntu1604 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_gcc.vars
multiversion_platform_arch: "ubuntu1604"
multiversion_edition: "targeted"
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
@@ -4207,7 +4207,7 @@ buildvariants:
push_bucket: downloads.10gen.com
push_name: linux
push_arch: arm64-enterprise-ubuntu1604
- compile_flags: --ssl MONGO_DISTMOD=ubuntu1604 -j$(grep -c ^processor /proc/cpuinfo) CCFLAGS="-march=armv8-a+crc -mtune=generic" --release CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=ubuntu1604 -j$(grep -c ^processor /proc/cpuinfo) CCFLAGS="-march=armv8-a+crc -mtune=generic" --release --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
test_flags: --excludeWithAnyTags=requires_mmapv1
has_packages: true
@@ -4296,7 +4296,7 @@ buildvariants:
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: arm64-ubuntu1604
- compile_flags: --ssl MONGO_DISTMOD=ubuntu1604 -j$(grep -c ^processor /proc/cpuinfo) --release CCFLAGS="-march=armv8-a+crc -mtune=generic" CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=ubuntu1604 -j$(grep -c ^processor /proc/cpuinfo) --release CCFLAGS="-march=armv8-a+crc -mtune=generic" --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
test_flags: --excludeWithAnyTags=requires_mmapv1
has_packages: true
@@ -4387,7 +4387,7 @@ buildvariants:
push_bucket: downloads.10gen.com
push_name: linux
push_arch: ppc64le-enterprise-ubuntu1604
- compile_flags: --ssl MONGO_DISTMOD=ubuntu1604 -j$(echo "$(grep -c processor /proc/cpuinfo)/2" | bc) --release CCFLAGS="-mcpu=power8 -mtune=power8 -mcmodel=medium" CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=ubuntu1604 -j$(echo "$(grep -c processor /proc/cpuinfo)/2" | bc) --release CCFLAGS="-mcpu=power8 -mtune=power8 -mcmodel=medium" --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: 2
test_flags: --excludeWithAnyTags=requires_mmapv1
has_packages: true
@@ -4468,7 +4468,7 @@ buildvariants:
push_bucket: downloads.10gen.com
push_name: linux
push_arch: s390x-enterprise-ubuntu1604
- compile_flags: --ssl MONGO_DISTMOD=ubuntu1604 --release -j$(grep -c ^processor /proc/cpuinfo) CCFLAGS="-march=z196 -mtune=zEC12" CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy --use-s390x-crc32=off
+ compile_flags: --ssl MONGO_DISTMOD=ubuntu1604 --release -j$(grep -c ^processor /proc/cpuinfo) CCFLAGS="-march=z196 -mtune=zEC12" --variables-files=etc/scons/mongodbtoolchain_gcc.vars --use-s390x-crc32=off
num_jobs_available: 2
test_flags: --excludeWithAnyTags=requires_mmapv1
has_packages: true
@@ -4565,7 +4565,7 @@ buildvariants:
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-amzn64
- compile_flags: --ssl MONGO_DISTMOD=amzn64 --release -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=amzn64 --release -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
has_packages: true
packager_script: packager-enterprise.py
@@ -4655,7 +4655,7 @@ buildvariants:
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-amazon
- compile_flags: --ssl MONGO_DISTMOD=amazon -j$(grep -c ^processor /proc/cpuinfo) --release CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=amazon -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_gcc.vars
multiversion_platform_arch: "amzn64"
multiversion_edition: "enterprise"
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
@@ -4789,7 +4789,7 @@ buildvariants:
push_arch: x86_64
msi_target: msi
content_type: application/zip
- compile_flags: --release -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) VARIANT_DIR=win32
+ compile_flags: --release -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 ))
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
ext: zip
use_scons_cache: true
@@ -4900,7 +4900,7 @@ buildvariants:
multiversion_platform_arch: "windows/x86_64-2008plus"
msi_target: msi
content_type: application/zip
- compile_flags: --release --win-version-min=ws08r2 -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) MONGO_DISTMOD=2008plus VARIANT_DIR=win32
+ compile_flags: --release --win-version-min=ws08r2 -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) MONGO_DISTMOD=2008plus
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
ext: zip
use_scons_cache: true
@@ -5172,7 +5172,7 @@ buildvariants:
push_arch: x86_64-enterprise-windows-64
msi_target: msi
content_type: application/zip
- compile_flags: --release --ssl MONGO_DISTMOD=windows-64 CPPPATH="c:/openssl/include c:/sasl/include c:/snmp/include c:/curl/include" LIBPATH="c:/openssl/lib c:/sasl/lib c:/snmp/lib c:/curl/lib" -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) --dynamic-windows --win-version-min=ws08r2 VARIANT_DIR=win32
+ compile_flags: --release --ssl MONGO_DISTMOD=windows-64 CPPPATH="c:/openssl/include c:/sasl/include c:/snmp/include c:/curl/include" LIBPATH="c:/openssl/lib c:/sasl/lib c:/snmp/lib c:/curl/lib" -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) --dynamic-windows --win-version-min=ws08r2
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
ext: zip
use_scons_cache: true
@@ -5242,7 +5242,7 @@ buildvariants:
push_arch: x86_64-enterprise-windows-64
msi_target: msi
content_type: application/zip
- compile_flags: --release --ssl MONGO_DISTMOD=windows-64 CPPPATH="c:/openssl/include c:/sasl/include c:/snmp/include c:/curl/include" LIBPATH="c:/openssl/lib c:/sasl/lib c:/snmp/lib c:/curl/lib" -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) --dynamic-windows --win-version-min=ws08r2 VARIANT_DIR=win32
+ compile_flags: --release --ssl MONGO_DISTMOD=windows-64 CPPPATH="c:/openssl/include c:/sasl/include c:/snmp/include c:/curl/include" LIBPATH="c:/openssl/lib c:/sasl/lib c:/snmp/lib c:/curl/lib" -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) --dynamic-windows --win-version-min=ws08r2
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
test_flags: --storageEngine=inMemory --excludeWithAnyTags=requires_persistence,requires_journaling
ext: zip
@@ -5302,7 +5302,7 @@ buildvariants:
push_arch: x86_64-2008plus-ssl
msi_target: msi
content_type: application/zip
- compile_flags: --release --ssl MONGO_DISTMOD=2008plus-ssl CPPPATH="c:/openssl/include" LIBPATH="c:/openssl/lib" -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) --dynamic-windows --win-version-min=ws08r2 VARIANT_DIR=win32
+ compile_flags: --release --ssl MONGO_DISTMOD=2008plus-ssl CPPPATH="c:/openssl/include" LIBPATH="c:/openssl/lib" -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) --dynamic-windows --win-version-min=ws08r2
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
ext: zip
use_scons_cache: true
@@ -5401,7 +5401,7 @@ buildvariants:
exe: ".exe"
gorootvars: 'PATH="/cygdrive/c/mingw-w64/x86_64-4.9.1-posix-seh-rt_v3-rev1/mingw64/bin:/cygdrive/c/sasl/:$PATH"'
content_type: application/zip
- compile_flags: --dbg=on --opt=off --ssl MONGO_DISTMOD=2008plus CPPPATH="c:/openssl/include c:/sasl/include c:/snmp/include c:/curl/include" LIBPATH="c:/openssl/lib c:/sasl/lib c:/snmp/lib c:/curl/lib" -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) --dynamic-windows --win-version-min=ws08r2 VARIANT_DIR=win32
+ compile_flags: --dbg=on --opt=off --ssl MONGO_DISTMOD=2008plus CPPPATH="c:/openssl/include c:/sasl/include c:/snmp/include c:/curl/include" LIBPATH="c:/openssl/lib c:/sasl/lib c:/snmp/lib c:/curl/lib" -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) --dynamic-windows --win-version-min=ws08r2
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
ext: zip
use_scons_cache: true
@@ -5733,7 +5733,7 @@ buildvariants:
push_name: linux
push_arch: x86_64-enterprise-rhel62
rlp_environment: MONGOD_UNITTEST_RLP_LANGUAGE_TEST_BTROOT=/opt/basis
- compile_flags: --ssl MONGO_DISTMOD=rhel62 -j$(grep -c ^processor /proc/cpuinfo) --release CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy CPPPATH="/opt/basis/rlp/rlp/include /opt/basis/rlp/utilities/include" --use-basis-tech-rosette-linguistics-platform=on
+ compile_flags: --ssl MONGO_DISTMOD=rhel62 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_gcc.vars CPPPATH="/opt/basis/rlp/rlp/include /opt/basis/rlp/utilities/include" --use-basis-tech-rosette-linguistics-platform=on
multiversion_platform_arch: "rhel62"
multiversion_edition: "targeted"
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
@@ -5968,7 +5968,7 @@ buildvariants:
gorootvars: GOROOT=/opt/go PATH="/opt/go/bin:$PATH"
tooltags: "-tags 'ssl sasl'"
rlp_environment: MONGOD_UNITTEST_RLP_LANGUAGE_TEST_BTROOT=/opt/basis
- compile_flags: --dbg=on --gcov --ssl MONGO_DISTMOD=rhel62 -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy CPPPATH="/opt/basis/rlp/rlp/include /opt/basis/rlp/utilities/include" --use-basis-tech-rosette-linguistics-platform=on
+ compile_flags: --dbg=on --gcov --ssl MONGO_DISTMOD=rhel62 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars CPPPATH="/opt/basis/rlp/rlp/include /opt/basis/rlp/utilities/include" --use-basis-tech-rosette-linguistics-platform=on
multiversion_platform_arch: "rhel62"
multiversion_edition: "targeted"
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
@@ -6197,7 +6197,7 @@ buildvariants:
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-rhel70
- compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --release CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
has_packages: true
packager_script: packager-enterprise.py
@@ -6259,7 +6259,7 @@ buildvariants:
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-rhel62
- compile_flags: --ssl MONGO_DISTMOD=rhel62 -j$(grep -c ^processor /proc/cpuinfo) --release CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=rhel62 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_gcc.vars
multiversion_platform_arch: "rhel62"
multiversion_edition: "targeted"
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
@@ -6384,7 +6384,7 @@ buildvariants:
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-rhel70
- compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --release CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_gcc.vars
multiversion_platform_arch: "rhel70"
multiversion_edition: "targeted"
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
@@ -6526,7 +6526,7 @@ buildvariants:
gorootvars: PATH=/opt/mongodbtoolchain/v2/bin:$PATH
tooltags: -gccgoflags "$(pkg-config --libs --cflags libssl libsasl2)" -tags 'sasl ssl'
# We need to compensate for SMT8 setting the cpu count very high and lower the amount of parallelism down
- compile_flags: --ssl MONGO_DISTMOD=rhel71 --release -j$(echo "$(grep -c processor /proc/cpuinfo)/2" | bc) CCFLAGS="-mcpu=power8 -mtune=power8 -mcmodel=medium" CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=rhel71 --release -j$(echo "$(grep -c processor /proc/cpuinfo)/2" | bc) CCFLAGS="-mcpu=power8 -mtune=power8 -mcmodel=medium" --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(echo "$(grep -c processor /proc/cpuinfo)/4" | bc)
test_flags: --excludeWithAnyTags=requires_mmapv1
has_packages: true
@@ -6665,7 +6665,7 @@ buildvariants:
expansions:
gorootvars: PATH=/opt/mongodbtoolchain/v2/bin:$PATH
tooltags: -gccgoflags "$(pkg-config --libs --cflags libssl libsasl2)" -tags 'sasl ssl'
- compile_flags: --ssl MONGO_DISTMOD=rhel72 --release -j3 CCFLAGS="-march=z196 -mtune=zEC12" CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy --use-s390x-crc32=off
+ compile_flags: --ssl MONGO_DISTMOD=rhel72 --release -j3 CCFLAGS="-march=z196 -mtune=zEC12" --variables-files=etc/scons/mongodbtoolchain_gcc.vars --use-s390x-crc32=off
num_jobs_available: 2
test_flags: --excludeWithAnyTags=requires_mmapv1
has_packages: true
@@ -6804,7 +6804,7 @@ buildvariants:
expansions:
gorootvars: PATH=/opt/mongodbtoolchain/v2/bin:$PATH
tooltags: -gccgoflags "$(pkg-config --libs --cflags libssl libcrypto) -lsasl2" -tags 'sasl ssl'
- compile_flags: --ssl MONGO_DISTMOD=rhel67 --release -j3 CCFLAGS="-march=z9-109 -mtune=z10" CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy --use-s390x-crc32=off
+ compile_flags: --ssl MONGO_DISTMOD=rhel67 --release -j3 CCFLAGS="-march=z9-109 -mtune=z10" --variables-files=etc/scons/mongodbtoolchain_gcc.vars --use-s390x-crc32=off
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
test_flags: --excludeWithAnyTags=requires_mmapv1
has_packages: true
@@ -6949,7 +6949,7 @@ buildvariants:
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-ubuntu1204
- compile_flags: --ssl MONGO_DISTMOD=ubuntu1204 --release -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=ubuntu1204 --release -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
has_packages: true
packager_script: packager-enterprise.py
@@ -7012,7 +7012,7 @@ buildvariants:
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-ubuntu1404
- compile_flags: --ssl MONGO_DISTMOD=ubuntu1404 --release -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=ubuntu1404 --release -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
has_packages: true
packager_script: packager-enterprise.py
@@ -7084,7 +7084,7 @@ buildvariants:
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-ubuntu1604
- compile_flags: --ssl MONGO_DISTMOD=ubuntu1604 --release -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=ubuntu1604 --release -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
has_packages: true
packager_script: packager-enterprise.py
@@ -7171,7 +7171,7 @@ buildvariants:
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-suse12
- compile_flags: --ssl MONGO_DISTMOD=suse12 --release -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=suse12 --release -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
has_packages: true
packager_script: packager-enterprise.py
@@ -7235,7 +7235,7 @@ buildvariants:
push_bucket: downloads.10gen.com
push_name: linux
push_arch: s390x-enterprise-suse12
- compile_flags: --ssl MONGO_DISTMOD=suse12 --release -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) CCFLAGS="-march=z196 -mtune=zEC12" CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy --use-s390x-crc32=off
+ compile_flags: --ssl MONGO_DISTMOD=suse12 --release -j$(( $(grep -c ^processor /proc/cpuinfo) / 2 )) CCFLAGS="-march=z196 -mtune=zEC12" --variables-files=etc/scons/mongodbtoolchain_gcc.vars --use-s390x-crc32=off
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
test_flags: --excludeWithAnyTags=requires_mmapv1
has_packages: true
@@ -7329,7 +7329,7 @@ buildvariants:
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-suse12
- compile_flags: --ssl MONGO_DISTMOD=suse12 -j$(grep -c ^processor /proc/cpuinfo) --release CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=suse12 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
multiversion_platform_arch: "suse12"
multiversion_edition: "targeted"
@@ -7455,7 +7455,7 @@ buildvariants:
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-suse11
- compile_flags: --ssl MONGO_DISTMOD=suse11 --release -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=suse11 --release -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
has_packages: true
packager_script: packager-enterprise.py
@@ -7516,7 +7516,7 @@ buildvariants:
push_bucket: downloads.10gen.com
push_name: linux
push_arch: s390x-enterprise-suse11
- compile_flags: --ssl MONGO_DISTMOD=suse11 --release -j$(grep -c ^processor /proc/cpuinfo) CCFLAGS="-march=z9-109 -mtune=z10" CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy --use-s390x-crc32=off
+ compile_flags: --ssl MONGO_DISTMOD=suse11 --release -j$(grep -c ^processor /proc/cpuinfo) CCFLAGS="-march=z9-109 -mtune=z10" --variables-files=etc/scons/mongodbtoolchain_gcc.vars --use-s390x-crc32=off
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
test_flags: --excludeWithAnyTags=requires_mmapv1
has_packages: true
@@ -7605,7 +7605,7 @@ buildvariants:
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-suse11
- compile_flags: --ssl MONGO_DISTMOD=suse11 -j$(grep -c ^processor /proc/cpuinfo) --release CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=suse11 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_gcc.vars
multiversion_platform_arch: "suse11"
multiversion_edition: "targeted"
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
@@ -7731,7 +7731,7 @@ buildvariants:
push_arch: x86_64
gorootvars: PATH=/opt/mongodbtoolchain/v2/bin:$PATH
tooltags: -gccgoflags "-lsocket -lnsl"
- compile_flags: CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy -j$(kstat cpu | sort -u | grep -c "^module") --release CCFLAGS="-m64" LINKFLAGS="-m64 -static-libstdc++ -static-libgcc" OBJCOPY=/opt/mongodbtoolchain/bin/objcopy
+ compile_flags: --variables-files=etc/scons/mongodbtoolchain_gcc.vars -j$(kstat cpu | sort -u | grep -c "^module") --release CCFLAGS="-m64" LINKFLAGS="-m64 -static-libstdc++ -static-libgcc"
num_jobs_available: $(( $(kstat cpu | sort -u | grep -c "^module") / 2 ))
use_scons_cache: true
tasks:
@@ -7829,7 +7829,7 @@ buildvariants:
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-debian71
- compile_flags: --ssl MONGO_DISTMOD=debian71 --release -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=debian71 --release -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
has_packages: true
packager_script: packager-enterprise.py
@@ -7892,7 +7892,7 @@ buildvariants:
push_bucket: downloads.10gen.com
push_name: linux
push_arch: x86_64-enterprise-debian81
- compile_flags: --ssl MONGO_DISTMOD=debian81 --release -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=debian81 --release -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
has_packages: true
packager_script: packager-enterprise.py
@@ -7953,7 +7953,7 @@ buildvariants:
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-debian71
- compile_flags: --ssl MONGO_DISTMOD=debian71 -j$(grep -c ^processor /proc/cpuinfo) --release CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=debian71 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_gcc.vars
multiversion_platform_arch: "debian71"
multiversion_edition: "targeted"
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
@@ -8080,7 +8080,7 @@ buildvariants:
push_bucket: downloads.mongodb.org
push_name: linux
push_arch: x86_64-debian81
- compile_flags: --ssl MONGO_DISTMOD=debian81 -j$(grep -c ^processor /proc/cpuinfo) --release CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --ssl MONGO_DISTMOD=debian81 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_gcc.vars
multiversion_platform_arch: "debian81"
multiversion_edition: "targeted"
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
@@ -8211,7 +8211,7 @@ buildvariants:
tooltags: "-tags 'ssl sasl'"
rlp_environment: MONGOD_UNITTEST_RLP_LANGUAGE_TEST_BTROOT=/opt/basis
test_flags: --storageEngine=inMemory --excludeWithAnyTags=requires_persistence,requires_journaling
- compile_flags: --ssl MONGO_DISTMOD=rhel62 -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy CPPPATH="/opt/basis/rlp/rlp/include /opt/basis/rlp/utilities/include" --use-basis-tech-rosette-linguistics-platform=on
+ compile_flags: --ssl MONGO_DISTMOD=rhel62 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars CPPPATH="/opt/basis/rlp/rlp/include /opt/basis/rlp/utilities/include" --use-basis-tech-rosette-linguistics-platform=on
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
use_scons_cache: true
build_mongoreplay: true
@@ -8295,7 +8295,7 @@ buildvariants:
batchtime: 1440 # 1 day
expansions:
test_flags: --storageEngine=ephemeralForTest --excludeWithAnyTags=requires_persistence,requires_fsync,SERVER-21420,SERVER-21658,requires_journaling
- compile_flags: -j$(grep -c ^processor /proc/cpuinfo) --dbg=off --opt=on CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: -j$(grep -c ^processor /proc/cpuinfo) --dbg=off --opt=on --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
use_scons_cache: true
build_mongoreplay: true
@@ -8377,7 +8377,7 @@ buildvariants:
gorootvars: PATH=/opt/mongodbtoolchain/v2/bin:$PATH
tooltags: -gccgoflags "$(pkg-config --libs --cflags libssl libsasl2)" -tags 'sasl ssl'
# We need to compensate for SMT8 setting the cpu count very high and lower the amount of parallelism down
- compile_flags: --dbg=on --opt=on --ssl MONGO_DISTMOD=rhel71 -j$(echo "$(grep -c processor /proc/cpuinfo)/2" | bc) CCFLAGS="-mcpu=power8 -mtune=power8 -mcmodel=medium" CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy
+ compile_flags: --dbg=on --opt=on --ssl MONGO_DISTMOD=rhel71 -j$(echo "$(grep -c processor /proc/cpuinfo)/2" | bc) CCFLAGS="-mcpu=power8 -mtune=power8 -mcmodel=medium" --variables-files=etc/scons/mongodbtoolchain_gcc.vars
num_jobs_available: $(echo "$(grep -c processor /proc/cpuinfo)/4" | bc)
test_flags: --storageEngine=inMemory --excludeWithAnyTags=requires_persistence,requires_mmapv1,requires_journaling
build_mongoreplay: true
@@ -8457,7 +8457,7 @@ buildvariants:
expansions:
gorootvars: PATH=/opt/mongodbtoolchain/v2/bin:$PATH
tooltags: -gccgoflags "$(pkg-config --libs --cflags libssl libsasl2)" -tags 'sasl ssl'
- compile_flags: --dbg=on --opt=on --ssl MONGO_DISTMOD=rhel72 -j3 CCFLAGS="-march=z196 -mtune=zEC12" CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy --use-s390x-crc32=off
+ compile_flags: --dbg=on --opt=on --ssl MONGO_DISTMOD=rhel72 -j3 CCFLAGS="-march=z196 -mtune=zEC12" --variables-files=etc/scons/mongodbtoolchain_gcc.vars --use-s390x-crc32=off
num_jobs_available: 2
test_flags: --storageEngine=inMemory --excludeWithAnyTags=requires_persistence,requires_mmapv1,requires_journaling
build_mongoreplay: true
@@ -8542,7 +8542,7 @@ buildvariants:
batchtime: 1440 # 1 day
expansions:
build_rocksdb: true
- compile_flags: -j$(grep -c ^processor /proc/cpuinfo) --dbg=off --opt=on CPPPATH=$(readlink -f ../rocksdb/include/) LIBPATH=$(readlink -f ../rocksdb/) LIBS=rocksdb CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy VARIANT_DIR=release --runtime-hardening=off
+ compile_flags: -j$(grep -c ^processor /proc/cpuinfo) --dbg=off --opt=on CPPPATH=$(readlink -f ../rocksdb/include/) LIBPATH=$(readlink -f ../rocksdb/) LIBS=rocksdb --variables-files=etc/scons/mongodbtoolchain_gcc.vars --runtime-hardening=off
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
test_flags: --storageEngine=rocksdb
use_scons_cache: true
@@ -8622,7 +8622,7 @@ buildvariants:
# We need llvm-symbolizer in the PATH for ASAN for clang-3.7 or later.
variant_path_suffix: /usr/lib/llvm-3.8/bin
san_options: LSAN_OPTIONS="suppressions=etc/lsan.suppressions" ASAN_OPTIONS=detect_leaks=1
- compile_flags: CC=/usr/bin/clang-3.8 CXX=/usr/bin/clang++-3.8 CPPDEFINES="_GLIBCXX_USE_CXX11_ABI=0" --dbg=on --opt=on --allocator=system --sanitize=address --ssl -j$(grep -c ^processor /proc/cpuinfo) --nostrip VARIANT_DIR=build
+ compile_flags: --variables-files=etc/scons/mongodbtoolchain_clang.vars --dbg=on --opt=on --allocator=system --sanitize=address --ssl -j$(grep -c ^processor /proc/cpuinfo) --nostrip
multiversion_platform_arch: "ubuntu1604"
multiversion_edition: "targeted"
num_jobs_available: $(($(grep -c ^processor /proc/cpuinfo) / 3)) # Avoid starting too many mongod's under ASAN build.
@@ -8767,7 +8767,7 @@ buildvariants:
# We need llvm-symbolizer in the PATH for ASAN for clang-3.7 or later.
variant_path_suffix: /usr/lib/llvm-3.8/bin
san_options: LSAN_OPTIONS="suppressions=etc/lsan.suppressions" ASAN_OPTIONS=detect_leaks=1
- compile_flags: CC=/usr/bin/clang-3.8 CXX=/usr/bin/clang++-3.8 CPPDEFINES="_GLIBCXX_USE_CXX11_ABI=0" --opt=on --allocator=system --sanitize=address --ssl -j$(grep -c ^processor /proc/cpuinfo) --nostrip VARIANT_DIR=build
+ compile_flags: --variables-files=etc/scons/mongodbtoolchain_clang.vars --opt=on --allocator=system --sanitize=address --ssl -j$(grep -c ^processor /proc/cpuinfo) --nostrip
num_jobs_available: $(($(grep -c ^processor /proc/cpuinfo) / 3)) # Avoid starting too many mongod's under ASAN build.
build_mongoreplay: true
tasks:
@@ -8800,7 +8800,7 @@ buildvariants:
gorootvars: GOROOT=/opt/go PATH="/opt/go/bin:$PATH"
tooltags: "-tags 'ssl sasl'"
san_options: UBSAN_OPTIONS="print_stacktrace=1"
- compile_flags: CC=/usr/bin/clang-3.8 CXX=/usr/bin/clang++-3.8 --dbg=on --opt=on --allocator=system --sanitize=undefined --ssl -j$(grep -c ^processor /proc/cpuinfo) --nostrip CXXFLAGS="-nostdlib -nostdinc++" LIBPATH=/opt/mongodbtoolchain/v2/lib/gcc/x86_64-mongodb-linux/5.4.0 CPPPATH="/opt/mongodbtoolchain/v2/include/c++/5.4.0/ /opt/mongodbtoolchain/v2/include/c++/5.4.0/x86_64-mongodb-linux" CPPDEFINES="_GLIBCXX_USE_CXX11_ABI=0" VARIANT_DIR=build
+ compile_flags: --variables-files=etc/scons/mongodbtoolchain_clang.vars --dbg=on --opt=on --allocator=system --sanitize=undefined --ssl -j$(grep -c ^processor /proc/cpuinfo) --nostrip
multiversion_platform_arch: "ubuntu1604"
multiversion_edition: "targeted"
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
@@ -8945,7 +8945,7 @@ buildvariants:
expansions:
gorootvars: GOROOT=/opt/go PATH="/opt/go/bin:$PATH"
tooltags: "-tags 'ssl sasl'"
- compile_flags: --ssl MONGO_DISTMOD=ubuntu1604 -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy --link-model=dynamic
+ compile_flags: --ssl MONGO_DISTMOD=ubuntu1604 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars --link-model=dynamic
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
use_scons_cache: true
scons_cache_mode: all
@@ -8970,7 +8970,7 @@ buildvariants:
tooltags: "-tags 'ssl sasl'"
rlp_environment: MONGOD_UNITTEST_RLP_LANGUAGE_TEST_BTROOT=/opt/basis
test_flags: "\"--mongodSetParameters={use3dot2InitialSync: true, initialSyncOplogBuffer: \"inMemoryBlockingQueue\"}\""
- compile_flags: --ssl MONGO_DISTMOD=rhel62 -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy CPPPATH="/opt/basis/rlp/rlp/include /opt/basis/rlp/utilities/include" --use-basis-tech-rosette-linguistics-platform=on
+ compile_flags: --ssl MONGO_DISTMOD=rhel62 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars CPPPATH="/opt/basis/rlp/rlp/include /opt/basis/rlp/utilities/include" --use-basis-tech-rosette-linguistics-platform=on
num_jobs_available: $(grep -c ^processor /proc/cpuinfo)
use_scons_cache: true
build_mongoreplay: true
diff --git a/etc/scons/mongodbtoolchain_clang.vars b/etc/scons/mongodbtoolchain_clang.vars
new file mode 100644
index 00000000000..791a44745ca
--- /dev/null
+++ b/etc/scons/mongodbtoolchain_clang.vars
@@ -0,0 +1,22 @@
+# Configures the build to use the Clang toolchain in /opt/mongodbtoolchain/v2
+
+import os
+import SCons.Defaults
+
+# Get the default SCons path as a list
+default_path = SCons.Defaults.DefaultEnvironment()['ENV']['PATH'].split(os.pathsep)
+
+# Put the toolchain path first so we prefer all tools from there in subprocs.
+ENV = {
+ 'PATH' : os.pathsep.join(['/opt/mongodbtoolchain/v2/bin'] + default_path)
+}
+
+# Set any Variables for Tools from the toolchain here. Technically, we
+# shouldn't need the full paths since SCons will find the toolchain
+# ones first, but we don't want to accidentally get the system version
+# if, say, the toolchain is missing. Also, it is clearer that we are
+# getting the right toolchain in build log output when the path is
+# printed for each compiler invocation.
+CC = '/opt/mongodbtoolchain/v2/bin/clang'
+CXX = '/opt/mongodbtoolchain/v2/bin/clang++'
+OBJCOPY = '/opt/mongodbtoolchain/v2/bin/objcopy'
diff --git a/etc/scons/mongodbtoolchain_gcc.vars b/etc/scons/mongodbtoolchain_gcc.vars
new file mode 100644
index 00000000000..061665d7d69
--- /dev/null
+++ b/etc/scons/mongodbtoolchain_gcc.vars
@@ -0,0 +1,22 @@
+# Configures the build to use the GCC toolchain in /opt/mongodbtoolchain/v2
+
+import os
+import SCons.Defaults
+
+# Get the default SCons path as a list
+default_path = SCons.Defaults.DefaultEnvironment()['ENV']['PATH'].split(os.pathsep)
+
+# Put the toolchain path first so we prefer all tools from there in subprocs
+ENV = {
+ 'PATH' : os.pathsep.join(['/opt/mongodbtoolchain/v2/bin'] + default_path)
+}
+
+# Set any Variables for Tools from the toolchain here. Technically, we
+# shouldn't need the full paths since SCons will find the toolchain
+# ones first, but we don't want to accidentally get the system version
+# if, say, the toolchain is missing. Also, it is clearer that we are
+# getting the right toolchain in build log output when the path is
+# printed for each compiler invocation.
+CC = '/opt/mongodbtoolchain/v2/bin/gcc'
+CXX = '/opt/mongodbtoolchain/v2/bin/g++'
+OBJCOPY = '/opt/mongodbtoolchain/v2/bin/objcopy'
diff --git a/etc/scons/xcode_ios.vars b/etc/scons/xcode_ios.vars
new file mode 100644
index 00000000000..0f9986ccb97
--- /dev/null
+++ b/etc/scons/xcode_ios.vars
@@ -0,0 +1,15 @@
+# Configures the build to use XCode targeting iOS
+
+import subprocess
+
+CC = subprocess.check_output(['xcrun', '-f', '--sdk', 'iphoneos', 'clang']).strip()
+CXX = subprocess.check_output(['xcrun', '-f', '--sdk', 'iphoneos', 'clang++']).strip()
+
+sdk_path = subprocess.check_output(['xcrun', '--sdk', 'iphoneos', '--show-sdk-path']).strip()
+
+CCFLAGS = "-isysroot {} -miphoneos-version-min=10.2 -arch arm64".format(sdk_path)
+LINKFLAGS = "-Wl,-syslibroot,{} -miphoneos-version-min=10.2 -arch arm64".format(sdk_path)
+
+TARGET_OS = "iOS"
+TARGET_ARCH = "aarch64"
+
diff --git a/etc/scons/xcode_ios_sim.vars b/etc/scons/xcode_ios_sim.vars
new file mode 100644
index 00000000000..bcc46547069
--- /dev/null
+++ b/etc/scons/xcode_ios_sim.vars
@@ -0,0 +1,13 @@
+# Configures the build to use XCode targeting iOS simulator
+
+import subprocess
+
+CC = subprocess.check_output(['xcrun', '-f', '--sdk', 'iphonesimulator', 'clang']).strip()
+CXX = subprocess.check_output(['xcrun', '-f', '--sdk', 'iphonesimulator', 'clang++']).strip()
+
+sdk_path = subprocess.check_output(['xcrun', '--sdk', 'iphonesimulator', '--show-sdk-path']).strip()
+
+CCFLAGS = "-isysroot {} -miphoneos-version-min=10.2".format(sdk_path)
+LINKFLAGS = "-Wl,-syslibroot,{} -miphoneos-version-min=10.2".format(sdk_path)
+
+TARGET_OS = "iOS-sim"
diff --git a/etc/scons/xcode_macosx.vars b/etc/scons/xcode_macosx.vars
new file mode 100644
index 00000000000..865a4f1184c
--- /dev/null
+++ b/etc/scons/xcode_macosx.vars
@@ -0,0 +1,11 @@
+# Configures the build to use XCode targeting macOS
+
+import subprocess
+
+CC = subprocess.check_output(['xcrun', '-f', '--sdk', 'macosx', 'clang']).strip()
+CXX = subprocess.check_output(['xcrun', '-f', '--sdk', 'macosx', 'clang++']).strip()
+
+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)
diff --git a/etc/scons/xcode_tvos.vars b/etc/scons/xcode_tvos.vars
new file mode 100644
index 00000000000..e8ea05e926b
--- /dev/null
+++ b/etc/scons/xcode_tvos.vars
@@ -0,0 +1,14 @@
+# Configures the build to use XCode targeting tvOS
+
+import subprocess
+
+CC = subprocess.check_output(['xcrun', '-f', '--sdk', 'appletvos', 'clang']).strip()
+CXX = subprocess.check_output(['xcrun', '-f', '--sdk', 'appletvos', 'clang++']).strip()
+
+sdk_path = subprocess.check_output(['xcrun', '--sdk', 'appletvos', '--show-sdk-path']).strip()
+
+CCFLAGS = "-isysroot {} -mtvos-version-min=10.1 -arch arm64".format(sdk_path)
+LINKFLAGS = "-Wl,-syslibroot,{} -mtvos-version-min=10.1 -arch arm64".format(sdk_path)
+
+TARGET_OS = "tvOS"
+TARGET_ARCH = "aarch64"
diff --git a/etc/scons/xcode_tvos_sim.vars b/etc/scons/xcode_tvos_sim.vars
new file mode 100644
index 00000000000..e66c63da547
--- /dev/null
+++ b/etc/scons/xcode_tvos_sim.vars
@@ -0,0 +1,13 @@
+# Configures the build to use XCode targeting tvOS simulator
+
+import subprocess
+
+CC = subprocess.check_output(['xcrun', '-f', '--sdk', 'appletvsimulator', 'clang']).strip()
+CXX = subprocess.check_output(['xcrun', '-f', '--sdk', 'appletvsimulator', 'clang++']).strip()
+
+sdk_path = subprocess.check_output(['xcrun', '--sdk', 'appletvsimulator', '--show-sdk-path']).strip()
+
+CCFLAGS = "-isysroot {} -mtvos-version-min=10.1".format(sdk_path)
+LINKFLAGS = "-Wl,-syslibroot,{} -mtvos-version-min=10.1".format(sdk_path)
+
+TARGET_OS = "tvOS-sim"