On 2016-02-11 00:38, Bob Friesenhahn wrote:
> On Wed, 10 Feb 2016, Evgeny Grin wrote:
>>
>> As result - "-no-undefined" is used only on W32 without any practical
>> benefit: if lib have some undefined symbols, it will not be build on W32
>> as shared lib regardless of "-no-undefined" flag. And conditionally used
> 
> The "-no-undefined" option is not actually Win32 specific.  IBM's AIX has
> build configurations which benefit from it.
> 
> Also, "-no-undefined" does not indicate if the library has undefined
> symbols (many DLLs have undefined symbols).  It indicates that the build
> configuration has agreed to supply any additional dependency libraries
> if there otherwise would be undefined symbols.

Well said, I would also like to add that libtool -no-undefined *does* *not*
imply ld --no-undefined. I.e. If you add libtool -no-undefined, then the
*only* thing that changes is that libtool actually attempts the shared
build. How the shared build is performed is not changed in any way, so
if there actually are undefined symbols (not supplied by the build etc etc)
and the platform can handle that, then that will continue to work.
Conditionally adding -no-undefined for systems where it matters is overly
defensive.

Repeat after me:

    libtool -no-undefined is not at all the same thing as ld --no-undefined.

Cheers,
Peter

_______________________________________________
https://lists.gnu.org/mailman/listinfo/libtool

Reply via email to