libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AC_REQUIRE_AUX_FILE([ltmain.sh])


From: Alexandre Duret-Lutz
Subject: AC_REQUIRE_AUX_FILE([ltmain.sh])
Date: Wed, 04 Aug 2004 23:07:21 +0200
User-agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux)

The next release of Autoconf will have

 -- Macro: AC_CONFIG_AUX_DIR (DIR)
     Use the auxiliary build tools [...] in directory DIR.
[...]
 -- Macro: AC_REQUIRE_AUX_FILE (FILE)
     Declares that FILE is expected in the directory defined above.  In
     Autoconf proper, this macro does nothing: its sole purpose is to be
     traced by third-party tools to produce a list of expected auxiliary
     files.  For instance it is called by macros like `AC_PROG_INSTALL'
     (*note Particular Programs::) or `AC_CANONICAL_BUILD' (*note
     Canonicalizing::) to register the auxiliary files they need.

The next major release of Automake will have

5.2 Other things Automake recognizes
[...]
`AC_REQUIRE_AUX_FILE'
     `automake' will ensure each file for which this macro is called
     exists in the aux directory, and will complain otherwise.  It will
     also automatically distribute the file.  This macro should be used
     by third-party Autoconf macros that requires some supporting files
     in the aux directory specified with `AC_CONFIG_AUX_DIR' above.
     *Note Finding `configure' Input: (autoconf)Input.

Presently this is used for install-sh, config.sub, config.guess,
missing, and compile.  

The following patch makes libtool requires ltmain.sh using this
macro.  Presently this is just a no-op for Libtool as the
requirement is hard-coded into Automake.  But once this is in, I
can disable the hard-coded checks in Automake and let them
happen on account of AC_REQUIRE_AUX_FILE.  (Actually the plan is
to disable the hard-coded checks only for Libtool 2.0 or up; it
is easy enough to detect since only these versions call
LT_SUPPORTED_TAG.  The patch for this is ready, it's just
waiting after this one.)

The day Libtool switches to this new Automake version, it will
be easy to suppress the ltmain.sh check in Libtool itself by
tweaking this line (if you still want to).

The day all Libtool users that also use Automake have switched
to that new Automake version, it will be possible to rename or
even suppress ltmain.sh without breaking tools.  I.e., ltmain.sh
will be the internal detail it ought to be.  Amen.


PS: I'm not sure the _LT_PROG_LTMAIN comments and code are
accurate since Gary's 2004-07-30 commit, although they do not
appear to be harmful either.

2004-08-04  Alexandre Duret-Lutz  <address@hidden>

        * m4/libtool.m4 (_LT_PROG_LTMAIN): Require ltmain.sh using
        using Autoconf's new AC_REQUIRE_AUX_FILE.

Index: m4/libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/m4/libtool.m4,v
retrieving revision 1.87
diff -u -r1.87 libtool.m4
--- m4/libtool.m4       4 Aug 2004 14:10:59 -0000       1.87
+++ m4/libtool.m4       4 Aug 2004 20:39:45 -0000
@@ -209,7 +209,8 @@
 # `config.status' has no value for ac_aux_dir unless we are using Automake,
 # so we pass a copy along to make sure it has a sensible value anyway.
 AC_DEFUN([_LT_PROG_LTMAIN],
-[_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])dnl
 case $ac_aux_dir in
   $srcdir)   ltmain=./ltmain.sh ;;
   $srcdir/*) ltmain=`expr "$ac_aux_dir" : "$srcdir/\(.*\)"`/ltmain.sh ;;

-- 
Alexandre Duret-Lutz





reply via email to

[Prev in Thread] Current Thread [Next in Thread]