summaryrefslogtreecommitdiff
path: root/site_scons
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* SERVER-49141 Ensure that LIBDEPS for libunwind do not accidentally become publicAndrew Morrow2020-06-294-5/+5
|
* SERVER-48966 Added sources to the ninja tool for reinvokation targets, skip ↵Daniel Moody2020-06-251-7/+33
| | | | Python.Value nodes.
* SERVER-48289 Ignore unused compiler flagsRyan Egesdahl2020-05-291-0/+9
| | | | | | | | | Some compiler flags passed in from the environment can cause icecc to only build locally because the compiler gives an error saying the flag is not supported. It may also have been causing problems with using ccache in general. There may be other negative behaviors that we don't know of that haven't been reported yet. This wasn't a problem in the older Ninja build system, but it is in the newer one.
* SERVER-47776 Promote ninja_next.py to ninja.pyAndrew Morrow2020-05-281-147/+205
|
* SERVER-48454 Ignore [UN]CHANGED_[SOURCES|TARGETS] during ninja generationAndrew Morrow2020-05-281-0/+10
|
* SERVER-48348 Do not sort dwo files in ahead of object files during Ninja ↵Andrew Morrow2020-05-261-2/+11
| | | | generation
* SERVER-47905 Handle all setup cases in icecream.py correctlyAndrew Morrow2020-05-041-73/+81
|
* SERVER-47904 Python jobs should flow through icerunAndrew Morrow2020-05-041-9/+18
|
* SERVER-47903 Disable ccache and icecc for conftest jobsAndrew Morrow2020-05-042-5/+34
|
* SERVER-47901 Require ccache when using icecream 1.1 and ninjaAndrew Morrow2020-05-041-0/+3
|
* SERVER-47865 Fix invalid subst where a variable was passed where a node is ↵Andrew Morrow2020-05-011-2/+8
| | | | required
* SERVER-47818 Repair test execution aliases in hygienic modeAndrew Morrow2020-04-291-5/+4
|
* SERVER-47637 Relicense all SCons tools to either MIT or SSPLAndrew Morrow2020-04-2834-205/+636
|
* SERVER-45785 Simplify implementation of DESTDIRAndrew Morrow2020-04-272-55/+21
| | | | | | | Also: - Correctly honor default targets in hygienic mode. - Fix a latent variable reuse bug in auto_install_pseudobuilder
* SERVER-46519 Do not force a global rebuild on ninja regenerationAndrew Morrow2020-04-271-8/+8
|
* SERVER-47721 Make generated ninja file deterministicAndrew Morrow2020-04-271-8/+18
|