[m-dev.] for review: enforce library self-containedness

Peter Ross peter.ross at miscrit.be
Tue Feb 6 23:26:42 AEDT 2001


On Tue, Feb 06, 2001 at 10:55:00PM +1100, Fergus Henderson wrote:
> Estimated hours taken: 2
> 
> On platforms which support it, check that there are no undefined
> symbols when linking the Mercury shared libraries. 
> Some platforms (AIX, Windows, and BeOS) require this when building
> shared libraries.  This change means that we check it on our usual
> platforms, including Linux.
> 
> configure.in:
> 	Set ERROR_UNDEFINED to `-Wl,--no-undefined' on x86 Linux.
> 	Using --no-undefined on Linux requires linking in ld-linux.so,
> 	so add some code to figure out the right version of that to
> 	link with.
> 
> Mmake.common.in:
> 	Set ALLOW_UNDEFINED and ERROR_UNDEFINED to the values
> 	determined by configure.in.  Also pass down the values of
> 	SOCKET_LIBRARY, NSL_LIBRARY, and DL_LIBRARY, since we need
> 	to link with those libraries to resolve all the undefined
> 	symbols.
> 
> runtime/Mmakefile:
> library/Mmakefile:
> browser/Mmakefile:
> trace/Mmakefile:
> 	Pass $(ERROR_UNDEFINED) to $(LINK_SHARED_OBJ).
> 
> browser/Mmakefile:
> trace/Mmakefile:
> 	Link in SOCKET_LIBRARY, NSL_LIBRARY, and DL_LIBRARY.
> 
That looks fine.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list