0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-12-01 09:32:32 +01:00
Commit Graph

215 Commits

Author SHA1 Message Date
Mark Benvenuto
7759f590c0 SERVER-52613 Support Enterprise module imports in IDL 2020-11-20 20:20:40 +00:00
Daniel Moody
f4902aa0d3 SERVER-48691 added workaround for ninja response files line to long 2020-11-20 05:12:30 +00:00
Daniel Moody
84a7bc6af3 SERVER-25822 added callback to support preventing given components from linking together 2020-11-12 05:21:52 +00:00
Ryan Egesdahl
96ffd10925 SERVER-51692 Add linting check for unittest names
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.
2020-11-12 05:00:36 +00:00
Daniel Moody
083ef9b23f SERVER-52585 added global keyword to correctly track idl dependencies 2020-11-03 15:57:28 +00:00
Daniel Moody
4e93e490d4 SERVER-51194 Added build-tools next evergreen tasks 2020-10-26 20:04:53 +00:00
Daniel Moody
298d4d6bbb SERVER-38289 Teach objects builders how to build idl files. 2020-10-22 00:55:19 +00:00
Daniel Moody
f7308b157e SERVER-34484 added out of tree support for idl generation. 2020-10-21 21:52:03 +00:00
Daniel Moody
899679127a SERVER-49798 Added LIBDEPS_TYPEINFO for ubsan builds to add typeinfo dependencies. 2020-10-09 03:22:14 +00:00
Ryan Egesdahl
78bb3f3c8a SERVER-50363 Merge --build-tools=next into stable
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
2020-10-06 02:57:27 +00:00
Daniel Moody
9a2d87bdd4 SERVER-50376 Ninja should rebuild on compiler and tool changes 2020-09-21 14:49:36 +00:00
Kaloian Manassiev
b397d8da37 Revert "SERVER-50376 Ninja should rebuild on compiler and tool changes"
This reverts commit 58fd67fc22.
2020-09-09 07:04:16 +00:00
Ryan Egesdahl
58fd67fc22 SERVER-50376 Ninja should rebuild on compiler and tool changes
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.
2020-09-09 02:44:01 +00:00
Ryan Egesdahl
6ac9d725e9 Revert "SERVER-50376 Ninja should rebuild on compiler and tool changes"
This reverts commit 4d43e298fe.
2020-09-04 04:57:07 +00:00
Ryan Egesdahl
4d43e298fe SERVER-50376 Ninja should rebuild on compiler and tool changes
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.
2020-09-03 22:33:38 +00:00
Ryan Egesdahl
37276b21f4 SERVER-50125 Add sanitizer blacklist files to CCACHE_EXTRAFILES
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
2020-09-03 19:55:42 +00:00
Ryan Egesdahl
ecc06d2978 SERVER-47943 Make bad icecream and ccache paths fail hard
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.
2020-09-03 19:38:16 +00:00
Andrew Morrow
c4aa65bbd5 SERVER-50689 Support ABI driven linking on macOS with tapi 2020-09-03 17:11:08 +00:00
Andrew Morrow
b478d31b7d SERVER-27507 Add basic visibility support and a test 2020-09-02 03:02:47 +00:00
Andrew Morrow
9339181a83 SERVER-50674 Don't strip local symbols on darwin 2020-09-02 03:02:47 +00:00
Daniel Moody
a81e107047 SERVER-49168 made SYSLIBDEPS_PRIVATE type and switched lzma to use it 2020-08-27 21:35:32 +00:00
Daniel Moody
ad84ed6435 SERVER-49703 Added libdep linter alphabetic rule and update all libdeps list to be alphabetical 2020-08-27 06:21:15 +00:00
Daniel Moody
fff9061086 SERVER-50010 Added mechanism for custom deps for REGENERATE rule 2020-08-26 16:16:36 +00:00
Andrew Morrow
0662433ac0 SERVER-47598 Refactor ICECC_VERSION handling 2020-08-18 17:21:36 +00:00
Andrew Morrow
c40e96ea0b SERVER-49466 Introduce a flag to opt in to newer mongodb SCons tools as a group 2020-08-17 22:09:57 +00:00
Daniel Moody
a78139a155 SERVER-49457 Ninja tool static links should delete existing archive before linking" 2020-08-14 05:07:11 +00:00
Daniel Moody
3202a05352 SERVER-49493 Add use of depfile to ninja tool 2020-07-29 20:20:31 +00:00
Ryan Egesdahl
cdab099b95 SERVER-48041 Package santizer blacklist files in icecream environments
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.
2020-07-24 17:35:55 +00:00
Ryan Egesdahl
f69c932697 SERVER-48443 Fix builds with Icecream 1.2+ and gcc 4.4+
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
2020-07-17 21:33:57 +00:00
Ryan Egesdahl
4635320ea1 Revert "SERVER-48443 Fix builds with Icecream 1.2+ and gcc 4.4+"
This reverts commit 01dd381f33.
2020-07-17 21:20:27 +00:00
Ryan Egesdahl
01dd381f33 SERVER-48443 Fix builds with Icecream 1.2+ and gcc 4.4+
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
2020-07-14 23:45:39 +00:00
Daniel Moody
b9f0132fc5 SERVER-49016 added check for icecream version and handle missing cpuinfo 2020-07-10 17:03:54 +00:00
Ryan Egesdahl
c7348f3911 SERVER-48885 Environment variables values with spaces can cause build failures
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.
2020-07-09 20:28:41 +00:00
Andrew Morrow
e072f83477 SERVER-47277 Remove non-hygienic build support 2020-07-08 11:42:42 +00:00
Daniel Moody
5fe923a0aa SERVER-49036 expand response files for generating the compdb from ninja 2020-07-02 21:19:39 +00:00
Andrew Morrow
5394c832f0 SERVER-49141 Ensure that LIBDEPS for libunwind do not accidentally become public 2020-06-29 18:00:54 +00:00
Daniel Moody
21075112a9 SERVER-48966 Added sources to the ninja tool for reinvokation targets, skip Python.Value nodes. 2020-06-25 20:48:48 +00:00
Ryan Egesdahl
1248eaec6e SERVER-48289 Ignore unused compiler flags
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.
2020-05-29 19:09:40 +00:00
Andrew Morrow
463d6ccc4d SERVER-47776 Promote ninja_next.py to ninja.py 2020-05-28 22:19:41 +00:00
Andrew Morrow
a7541c60e5 SERVER-48454 Ignore [UN]CHANGED_[SOURCES|TARGETS] during ninja generation 2020-05-28 17:35:43 +00:00
Andrew Morrow
18cbf0d581 SERVER-48348 Do not sort dwo files in ahead of object files during Ninja generation 2020-05-26 17:03:48 +00:00
Andrew Morrow
c3fc5c001c SERVER-47905 Handle all setup cases in icecream.py correctly 2020-05-04 20:42:40 +00:00
Andrew Morrow
b06280cbd0 SERVER-47904 Python jobs should flow through icerun 2020-05-04 20:42:40 +00:00
Andrew Morrow
765451d392 SERVER-47903 Disable ccache and icecc for conftest jobs 2020-05-04 20:42:40 +00:00
Andrew Morrow
2f4044b526 SERVER-47901 Require ccache when using icecream 1.1 and ninja 2020-05-04 20:42:40 +00:00
Andrew Morrow
e3e70da6c4 SERVER-47865 Fix invalid subst where a variable was passed where a node is required 2020-05-01 17:32:47 +00:00
Andrew Morrow
0b50b48a2b SERVER-47818 Repair test execution aliases in hygienic mode 2020-04-29 02:04:30 +00:00
Andrew Morrow
77162e6d10 SERVER-47637 Relicense all SCons tools to either MIT or SSPL 2020-04-28 02:02:53 +00:00
Andrew Morrow
404e44ce81 SERVER-45785 Simplify implementation of DESTDIR
Also:

- Correctly honor default targets in hygienic mode.
- Fix a latent variable reuse bug in auto_install_pseudobuilder
2020-04-27 22:19:56 +00:00
Andrew Morrow
dc11650712 SERVER-46519 Do not force a global rebuild on ninja regeneration 2020-04-27 21:02:45 +00:00