summaryrefslogtreecommitdiff
path: root/site_scons
Commit message (Collapse)AuthorAgeFilesLines
...
* SERVER-49298 Add proof targets for out of date test executionAndrew Morrow2021-01-154-3/+184
|
* SERVER-30815 Added linter to check for unnecessary PUBLIC libdeps, and added ↵Daniel Moody2020-12-161-22/+62
| | | | schema versioning.
* SERVER-48291 Ensure runtime is dynamically linked in dynamic buildsRyan Egesdahl2020-12-091-6/+22
| | | | | | | | | | | | | | | | | | Prior to this point, a dynamic build might have resulted in some runtime libraries being statically linked into shared objects and executables in cases where "shared" runtime libraries were actually linker scripts that linked static versions. This was the case with the MongoDB toolchain and some distro toolchains, including those installed as updated compiler versions in RHEL. The effect of having runtime libraries statically linked was that symbols from those libraries would end up scattered over the compiled objects, increasing object sizes and slowing down server startup. Now, whenever a dynamic build is selected, the user can choose whether to create "shim" runtime libraries that wrap the static ones. The default behavior remains as it was before, and dynamic runtime must be enabled in order to use it.
* SERVER-48291 Add global dependency pushdown to libdepsRyan Egesdahl2020-11-261-216/+323
| | | | | | | | | | | | | | | | | We sometimes have situations where a dependency applies at a large scope, such as in the case of tcmalloc, which can apply everywhere. What we have done previously is to hack these dependencies into the LIBDEPS environment variable by adding a builder to all nodes that can produce a compiler result. This is, as stated previously, hackish and hard to control, and it results in adding a Public dependency to all those nodes. What we now do instead is to define LIBDEPS_GLOBAL on the *build environment* (not the Builder node) listing the targets we would like to push down to all other nodes below that point. This has the effect of adding those targets as Private dependencies on all Builder nodes from that point downward, which means some common Public dependencies can be converted to a Private dependency that is stated only once.
* SERVER-52567 added basic functions for graph analyzer CLI tool and improved ↵Daniel Moody2020-11-251-31/+79
| | | | graph generation.
* SERVER-52613 Support Enterprise module imports in IDLMark Benvenuto2020-11-201-1/+8
|
* SERVER-48691 added workaround for ninja response files line to longDaniel Moody2020-11-201-4/+15
|
* SERVER-52566 added generate-libdeps-graph target for building graph of ↵Daniel Moody2020-11-161-1/+112
| | | | library dependencies.
* SERVER-25822 added callback to support preventing given components from ↵Daniel Moody2020-11-124-4/+4
| | | | linking together
* SERVER-51692 Add linting check for unittest namesRyan Egesdahl2020-11-121-0/+7
| | | | | | | We discovered in SERVER-50852 that when unit test binary names do not end with "_test" it can cause problems with the hang check analyzer. To prevent such occurrences in the future, all CppUnitTest targets must will be checked to ensure they are named correctly.
* SERVER-52585 added global keyword to correctly track idl dependenciesDaniel Moody2020-11-031-0/+1
|
* SERVER-51194 Added build-tools next evergreen tasksDaniel Moody2020-10-262-2/+11
|
* SERVER-38289 Teach objects builders how to build idl files.Daniel Moody2020-10-221-1/+1
|
* SERVER-34484 added out of tree support for idl generation.Daniel Moody2020-10-211-1/+4
|
* SERVER-46871 Added configure check for lzma when libunwind is in useDaniel Moody2020-10-151-4/+5
|
* SERVER-49798 Added LIBDEPS_TYPEINFO for ubsan builds to add typeinfo ↵Daniel Moody2020-10-092-8/+105
| | | | dependencies.
* SERVER-51318 Explicitly set pre/post libdeps flags to be set to nothing.Daniel Moody2020-10-061-0/+1
|
* SERVER-50363 Merge --build-tools=next into stableRyan Egesdahl2020-10-063-248/+641
| | | | | | | | | | | | | | | Merging the following fixes into the stable version of the build tools and migrate fully from --ninja=next to the --build-tools=next: * SERVER-47598 * SERVER-50010 * SERVER-47943 * SERVER-50125 * SERVER-50376 * SERVER-49457 * SERVER-49493 * SERVER-49036 * SERVER-48966
* SERVER-50258 Added libdeps rule to enforce that DEPS_DEPENDENTS are actually ↵Daniel Moody2020-09-251-0/+1033
| | | | built and split libdeps into next version
* SERVER-50376 Ninja should rebuild on compiler and tool changesDaniel Moody2020-09-212-8/+51
|
* Revert "SERVER-50376 Ninja should rebuild on compiler and tool changes"Kaloian Manassiev2020-09-092-25/+9
| | | | This reverts commit 58fd67fc2232a4ca591ff66443fd22213d4b5cac.
* SERVER-50376 Ninja should rebuild on compiler and tool changesRyan Egesdahl2020-09-092-9/+25
| | | | | | | Allow Ninja to rebuild build.ninja any time a SCons tool or the compiler is changed between iterative rebuilds. This change allows us to ensure that we don't have any stale object files lying around that may have been produced by an incompatible toolchain.
* Revert "SERVER-50376 Ninja should rebuild on compiler and tool changes"Ryan Egesdahl2020-09-042-25/+9
| | | | This reverts commit 4d43e298fe956c57b3cb0310bcd0785c19f75ef7.
* SERVER-50376 Ninja should rebuild on compiler and tool changesRyan Egesdahl2020-09-032-9/+25
| | | | | | | Allow Ninja to rebuild build.ninja any time a SCons tool or the compiler is changed between iterative rebuilds. This change allows us to ensure that we don't have any stale object files lying around that may have been produced by an incompatible toolchain.
* SERVER-50125 Add sanitizer blacklist files to CCACHE_EXTRAFILESRyan Egesdahl2020-09-031-0/+10
| | | | | | | | | | | | | | | Some versions of ccache do not know how to handle clang's -fsanitizer-blacklist flags. Some versions don't handle it at all, while others only handle one instance, even though it can appear multiple times on the command line. Because the argument can change the resulting compiled object, not taking the flags into account properly can cause ccache to pull an incorrect object file from its cache. The exact behavior depends on the ccache version and how the arguments are changed on the command line. We implement a workaround suggested by the ccache developers until a newer version of ccache with all the required fixes is in common use. * Workaround ref: https://github.com/ccache/ccache/issues/174
* SERVER-47943 Make bad icecream and ccache paths fail hardRyan Egesdahl2020-09-032-96/+264
| | | | | | | | If CCACHE or ICECC are specified on the SCons command line but the paths given don't exist, the associated tool would simply be skipped. This caused confusion when users were expecting the tool to run and the compile would proceed without it. Now specifying an incorrect path to the tool will cause a configure failure.
* SERVER-50689 Support ABI driven linking on macOS with tapiAndrew Morrow2020-09-031-0/+108
|
* SERVER-27507 Add basic visibility support and a testAndrew Morrow2020-09-022-4/+12
|
* SERVER-50674 Don't strip local symbols on darwinAndrew Morrow2020-09-021-1/+1
|
* SERVER-49168 made SYSLIBDEPS_PRIVATE type and switched lzma to use itDaniel Moody2020-08-272-50/+61
|
* SERVER-49703 Added libdep linter alphabetic rule and update all libdeps list ↵Daniel Moody2020-08-275-8/+45
| | | | to be alphabetical
* SERVER-49119 Added way for libdeps to generically handle prefix/postfix ↵Daniel Moody2020-08-271-33/+153
| | | | flags, moved --whole-archive out to SConstruct and add --as-needed for dynamic
* SERVER-50010 Added mechanism for custom deps for REGENERATE ruleDaniel Moody2020-08-261-7/+25
|
* SERVER-49760 Added libdep lint rule to enforce no public libdeps.Daniel Moody2020-08-251-0/+24
|
* SERVER-49761 Added libdeps rule for leaf node no dependenciesDaniel Moody2020-08-211-3/+30
|
* SERVER-47598 Refactor ICECC_VERSION handlingAndrew Morrow2020-08-182-3/+568
|
* SERVER-49466 Introduce a flag to opt in to newer mongodb SCons tools as a groupAndrew Morrow2020-08-171-0/+0
|
* SERVER-48638 added missing quote to error messageDaniel Moody2020-08-151-1/+1
|
* SERVER-49457 Ninja tool static links should delete existing archive before ↵Daniel Moody2020-08-141-1/+9
| | | | linking"
* SERVER-49493 Add use of depfile to ninja toolDaniel Moody2020-07-291-16/+62
|
* SERVER-49799 Switched libdeps environment vars to single location in an ↵Daniel Moody2020-07-281-36/+43
| | | | internal CONST class.
* SERVER-48041 Package santizer blacklist files in icecream environmentsRyan Egesdahl2020-07-241-9/+0
| | | | | | | | Before this point, remote builds did not work because Icecream did not copy sanitizer blacklist files to the remote hosts. We had a check in place that silently turned Icecream builds with sanitizers into local builds. Now we build the sanitizer blacklist files into the environment tarball that Icecream uses for remote builds.
* SERVER-48638 Added LibdepsLinter to enforce LIBDEPS rulesDaniel Moody2020-07-231-37/+301
|
* SERVER-48443 Fix builds with Icecream 1.2+ and gcc 4.4+Ryan Egesdahl2020-07-172-9/+46
| | | | | | | | | | | A bug spotted in Icecream 1.2+ can cause build failures when building with gcc. This is, in turn, due to a bug in GCC where the preprocessor executed via `gcc -E` has different behavior than the one used internally during compilation. We are working with Icecream, and GCC to address these problems. For now, we work around the bugs. * GCC bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88475 * Icecream bug report: icecc/icecream#550
* Revert "SERVER-48443 Fix builds with Icecream 1.2+ and gcc 4.4+"Ryan Egesdahl2020-07-172-48/+42
| | | | This reverts commit 01dd381f3359c44bbc9338d91371d1ff823bb7d8.
* SERVER-48443 Fix builds with Icecream 1.2+ and gcc 4.4+Ryan Egesdahl2020-07-142-42/+48
| | | | | | | | | | | A bug spotted in Icecream 1.2+ can cause build failures when building with gcc. This is, in turn, due to a bug in GCC where the preprocessor executed via `gcc -E` has different behavior than the one used internally during compilation. We are working with Icecream, and GCC to address these problems. For now, we work around the bugs. * GCC bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88475 * Icecream bug report: https://github.com/icecc/icecream/issues/550
* SERVER-49016 added check for icecream version and handle missing cpuinfoDaniel Moody2020-07-101-2/+33
|
* SERVER-48885 Environment variables values with spaces can cause build failuresRyan Egesdahl2020-07-091-1/+7
| | | | | | | | | | If any environment variable (including PATH) were to somehow make its way into your build.ninja, it would cause build failures due to the fact that the shell splits it into separate arguments. This can happen sometimes especially on OSX, where the PATHOSX environment variable gets (incorrectly) copied by SCons into the current build environment. Regardless of whatever SCons should be doing, we will quote environment variable values in Ninja builds to ensure it doesn't happen again.
* SERVER-47277 Remove non-hygienic build supportAndrew Morrow2020-07-082-17/+0
|
* SERVER-49036 expand response files for generating the compdb from ninjaDaniel Moody2020-07-021-2/+26
|