>>> "Roger" == Roger Leigh <[EMAIL PROTECTED]> writes:

About
| if BUILD_LIBGIMPPRINT
| lib_LTLIBRARIES = libgimpprint.la
| endif
| if BUILD_LIBGIMPPRINT
| bin_SCRIPTS = gimpprint-config
| endif
| 
| EXTRA_SCRIPTS = gimpprint-config
| EXTRA_LTLIBRARIES = libgimpprint.la
resulting in
| `libgimpprint.la' is already going to be installed in `lib'

[...]

 Roger> I thought that if you defined something conditionally,
 Roger> you were supposed to put it in an EXTRA_PRIMARY
 Roger> definition too, so that automake knew the full set of
 Roger> stuff that might be built.

 Roger> After all, lib_LTLIBRARIES might just as easily be an
 Roger> @libobject@ autoconf substitution, where automake won't
 Roger> know what might be built.  Or, should EXTRA_PRIMARY only
 Roger> be used for this type of conditional?

If Automake sees `dir_PRIMARY = fubar' it knows that it must
output some rules to build `fubar', even if `dir_PRIMARY' is
defined conditionally.

However if it sees `dir_PRIMARY = @fubar@', Automake can't guess
what `@fubar@' will be substituted with, and can't output any
rule to build those unknown targets.  That's where the
`EXTRA_PRIMARY' helps: it list those targets for which Automake
should output build rules.

Now, you're right that with most primaries adding a superfluous
EXTRA_PRIMARY shouldn't hurt, that's like telling twice to
Automake you need building rules for the listed targets.

*_LTLIBRARIES is different because in order to build the library
you need to know where it will be installed (and pass the
appropriate -rpath option to libtool).  That means you can't
install a library in two different places.

>From `foo_LTLIBRARIES = mumble.la' Automake knows that
`mumble.la' will be installed in `$(foodir)'; but from
`EXTRA_LTLIBRARIES = mumble.la' it cannot know where the
`mumble.la' will be installed, it could be somewhere else (so
this justifies the error message).  In the latter case, you have
to play some _LDADD trickery to add the right -rpath flag
manually, as said in the Automake manual.
-- 
Alexandre Duret-Lutz


Reply via email to