Andrew C. Morrow
2015-07-25 04:19:51 UTC
This page
https://bitbucket.org/scons/scons/wiki/SharedLibrarySignatureOverride on
the SCons Wiki demonstrates one way to suppress unnecessary relinking when
a shared library dependency has been re-linked but has not actually changed
ABI.
However, the mechanism that it uses seems fragile and relies on some
deprecated SCons APIs like TargetSignatures.
I've just made available an attempt to write an updated Tool based on the
new 'abidw' utility associated with libabigail. The abidw utility writes
out an XML representation of the ABI of a shared library based on the DWARF
info in the library. The new Tool uses the MD5 hash of the abidw output as
the content signature for Nodes built with the SharedLibrary builder.
https://github.com/mongodb/mongo/blob/e9fc3c3ae2b83539d36856d2f1b5794019b6b41b/site_scons/site_tools/abilink.py
Thoughts on the approach or feedback on the implementation are very
welcome. I'm sure it can be improved.
Thanks,
Andrew
https://bitbucket.org/scons/scons/wiki/SharedLibrarySignatureOverride on
the SCons Wiki demonstrates one way to suppress unnecessary relinking when
a shared library dependency has been re-linked but has not actually changed
ABI.
However, the mechanism that it uses seems fragile and relies on some
deprecated SCons APIs like TargetSignatures.
I've just made available an attempt to write an updated Tool based on the
new 'abidw' utility associated with libabigail. The abidw utility writes
out an XML representation of the ABI of a shared library based on the DWARF
info in the library. The new Tool uses the MD5 hash of the abidw output as
the content signature for Nodes built with the SharedLibrary builder.
https://github.com/mongodb/mongo/blob/e9fc3c3ae2b83539d36856d2f1b5794019b6b41b/site_scons/site_tools/abilink.py
Thoughts on the approach or feedback on the implementation are very
welcome. I'm sure it can be improved.
Thanks,
Andrew