autoconf-patches
[Top][All Lists]
Advanced

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

Re: autoreconf vs. libtool


From: Akim Demaille
Subject: Re: autoreconf vs. libtool
Date: 08 Nov 2001 18:18:20 +0100
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Artificial Intelligence)

>>>>> "Akim" == Akim Demaille <address@hidden> writes:

Ralf> The more I think about it, I am inclined to think tracing can't
Ralf> work for libtoolize and gettextize unless aclocal has been run
Ralf> once before them

Akim> Very much agreed.  This is what I plan to do: move aclocal's
Akim> invocation upwards.

Here is the patch I'm applying.  Could you please confirm it behaves
as expected?

Index: ChangeLog
from  Akim Demaille  <address@hidden>

        * bin/autoreconf.in (&autoreconf): Run aclocal before tracing, so
        that we can trace macros from aclocal.m4.
        Trace AC_PROG_LIBTOOL, not AM_PROG_LIBTOOL, since the latter is
        obsoleted, and redirect to the former anyway.

Index: bin/autoreconf.in
===================================================================
RCS file: /cvs/autoconf/bin/autoreconf.in,v
retrieving revision 1.87
diff -u -u -r1.87 autoreconf.in
--- bin/autoreconf.in 2001/11/08 16:15:20 1.87
+++ bin/autoreconf.in 2001/11/08 17:19:01
@@ -215,6 +215,59 @@
     }
 
 
+  # ----------------- #
+  # Running aclocal.  #
+  # ----------------- #
+
+  # Run it first: it might discover new macros to add, e.g.,
+  # AC_PROG_LIBTOOL, which we will trace later to see if Libtool is
+  # used.
+  #
+  # Always run it.  Tracking its sources for up-to-dateness is too
+  # complex and too error prone.  The best we can do is avoiding
+  # nuking the time stamp.
+  my $uses_aclocal = 1;
+
+  # Nevertheless, if aclocal.m4 exists and is not made by aclocal,
+  # don't run aclocal.
+
+  if (-f 'aclocal.m4')
+    {
+      my $aclocal_m4 = new Autom4te::XFile 'aclocal.m4';
+      $_ = $aclocal_m4->getline;
+      $uses_aclocal = 0
+       unless /generated.*by aclocal/;
+    }
+
+  # If there are flags for aclocal in Makefile.am, use them.
+  my $aclocal_flags = '';
+  if ($uses_aclocal && -f 'Makefile.am')
+    {
+      my $makefile = new Autom4te::XFile 'Makefile.am';
+      while ($_ = $makefile->getline)
+       {
+         if (/^ACLOCAL_[A-Z_]*FLAGS\s*=\s*(.*)/)
+           {
+             $aclocal_flags = $1;
+             last;
+           }
+       }
+    }
+
+  if (!$uses_aclocal)
+    {
+      verbose "$configure_ac: not using aclocal";
+    }
+  else
+    {
+      xsystem ("$aclocal $aclocal_flags --output=aclocal.m4t");
+      # aclocal may produce no output.
+      update_file ('aclocal.m4t', 'aclocal.m4')
+       if -f 'aclocal.m4t';
+    }
+
+
+
   # ------------------------------- #
   # See what tools will be needed.  #
   # ------------------------------- #
@@ -225,21 +278,20 @@
   my $uses_gettext;
   my $uses_libtool;
   my $uses_autoheader;
-  my $uses_aclocal;
   my @subdir;
   my $traces = new Autom4te::XFile
     ("$autoconf"
      . join (' --trace=', '',
-            'AC_INIT', 'AM_GNU_GETTEXT', 'AM_PROG_LIBTOOL',
+            'AC_INIT', 'AM_GNU_GETTEXT', 'AC_PROG_LIBTOOL',
             'AC_CONFIG_HEADERS',
             'AC_CONFIG_SUBDIRS:AC_CONFIG_SUBDIRS:\$1')
      . ' |');
   while ($_ = $traces->getline)
     {
-      $uses_autoconf = 1          if /AC_INIT/;
-      $uses_gettext = 1           if /AM_GNU_GETTEXT/;
-      $uses_libtool = 1           if /AM_PROG_LIBTOOL/;
-      $uses_autoheader = 1        if /AC_CONFIG_HEADERS/;
+      $uses_autoconf = 1            if /AC_INIT/;
+      $uses_gettext = 1             if /AM_GNU_GETTEXT/;
+      $uses_libtool = 1             if /AC_PROG_LIBTOOL/;
+      $uses_autoheader = 1          if /AC_CONFIG_HEADERS/;
       push @subdir, split (' ', $1) if /AC_CONFIG_SUBDIRS:(.*)/;
     }
 
@@ -257,6 +309,8 @@
        }
     }
 
+
+
   # -------------------- #
   # Running gettexitze.  #
   # -------------------- #
@@ -296,53 +350,6 @@
       verbose "$configure_ac: not running libtoolize: --install not given";
     }
 
-
-  # ----------------- #
-  # Running aclocal.  #
-  # ----------------- #
-
-  # Always run aclocal.  Tracking its sources for up-to-dateness is
-  # too complex and too error prone.  The best we can do is avoiding
-  # nuking the time stamp.
-  $uses_aclocal = 1;
-
-  # Nevertheless, if aclocal.m4 exists and is not made by aclocal,
-  # don't run aclocal.
-
-  if (-f 'aclocal.m4')
-    {
-      my $aclocal_m4 = new Autom4te::XFile 'aclocal.m4';
-      $_ = $aclocal_m4->getline;
-      $uses_aclocal = 0
-       unless /generated.*by aclocal/;
-    }
-
-  # If there are flags for aclocal in Makefile.am, use them.
-  my $aclocal_flags = '';
-  if ($uses_aclocal && -f 'Makefile.am')
-    {
-      my $makefile = new Autom4te::XFile 'Makefile.am';
-      while ($_ = $makefile->getline)
-       {
-         if (/^ACLOCAL_[A-Z_]*FLAGS\s*=\s*(.*)/)
-           {
-             $aclocal_flags = $1;
-             last;
-           }
-       }
-    }
-
-  if (!$uses_aclocal)
-    {
-      verbose "$configure_ac: not using aclocal";
-    }
-  else
-    {
-      xsystem ("$aclocal $aclocal_flags --output=aclocal.m4t");
-      # aclocal may produce no output.
-      update_file ('aclocal.m4t', 'aclocal.m4')
-       if -f 'aclocal.m4t';
-    }
 
   # ------------------ #
   # Running automake.  #




reply via email to

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