From: Akim Demaille Date: Thu, 21 Aug 2003 06:55:41 +0000 (+0000) Subject: * lib/Autom4te/Configure_ac.pm (&find_configure_ac) X-Git-Tag: AUTOCONF-2.57b~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=59b8e13699c93e4084250860b6b0ed417db4b2cc;p=thirdparty%2Fautoconf.git * 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. --- diff --git a/ChangeLog b/ChangeLog index 47fee896..ead3f53f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2003-08-21 Akim Demaille + + * 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. + 2003-08-20 Akim Demaille * bin/autoheader.in: Remove duplicate 'use Autom4te::FileUtils'. diff --git a/bin/autoheader.in b/bin/autoheader.in index 420c7426..9ada8ff6 100644 --- a/bin/autoheader.in +++ b/bin/autoheader.in @@ -41,6 +41,7 @@ BEGIN use Autom4te::ChannelDefs; use Autom4te::Channels; +use Autom4te::Configure_ac; use Autom4te::FileUtils; use Autom4te::General; use Autom4te::XFile; @@ -121,9 +122,7 @@ sub parse_args () 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; } } diff --git a/bin/autoreconf.in b/bin/autoreconf.in index cb2f9e69..ed09cf2b 100644 --- a/bin/autoreconf.in +++ b/bin/autoreconf.in @@ -39,6 +39,7 @@ BEGIN $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 run_aclocal ($$) # ----------------------------- 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? # diff --git a/bin/autoscan.in b/bin/autoscan.in index d1bcf818..1d460888 100644 --- a/bin/autoscan.in +++ b/bin/autoscan.in @@ -36,6 +36,7 @@ BEGIN $ENV{'SHELL'} = '@SHELL@' if ($^O eq 'dos'); } +use Autom4te::Configure_ac; use Autom4te::General; use Autom4te::XFile; use File::Basename; diff --git a/bin/autoupdate.in b/bin/autoupdate.in index c4e9ed23..6ca8fb0c 100644 --- a/bin/autoupdate.in +++ b/bin/autoupdate.in @@ -39,6 +39,7 @@ BEGIN use Autom4te::ChannelDefs; use Autom4te::Channels; +use Autom4te::Configure_ac; use Autom4te::FileUtils; use Autom4te::General; use Autom4te::XFile; @@ -108,9 +109,7 @@ sub parse_args () 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; } } diff --git a/lib/Autom4te/Configure_ac.pm b/lib/Autom4te/Configure_ac.pm index ae74eb8d..2b07dc78 100644 --- a/lib/Autom4te/Configure_ac.pm +++ b/lib/Autom4te/Configure_ac.pm @@ -25,7 +25,7 @@ use Autom4te::ChannelDefs; use vars qw (@ISA @EXPORT); @ISA = qw (Exporter); -@EXPORT = qw ($configure_ac &find_configure_ac &require_configure_ac); +@EXPORT = qw (&find_configure_ac &require_configure_ac); =head1 NAME @@ -42,37 +42,45 @@ Autom4te::Configure_ac - Locate configure.ac or configure.in. # 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; diff --git a/lib/Autom4te/General.pm b/lib/Autom4te/General.pm index c4c30bc9..518c6b89 100644 --- a/lib/Autom4te/General.pm +++ b/lib/Autom4te/General.pm @@ -53,8 +53,8 @@ my @export_vars = # 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 @@ sub END ## Functions. ## ## ----------- ## -=item C - -Wrapper around Ccatfile>. 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 - -Wrapper around Ccanonpath>. 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 @@ -301,42 +264,6 @@ sub file_name_is_absolute ($) } -=item C])> - -Look for C or C in the C<$directory> and -return the one which should be used. Report ambiguities to the user, -but prefer C. - -=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; -} - - - =item C