autoconf: AC_LIBOBJ vs LIBOBJS
1
1 18.6.4 `AC_LIBOBJ' vs. `LIBOBJS'
1 --------------------------------
1
1 Up to Autoconf 2.13, the replacement of functions was triggered via the
1 variable `LIBOBJS'. Since Autoconf 2.50, the macro `AC_LIBOBJ' should
1 be used instead (⇒Generic Functions). Starting at Autoconf
1 2.53, the use of `LIBOBJS' is an error.
1
1 This change is mandated by the unification of the GNU Build System
1 components. In particular, the various fragile techniques used to parse
1 a `configure.ac' are all replaced with the use of traces. As a
1 consequence, any action must be traceable, which obsoletes critical
1 variable assignments. Fortunately, `LIBOBJS' was the only problem, and
1 it can even be handled gracefully (read, "without your having to change
1 something").
1
1 There were two typical uses of `LIBOBJS': asking for a replacement
1 function, and adjusting `LIBOBJS' for Automake and/or Libtool.
1
1
1 As for function replacement, the fix is immediate: use `AC_LIBOBJ'.
1 For instance:
1
1 LIBOBJS="$LIBOBJS fnmatch.o"
1 LIBOBJS="$LIBOBJS malloc.$ac_objext"
1
1 should be replaced with:
1
1 AC_LIBOBJ([fnmatch])
1 AC_LIBOBJ([malloc])
1
1
1 When used with Automake 1.10 or newer, a suitable value for
1 `LIBOBJDIR' is set so that the `LIBOBJS' and `LTLIBOBJS' can be
1 referenced from any `Makefile.am'. Even without Automake, arranging
1 for `LIBOBJDIR' to be set correctly enables referencing `LIBOBJS' and
1 `LTLIBOBJS' in another directory. The `LIBOBJDIR' feature is
1 experimental.
1