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