diff options
-rw-r--r-- | SConstruct | 10 | ||||
-rw-r--r-- | docs/building.md | 10 | ||||
-rw-r--r-- | etc/evergreen.yml | 15 |
3 files changed, 19 insertions, 16 deletions
diff --git a/SConstruct b/SConstruct index eb6d1ab76f3..c675e58f518 100644 --- a/SConstruct +++ b/SConstruct @@ -1716,14 +1716,14 @@ def doConfigure(myenv): # bare compilers, and we should re-check at the very end that TryCompile and TryLink still # work with the flags we have selected. if myenv.ToolchainIs('msvc'): - compiler_minimum_string = "Microsoft Visual Studio 2015 Update 2" + compiler_minimum_string = "Microsoft Visual Studio 2015 Update 3" compiler_test_body = textwrap.dedent( """ #if !defined(_MSC_VER) #error #endif - #if _MSC_VER < 1900 || (_MSC_VER == 1900 && _MSC_FULL_VER < 190023918) + #if _MSC_VER < 1900 || (_MSC_VER == 1900 && _MSC_FULL_VER < 190024218) #error %s or newer is required to build MongoDB #endif @@ -1748,7 +1748,7 @@ def doConfigure(myenv): } """ % compiler_minimum_string) elif myenv.ToolchainIs('clang'): - compiler_minimum_string = "clang 3.6 (or Apple XCode 6.3.0)" + compiler_minimum_string = "clang 3.8 (or Apple XCode 8.3.2)" compiler_test_body = textwrap.dedent( """ #if !defined(__clang__) @@ -1756,10 +1756,10 @@ def doConfigure(myenv): #endif #if defined(__apple_build_version__) - #if __apple_build_version__ < 6020049 + #if __apple_build_version__ < 8020042 #error %s or newer is required to build MongoDB #endif - #elif (__clang_major__ < 3) || (__clang_major__ == 3 && __clang_minor__ < 6) + #elif (__clang_major__ < 3) || (__clang_major__ == 3 && __clang_minor__ < 8) #error %s or newer is required to build MongoDB #endif diff --git a/docs/building.md b/docs/building.md index dedb459f9d5..2a746414331 100644 --- a/docs/building.md +++ b/docs/building.md @@ -5,8 +5,8 @@ To build MongoDB, you will need: * A modern C++ compiler. One of the following is required. * GCC 5.4.0 or newer - * Clang 3.7 (or Apple XCode 7.0.2 Clang) or newer - * Visual Studio 2015 Update 2 or newer (See Windows section below for details) + * Clang 3.8 (or Apple XCode 8.3.2 Clang) or newer + * Visual Studio 2015 Update 3 or newer (See Windows section below for details) * Python 2.7.x and Pip modules: * pyyaml * typing @@ -71,9 +71,9 @@ Build requirements: * Visual Studio 2015 Update 2 or newer * Python 2.7, ActiveState ActivePython 2.7.x Community Edition for Windows is recommended -If using VS 2015 Update 3, a hotfix is required to build the unit tests. See -https://support.microsoft.com/en-us/help/3207317/visual-c-optimizer-fixes-for-visual-studio-2015-update-3 -for details. +If using VS 2015 Update 3, two hotfixes are required to build. For details, see: +* https://support.microsoft.com/en-us/help/3207317/visual-c-optimizer-fixes-for-visual-studio-2015-update-3 +* https://support.microsoft.com/en-za/help/4020481/fix-link-exe-crashes-with-a-fatal-lnk1000-error-when-you-use-wholearch Or download a prebuilt binary for Windows at www.mongodb.org. diff --git a/etc/evergreen.yml b/etc/evergreen.yml index 9c746c15311..ccaa6eba093 100644 --- a/etc/evergreen.yml +++ b/etc/evergreen.yml @@ -1362,7 +1362,7 @@ tasks: rm -rf ${install_directory|/data/mongo-install-directory} - ${python|/opt/mongodbtoolchain/v2/bin/python2} ./buildscripts/scons.py ${compile_flags|} ${scons_cache_args|} --use-new-tools --build-mongoreplay="${build_mongoreplay}" core tools dbtest integration_tests dist dist-debugsymbols distsrc-${ext|tgz} ${msi_target|} MONGO_VERSION=${version} + ${compile_env|} ${python|/opt/mongodbtoolchain/v2/bin/python2} ./buildscripts/scons.py ${compile_flags|} ${scons_cache_args|} --use-new-tools --build-mongoreplay="${build_mongoreplay}" core tools dbtest integration_tests dist dist-debugsymbols distsrc-${ext|tgz} ${msi_target|} MONGO_VERSION=${version} mv mongodb-src-*.${ext|tgz} distsrc.${ext|tgz} mv mongodb-*-debugsymbols.${ext|tgz} mongo-debugsymbols.tgz || true @@ -1505,7 +1505,7 @@ tasks: rm -rf ${install_directory|/data/mongo-install-directory} - ${python|/opt/mongodbtoolchain/v2/bin/python2} ./buildscripts/scons.py ${compile_flags|} ${scons_cache_args|} --use-new-tools --build-mongoreplay="${build_mongoreplay}" all ${additional_targets|} MONGO_VERSION=${version} + ${compile_env|} ${python|/opt/mongodbtoolchain/v2/bin/python2} ./buildscripts/scons.py ${compile_flags|} ${scons_cache_args|} --use-new-tools --build-mongoreplay="${build_mongoreplay}" all ${additional_targets|} MONGO_VERSION=${version} - command: s3.put params: @@ -1540,7 +1540,7 @@ tasks: set -o errexit set -o verbose - ${python|/opt/mongodbtoolchain/v2/bin/python2} ./buildscripts/scons.py ${compile_flags|} --stack-size=1024 lint + ${compile_env|} ${python|/opt/mongodbtoolchain/v2/bin/python2} ./buildscripts/scons.py ${compile_flags|} --stack-size=1024 lint - <<: *task_template name: burn_in_tests @@ -5475,6 +5475,7 @@ buildvariants: push_arch: x86_64 tooltags: "-tags ssl" gorootvars: CGO_CPPFLAGS=-I/opt/mongodbtoolchain/v2/include CGO_CFLAGS=-mmacosx-version-min=10.10 CGO_LDFLAGS=-mmacosx-version-min=10.10 + compile_env: DEVELOPER_DIR=/Applications/Xcode8.3.app compile_flags: --ssl --allocator=system -j$(sysctl -n hw.logicalcpu) --release --libc++ CCFLAGS="-mmacosx-version-min=10.10" LINKFLAGS="-mmacosx-version-min=10.10" CPPPATH=/opt/mongodbtoolchain/v2/include python: python2.7 num_jobs_available: 1 @@ -5583,6 +5584,7 @@ buildvariants: push_arch: x86_64 num_jobs_available: 1 gorootvars: CGO_CFLAGS=-mmacosx-version-min=10.10 CGO_LDFLAGS=-mmacosx-version-min=10.10 + compile_env: DEVELOPER_DIR=/Applications/Xcode8.3.app compile_flags: --dbg=on --opt=on --allocator=system -j$(sysctl -n hw.logicalcpu) --libc++ CCFLAGS="-mmacosx-version-min=10.10" LINKFLAGS="-mmacosx-version-min=10.10" python: python2.7 build_mongoreplay: true @@ -5628,6 +5630,7 @@ buildvariants: push_arch: x86_64-enterprise tooltags: "-tags 'ssl sasl'" gorootvars: CGO_CPPFLAGS=-I/opt/mongodbtoolchain/v2/include CGO_CFLAGS=-mmacosx-version-min=10.10 CGO_LDFLAGS=-mmacosx-version-min=10.10 + compile_env: DEVELOPER_DIR=/Applications/Xcode8.3.app compile_flags: --ssl --allocator=system -j$(sysctl -n hw.logicalcpu) --release --libc++ CCFLAGS="-mmacosx-version-min=10.10" LINKFLAGS="-mmacosx-version-min=10.10" CPPPATH=/opt/mongodbtoolchain/v2/include python: python2.7 num_jobs_available: 1 @@ -6945,8 +6948,8 @@ buildvariants: - name: push -- name: enterprise-ubuntu1604-clang-3.7-libcxx - display_name: "! Enterprise Ubuntu 16.04 (Clang 3.7/libc++)" +- name: enterprise-ubuntu1604-clang-3.8-libcxx + display_name: "! Enterprise Ubuntu 16.04 (Clang 3.8)" modules: - enterprise run_on: @@ -6954,7 +6957,7 @@ buildvariants: expansions: gorootvars: GOROOT=/opt/go PATH="/opt/go/bin:$PATH" tooltags: "-tags 'ssl sasl'" - compile_flags: --link-model=dynamic --ssl CC=/usr/bin/clang-3.7 CXX=/usr/bin/clang++-3.7 --libc++ -j$(grep -c ^processor /proc/cpuinfo) CPPPATH=/usr/include/libcxxabi/ + compile_flags: --link-model=dynamic --ssl CC=/usr/bin/clang-3.8 CXX=/usr/bin/clang++-3.8 -j$(grep -c ^processor /proc/cpuinfo) CPPPATH=/usr/include/libcxxabi/ use_scons_cache: true build_mongoreplay: true tasks: |