(autoconf.info)AC_LIBOBJ vs LIBOBJS

Next: AC_FOO_IFELSE vs AC_TRY_FOO Prev: Hosts and Cross-Compilation Up: Autoconf 2.13

17.6.4 `AC_LIBOBJ' vs. `LIBOBJS'

Up to Autoconf 2.13, the replacement of functions was triggered via the
variable `LIBOBJS'.  Since Autoconf 2.50, the macro `AC_LIBOBJ' should
be used instead (Note: Generic Functions).  Starting at Autoconf
2.53, the use of `LIBOBJS' is an error.

   This change is mandated by the unification of the GNU Build System
components.  In particular, the various fragile techniques used to parse
a `configure.ac' are all replaced with the use of traces.  As a
consequence, any action must be traceable, which obsoletes critical
variable assignments.  Fortunately, `LIBOBJS' was the only problem, and
it can even be handled gracefully (read, "without your having to change

   There were two typical uses of `LIBOBJS': asking for a replacement
function, and adjusting `LIBOBJS' for Automake and/or Libtool.

   As for function replacement, the fix is immediate: use `AC_LIBOBJ'.
For instance:

     LIBOBJS="$LIBOBJS fnmatch.o"
     LIBOBJS="$LIBOBJS malloc.$ac_objext"

should be replaced with:


   When used with Automake 1.10 or newer, a suitable value for
`LIBOBJDIR' is set so that the `LIBOBJS' and `LTLIBOBJS' can be
referenced from any `Makefile.am'.  Even without Automake, arranging
for `LIBOBJDIR' to be set correctly enables referencing `LIBOBJS' and
`LTLIBOBJS' in another directory.  The `LIBOBJDIR' feature is

automatically generated by info2www