* 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 _______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool
