[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: -no-undefined vs gcc 4.6.0
From: |
Charles Wilson |
Subject: |
Re: -no-undefined vs gcc 4.6.0 |
Date: |
Sat, 19 Mar 2011 12:17:21 -0400 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.23) Gecko/20090812 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666 |
On 3/19/2011 6:25 AM, LRN wrote:
> I expect to find a lot of libtool-using projects that will require such
> hacks or workarounds, because `unrecognized option '-no-undefined'' is
> very common.
Ah, but actually -no-undefined should be added by the upstream
maintainers, in Makefile.am, to libfoo_la_LDFLAGS. It is a
*description* of the library -- which is true regardless of the host
platform the library is being built for.
It is a claim by the library designer that: "This library, when linked,
will not reference any symbols, unless they are defined either in its
own source objects or in other explicitly listed dependencies"
In order to build a library on win32/cygwin, libtool requires that the
library designer assure it of this fact.
So, either a library DOES or DOES NOT satisfy the claim: if it doesn't,
then it can't be built on windows without massive surgery. If it does,
then it does no harm to tell ALL platforms that it does so -- thus,
upstream should add -no-undefined to their Makefile.am/libfoo_la_LDFLAGS.
This "declaration" is usually NOT passed via an explicit variable
statement on the make or configure command line.
--
Chuck
Re: -no-undefined vs gcc 4.6.0, Vincent Torri, 2011/03/19