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

9 Commits

Author SHA1 Message Date
Andrew Morrow
f96e0ef10b SERVER-31800 Disable location information in ABI XML 2017-11-02 16:59:48 -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
84139e7e34 SERVER-24988 Re-license useful SCons utilities as Apache 2016-07-12 11:23:55 -04:00
Andrew Morrow
9a988c6c0e SERVER-9666 If abidw fails, fall back to contents 2015-08-24 08:27:38 -04:00
Andrew Morrow
6c88ec9513 SERVER-9564 Honor user provided value for ABIDW 2015-07-29 09:50:12 -04:00
Andrew Morrow
e9fc3c3ae2 SERVER-9564 When libabigail utils are present, minimize relinking 2015-07-24 23:06:56 -04:00