[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Portability of -no-undefined
From: |
Bob Friesenhahn |
Subject: |
Re: Portability of -no-undefined |
Date: |
Tue, 19 Oct 2004 15:25:13 -0500 (CDT) |
On Tue, 19 Oct 2004, Roger Leigh wrote:
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:
How odd!
foo_LDFLAGS = -no-undefined
does this do anything on other platforms where it's not required?
I don't know the precise/complete answer to this, but I suspect that
it can make a difference. I am pretty sure that some (all?) versions
of AIX will want -no-undefined.
Please could anyone clarify exactly how -no-undefined should be used
when building shared libraries for a package that should build on all
platforms.
Any package which is sufficiently developed/correct that it can use
-no-undefined should use it for all targets. I have used it for all
targets for many years without ill effects. Using -no-undefined means
that a library's linkage must be complete and all dependencies are
known.
Packages likely exist which have design problems in their libraries
which prevent the use of -no-undefined.
Bob
======================================
Bob Friesenhahn
address@hidden
http://www.simplesystems.org/users/bfriesen