libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: .lai files


From: Ralf Wildenhues
Subject: Re: .lai files
Date: Fri, 19 Sep 2008 19:56:28 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

* Patrick Welche wrote on Fri, Sep 19, 2008 at 05:19:18PM CEST:
> Ah.. Is the following true:
> 
>   No -rpath flag => convenience library => no .lai is created ?

Yes, I think so.

> Anyway, CMU libsasl's breakage is to define
> 
>   AM_LDFLAGS = -module -export-dynamic -rpath $(plugindir)
> 
> in plugins/Makefile.am, but then override that setting for every plugin with
> its own LDFAGS eg
> 
>   libsasldb_la_LDFLAGS = -version-info $(sasldb_version)

First, was libsasldb.la listed in noinst_LTLIBRARIES, or
EXTRA_LTLIBRARIES or otherwise?

Was it their intention to install a convenience archive,
or is this just a problem with upgraded Automake?
Please note that Automake 1.10 has changed handling of *_LDFLAGS,
quoting from the NEWS file:

| - Per-target flags are now correctly handled in link rules.
|
|   For instance maude_CFLAGS correctly overrides AM_CFLAGS; likewise
|   for maude_LDFLAGS and AM_LDFLAGS.  Previous versions bogusly
|   preferred AM_CFLAGS over maude_CFLAGS while linking, and they
|   used both AM_LDFLAGS and maude_LDFLAGS on the same link command.
|
|   The fix for compiler flags (i.e., using maude_CFLAGS instead of
|   AM_CFLAGS) should not hurt any package since that is how _CFLAGS
|   is expected to work (and actually works during compilation).
|
|   However using maude_LDFLAGS "instead of" AM_LDFLAGS rather than
|   "in addition to" breaks backward compatibility with older versions.
|   If your package used both variables, as in
|
|     AM_LDFLAGS = common flags
|     bin_PROGRAMS = a b c
|     a_LDFLAGS = more flags
|     ...
|
|   and assumed *_LDFLAGS would sum up, you should rewrite it as
|
|     AM_LDFLAGS = common flags
|     bin_PROGRAMS = a b c
|     a_LDFLAGS = $(AM_LDFLAGS) more flags
|     ...
|
|   This new behavior of *_LDFLAGS is more coherent with other
|   per-target variables, and the way *_LDFLAGS variables were
|   considered internally.

Hope that helps.

Cheers,
Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]