autoconf-patches
[Top][All Lists]
Advanced

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

FYI: find_configure_ac


From: Akim Demaille
Subject: FYI: find_configure_ac
Date: Thu, 21 Aug 2003 09:15:18 +0200
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux)

Index: ChangeLog
from  Akim Demaille  <address@hidden>

        * lib/Autom4te/Configure_ac.pm (&find_configure_ac)
        (&require_configure_ac): Accept an optional directory argument.
        ($configure_ac): Remove.
        * lib/Autom4te/General.pm (&find_configure_ac, &canonfile)
        (&catfile): Remove.
        * bin/autoheader.in, bin/autoreconf.in, bin/autoupdate.in,
        * bin/autoscan.in: Adjust.

Index: bin/autoheader.in
===================================================================
RCS file: /cvsroot/autoconf/autoconf/bin/autoheader.in,v
retrieving revision 1.132
diff -u -u -r1.132 autoheader.in
--- bin/autoheader.in   20 Aug 2003 17:22:07 -0000      1.132
+++ bin/autoheader.in   21 Aug 2003 06:54:18 -0000
@@ -41,6 +41,7 @@
 
 use Autom4te::ChannelDefs;
 use Autom4te::Channels;
+use Autom4te::Configure_ac;
 use Autom4te::FileUtils;
 use Autom4te::General;
 use Autom4te::XFile;
@@ -121,9 +122,7 @@
 
   if (! @ARGV)
     {
-      my $configure_ac = find_configure_ac;
-      error "no input file"
-       unless $configure_ac;
+      my $configure_ac = require_configure_ac;
       push @ARGV, $configure_ac;
     }
 }
Index: bin/autoreconf.in
===================================================================
RCS file: /cvsroot/autoconf/autoconf/bin/autoreconf.in,v
retrieving revision 1.115
diff -u -u -r1.115 autoreconf.in
--- bin/autoreconf.in   20 Aug 2003 12:52:18 -0000      1.115
+++ bin/autoreconf.in   21 Aug 2003 06:54:18 -0000
@@ -39,6 +39,7 @@
   $ENV{'SHELL'} = '@SHELL@' if ($^O eq 'dos');
 }
 
+use Autom4te::Configure_ac;
 use Autom4te::FileUtils;
 use Autom4te::General;
 use Autom4te::XFile;
@@ -290,9 +291,7 @@
 # -----------------------------
 sub autoreconf_current_directory ()
 {
-  my $configure_ac = find_configure_ac;
-  error "cannot find `configure.ac'"
-    unless $configure_ac;
+  my $configure_ac = require_configure_ac;
 
   # ---------------------- #
   # Is it using Autoconf?  #
Index: bin/autoscan.in
===================================================================
RCS file: /cvsroot/autoconf/autoconf/bin/autoscan.in,v
retrieving revision 1.92
diff -u -u -r1.92 autoscan.in
--- bin/autoscan.in     2 Jun 2003 06:55:04 -0000       1.92
+++ bin/autoscan.in     21 Aug 2003 06:54:18 -0000
@@ -36,6 +36,7 @@
   $ENV{'SHELL'} = '@SHELL@' if ($^O eq 'dos');
 }
 
+use Autom4te::Configure_ac;
 use Autom4te::General;
 use Autom4te::XFile;
 use File::Basename;
Index: bin/autoupdate.in
===================================================================
RCS file: /cvsroot/autoconf/autoconf/bin/autoupdate.in,v
retrieving revision 1.45
diff -u -u -r1.45 autoupdate.in
--- bin/autoupdate.in   20 Aug 2003 12:52:18 -0000      1.45
+++ bin/autoupdate.in   21 Aug 2003 06:54:20 -0000
@@ -39,6 +39,7 @@
 
 use Autom4te::ChannelDefs;
 use Autom4te::Channels;
+use Autom4te::Configure_ac;
 use Autom4te::FileUtils;
 use Autom4te::General;
 use Autom4te::XFile;
@@ -108,9 +109,7 @@
 
   if (! @ARGV)
     {
-      my $configure_ac = find_configure_ac;
-      error "no input file"
-       unless $configure_ac;
+      my $configure_ac = require_configure_ac;
       push @ARGV, $configure_ac;
     }
 }
Index: lib/Autom4te/Configure_ac.pm
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/Autom4te/Configure_ac.pm,v
retrieving revision 1.1
diff -u -u -r1.1 Configure_ac.pm
--- lib/Autom4te/Configure_ac.pm        20 Aug 2003 06:51:34 -0000      1.1
+++ lib/Autom4te/Configure_ac.pm        21 Aug 2003 06:54:20 -0000
@@ -25,7 +25,7 @@
 use vars qw (@ISA @EXPORT);
 
 @ISA = qw (Exporter);
address@hidden = qw ($configure_ac &find_configure_ac &require_configure_ac);
address@hidden = qw (&find_configure_ac &require_configure_ac);
 
 =head1 NAME
 
@@ -42,37 +42,45 @@
   # Likewise, but bomb out if the file does not exist.
   my $filename = require_configure_ac;
 
-In both cases, the name of the file found is also put in the
-C<$configure_ac> global variable.
+  # Likewise, but in $dir.
+  my $filename = find_configure_ac ($dir);
+  my $filename = require_configure_ac ($dir);
 
 =cut
 
-use vars '$configure_ac';
-
-sub find_configure_ac ()
+sub find_configure_ac (;@)
 {
-  if (-f 'configure.ac')
+  my ($directory) = @_;
+  $directory ||= '.';
+  my $configure_ac =
+    File::Spec->canonpath (File::Spec->catfile ($directory, 'configure.ac'));
+  my $configure_in =
+    File::Spec->canonpath (File::Spec->catfile ($directory, 'configure.in'));
+
+  if (-f $configure_ac)
     {
-      if (-f 'configure.in')
+      if (-f $configure_in)
        {
          msg ('unsupported',
-              "`configure.ac' and `configure.in' both present.\n"
-              . "proceeding with `configure.ac'.");
+              "`$configure_ac' and `$configure_in' both present.\n"
+              . "proceeding with `$configure_ac'.");
        }
-      $configure_ac = 'configure.ac';
+      return $configure_ac
     }
   elsif (-f 'configure.in')
     {
-      $configure_ac = 'configure.in';
+      return $configure_in;
     }
   return $configure_ac;
 }
 
-sub require_configure_ac ()
+
+sub require_configure_ac (;$)
 {
+  my $res = find_configure_ac (@_);
   fatal "`configure.ac' or `configure.in' is required"
-    unless find_configure_ac;
-  return $configure_ac;
+    unless defined $res;
+  return $res
 }
 
 1;
Index: lib/Autom4te/General.pm
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/Autom4te/General.pm,v
retrieving revision 1.29
diff -u -u -r1.29 General.pm
--- lib/Autom4te/General.pm     20 Aug 2003 12:52:19 -0000      1.29
+++ lib/Autom4te/General.pm     21 Aug 2003 06:54:20 -0000
@@ -53,8 +53,8 @@
 
 # Functions we define and export.
 my @export_subs =
-  qw (&catfile &canonpath &debug &error
-      &file_name_is_absolute &find_configure_ac
+  qw (&debug &error
+      &file_name_is_absolute
       &getopt &mktmpdir
       &uniq &verbose);
 
@@ -229,43 +229,6 @@
 ## Functions.  ##
 ## ----------- ##
 
-=item C<catfile ()>
-
-Wrapper around C<File::Spec->catfile>.  Concatenate one or more
-directory names and a filename to form a complete path ending with a
-filename.
-
-=cut
-
-# $FILE
-# &catfile (@COMPONENT)
-# ---------------------
-sub catfile (@)
-{
-  my (@component) = @_;
-  return File::Spec->catfile (@component);
-}
-
-
-=item C<canonpath ()>
-
-Wrapper around C<File::Spec->canonpath>.  No physical check on the
-filesystem, but a logical cleanup of a path. On UNIX eliminates
-successive slashes and successive "/.".
-
-    $cpath = canonpath ($path) ;
-
-=cut
-
-# $FILE
-# &canonpath ($FILE)
-# ------------------
-sub canonpath ($)
-{
-  my ($file) = @_;
-  return File::Spec->canonpath ($file);
-}
-
 
 =item C<debug (@message)>
 
@@ -299,42 +262,6 @@
   my ($file) = @_;
   return File::Spec->file_name_is_absolute ($file);
 }
-
-
-=item C<find_configure_ac ([$directory = C<.>])>
-
-Look for C<configure.ac> or C<configure.in> in the C<$directory> and
-return the one which should be used.  Report ambiguities to the user,
-but prefer C<configure.ac>.
-
-=cut
-
-# $CONFIGURE_AC
-# &find_configure_ac ([$DIRECTORY = `.'])
-# ---------------------------------------
-sub find_configure_ac (;$)
-{
-  my ($directory) = @_;
-  $directory ||= '.';
-  my $configure_ac = canonpath (catfile ($directory, 'configure.ac'));
-  my $configure_in = canonpath (catfile ($directory, 'configure.in'));
-
-  if (-f $configure_ac)
-    {
-      if (-f $configure_in)
-       {
-         carp "$me: warning: `$configure_ac' and `$configure_in' both 
present.\n";
-         carp "$me: warning: proceeding with `$configure_ac'.\n";
-       }
-      return $configure_ac;
-    }
-  elsif (-f $configure_in)
-    {
-      return $configure_in;
-    }
-  return;
-}
-
 
 
 




reply via email to

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