Ralf Wildenhues wrote:
> It's a bit tricky to reproduce: You
> need a system which has no argz.h, then configure, then `make check'
> without prior make.  If you had ever run `make' before in this build
> tree, even after `make clean' the dependency information is stored in
> libltdl/.deps/*.Plo, and thus hides this bug.
>
> Now the gnulib snippet in libltdl/Makefile.am leaves us with the
> possibility of using the lib_OBJECTS variable to fix this(?).
>
> Several questions (thus the crosspost to all of these lists):
> - Is it ok/supposed by gnulib to use lib_OBJECTS for this?
> - Is it ok by Automake to use the *_OBJECTS variables it created,
>   i.e., may they be treates as exported interface?

The modules in gnulib are normally used in a directory that creates a
single library, say libfoo.la, and in this case a line like

  all-local $(lib_OBJECTS): $(ARGZ_H)

is meant to be changed to

  all-local $(libfoo_la_OBJECTS): $(ARGZ_H)

If, in the case of libltdl, the directory creates several libraries, then
yes your patch looks OK:

> +## Make sure argz.h will be created before it is needed:
> +lib_OBJECTS = \
> +     $(dlopen_la_OBJECTS) \
> +     $(dld_link_la_OBJECTS) \
> +     $(dyld_la_OBJECTS) \
> +     $(load_add_on_la_OBJECTS) \
> +     $(loadlibrary_la_OBJECTS) \
> +     $(shl_load_la_OBJECTS) \
> +     $(libltdl_la_OBJECTS) \
> +     $(libltdlc_la_OBJECTS)
> +

Bruno



_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool

Reply via email to