summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--SConstruct8
-rw-r--r--etc/evergreen.yml19
2 files changed, 27 insertions, 0 deletions
diff --git a/SConstruct b/SConstruct
index c5113604c86..03b6d302f82 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1031,6 +1031,10 @@ env_vars.Add('SHLINKFLAGS',
help='Sets flags for the linker when building shared libraries',
converter=variable_shlex_converter)
+env_vars.Add('SHLINKFLAGS_EXTRA',
+ help='Adds additional flags for shared links without overwriting tool configured SHLINKFLAGS values',
+ converter=variable_shlex_converter)
+
env_vars.Add('STRIP',
help='Path to the strip utility (non-darwin platforms probably use OBJCOPY for this)',
)
@@ -1805,6 +1809,10 @@ if not env.TargetOSIs('windows'):
env["LINKCOM"] = env["LINKCOM"].replace("$LINKFLAGS", "$PROGLINKFLAGS")
env["PROGLINKFLAGS"] = ['$LINKFLAGS']
+# When it is necessary to supply additional SHLINKFLAGS without modifying the toolset default,
+# following appends contents of SHLINKFLAGS_EXTRA variable to the linker command
+env.AppendUnique(SHLINKFLAGS=['$SHLINKFLAGS_EXTRA'])
+
if not env.Verbose():
env.Append( CCCOMSTR = "Compiling $TARGET" )
env.Append( CXXCOMSTR = env["CCCOMSTR"] )
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index 66f6e625e27..43d5f926bff 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -2772,6 +2772,7 @@ tasks:
--enterprise-features=fle
--js-engine=none
--link-model=dynamic-sdk
+ ${csfle_task_compile_flags}
DESTDIR='$BUILD_ROOT/csfle-lib-$MONGO_VERSION'
- command: s3.put
params:
@@ -7465,6 +7466,7 @@ buildvariants:
push_name: linux
push_arch: x86_64-enterprise-ubuntu1804
compile_flags: --ssl --ocsp-stapling=off MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
multiversion_platform: ubuntu1804
multiversion_edition: enterprise
test_flags: --excludeWithAnyTags=requires_ocsp_stapling
@@ -7550,6 +7552,7 @@ buildvariants:
push_name: linux
push_arch: aarch64-enterprise-ubuntu1804
compile_flags: --ssl --ocsp-stapling=off MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
test_flags: --excludeWithAnyTags=requires_ocsp_stapling
resmoke_jobs_max: 4 # Avoid starting too many mongod's on ARM test servers
has_packages: true
@@ -7697,6 +7700,7 @@ buildvariants:
push_name: linux
push_arch: x86_64-enterprise-ubuntu2004
compile_flags: --ssl MONGO_DISTMOD=ubuntu2004 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
multiversion_platform: ubuntu2004
multiversion_edition: enterprise
has_packages: true
@@ -7751,6 +7755,7 @@ buildvariants:
push_name: linux
push_arch: aarch64-enterprise-ubuntu2004
compile_flags: --ssl MONGO_DISTMOD=ubuntu2004 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
resmoke_jobs_max: 4 # Avoid starting too many mongod's on ARM test servers
has_packages: true
packager_script: packager_enterprise.py
@@ -8105,6 +8110,7 @@ buildvariants:
push_name: linux
push_arch: x86_64-enterprise-amzn64
compile_flags: --ssl MONGO_DISTMOD=amzn64 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux
multiversion_platform: amzn64
multiversion_edition: enterprise
@@ -8223,6 +8229,7 @@ buildvariants:
push_name: linux
push_arch: x86_64-enterprise-amazon2
compile_flags: --ssl MONGO_DISTMOD=amazon2 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
multiversion_platform: amazon2
multiversion_edition: enterprise
has_packages: true
@@ -8335,6 +8342,7 @@ buildvariants:
push_name: linux
push_arch: aarch64-enterprise-amazon2
compile_flags: --ssl MONGO_DISTMOD=amazon2 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
# TODO BUILD-13887 should fix uses_pykmip incompatibility.
test_flags: --excludeWithAnyTags=incompatible_with_amazon_linux,requires_ldap_pool,uses_pykmip
has_packages: true
@@ -9365,6 +9373,7 @@ buildvariants:
expansions: &enterprise-rhel-80-64-bit-dynamic-required-expansions
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
multiversion_platform: rhel80
multiversion_edition: enterprise
has_packages: false
@@ -9501,6 +9510,7 @@ buildvariants:
expansions: &enterprise-rhel-80-64-bit-dynamic-all-feature-flags-expansions
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
multiversion_platform: rhel80
multiversion_edition: enterprise
has_packages: false
@@ -9922,6 +9932,7 @@ buildvariants:
push_name: linux
push_arch: x86_64-enterprise-rhel70
compile_flags: --ssl MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
multiversion_platform: rhel70
multiversion_edition: enterprise
has_packages: true
@@ -10019,6 +10030,7 @@ buildvariants:
push_name: linux
push_arch: x86_64-enterprise-rhel80
compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
multiversion_platform: rhel80
multiversion_edition: enterprise
has_packages: true
@@ -10083,6 +10095,7 @@ buildvariants:
push_name: linux
push_arch: aarch64-enterprise-rhel82
compile_flags: --ssl MONGO_DISTMOD=rhel82 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
has_packages: true
packager_script: packager_enterprise.py
packager_arch: aarch64
@@ -10442,6 +10455,7 @@ buildvariants:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
# We need to compensate for SMT8 setting the cpu count very high and lower the amount of parallelism down
compile_flags: --ssl MONGO_DISTMOD=rhel81 -j$(echo "$(grep -c processor /proc/cpuinfo)/2" | bc) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
resmoke_jobs_factor: 0.25
has_packages: true
packager_script: packager_enterprise.py
@@ -10526,6 +10540,7 @@ buildvariants:
additional_package_targets: archive-mongocryptd archive-mongocryptd-debug
release_buid: true
compile_flags: --ssl MONGO_DISTMOD=rhel72 -j3 --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
resmoke_jobs_max: 2
has_packages: true
packager_script: packager_enterprise.py
@@ -10646,6 +10661,7 @@ buildvariants:
push_name: linux
push_arch: x86_64-enterprise-suse12
compile_flags: --ssl MONGO_DISTMOD=suse12 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
multiversion_platform: suse12
multiversion_edition: enterprise
has_packages: true
@@ -10747,6 +10763,7 @@ buildvariants:
push_name: linux
push_arch: x86_64-enterprise-suse15
compile_flags: --ssl MONGO_DISTMOD=suse15 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
has_packages: true
packager_script: packager_enterprise.py
packager_arch: x86_64
@@ -10846,6 +10863,7 @@ buildvariants:
push_name: linux
push_arch: x86_64-enterprise-debian92
compile_flags: --ssl MONGO_DISTMOD=debian92 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
num_scons_link_jobs_available: 0.0625
multiversion_platform: debian92
multiversion_edition: enterprise
@@ -10951,6 +10969,7 @@ buildvariants:
push_name: linux
push_arch: x86_64-enterprise-debian10
compile_flags: --ssl MONGO_DISTMOD=debian10 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ csfle_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic"
multiversion_platform: linux_x86_64
multiversion_edition: base
multiversion_platform_42_or_later: debian10