Many Makefile.ams use logic like this:

    if PLATFORM_WIN32
    no_undefined = -no-undefined
    endif

    lib_LTLIBRARIES = libfoo
    libfoo_LDFLAGS = ... $(no_undefined)


This makes -no-undefined only get used when building DLLs on a Win32
platform.  However, if this were specified directly:

    foo_LDFLAGS = -no-undefined

does this do anything on other platforms where it's not required?

I tested both on GNU/Linux, and while I couldn't see any functional
difference between the two libs, the binaries were not identical.  It
does concern me that it had /some/ effect, especially since it isn't
obvious what exactly it actually did.

If there wasn't some (perhaps historical) reason for the former usage,
it seems a little odd to use platform-specific stuff in a tool that's
supposed to be platform-independent.


Please could anyone clarify exactly how -no-undefined should be used
when building shared libraries for a package that should build on all
platforms.


Many thanks,
Roger

-- 
Roger Leigh

                Printing on GNU/Linux?  http://gimp-print.sourceforge.net/
                GPG Public Key: 0x25BFB848.  Please sign and encrypt your mail.


_______________________________________________
Libtool mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/libtool

Reply via email to