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

13 Commits

Author SHA1 Message Date
Andrew Morrow
77162e6d10 SERVER-47637 Relicense all SCons tools to either MIT or SSPL 2020-04-28 02:02:53 +00:00
Mathew Robinson
d4970df851 SERVER-45724 Make new generator as fast as old module 2020-01-24 16:08:37 +00:00
Mathew Robinson
16207c4fa7 SERVER-44947 Allow test execution selection by test source file name 2020-01-07 18:48:42 +00:00
Mathew Robinson
77fd09b418 Revert "SERVER-44947 Allow test execution selection by test source file name" 2020-01-06 19:53:40 +00:00
Mathew Robinson
7099b048c2 SERVER-44947 Allow test execution selection by test source file name 2020-01-06 17:03:45 +00:00
Mathew Robinson
f659b76958
SERVER-42408 Add build.ninja generation to SCons 2019-08-06 18:06:49 -04:00
Mathew Robinson
8dd6d47557 SERVER-32295 Support Python 3 2019-04-08 14:08:49 -04:00
Andrew Morrow
47ab234e91 SERVER-33911 Implement collapsed library builds under a new link model 2018-09-12 16:10:41 -04:00
Andrew Morrow
41046adf0e SERVER-27380 Revert "Revert "SERVER-27380 Re-enable the thin archive tool""
This reverts commit b4e14a64d7.
2017-05-25 12:12:50 -04:00
Max Hirschhorn
b4e14a64d7 Revert "SERVER-27380 Re-enable the thin archive tool"
This reverts commit 3e1461b80c.
2017-05-25 08:22:58 -04:00
Andrew Morrow
3e1461b80c SERVER-27380 Re-enable the thin archive tool
This refactors the thin_archive tool to use emitters and scanners
to note that when linking to a thin archive, you must also depend on
the children of that thin archive. Failing to do so is an error,
because a changed .o does not necessarily lead to a different .a,
which would subvert the SCons dependency mechanism.

This also includes a refactoring of the ABILINK tool to use a similar
mechanism, to achieve the opposite effect. For ABILINK, we want to
depend not on the actual .so, but on the hash of its abidw result. We
use emitters, actions, and scanners to produce an associated .abidw
file for each .so we build, and then update the scanner to depend on
the .abidw of our libraries, not the library itself. This allows us to
elide needless relinks.
2017-05-24 23:42:49 -04:00
Andrew Morrow
ef364240d7 SERVER-27577 Only apply thin_archive handling to StaticLibrary
By default on SCons, the Library and StaticLibrary builders are
the same object, so adding the target_factory to StaticLibrary is
sufficient. If they aren't the same, then even more important
to only modify SaticLibrary, since Library may have been re-purposed
to mean something else. In our case it does mean something different
when using --link-model=dynamic, so this oversight inadvertently changed
the signature calculations for dynamic libaries.

Also includes a drive-by fix to add LoadableModule to the builders
affected by the abilink.py tool, since a LoadableModule is also
a shared library on the platforms where abidw is in play.
2017-01-06 21:59:41 -05:00
Andrew Morrow
bdb8bfe3b5 SERVER-26276 Enable thin static linking on binutils platforms 2016-10-10 16:38:53 -04:00