diff options
author | Akim Demaille <akim@epita.fr> | 2003-08-21 06:55:41 +0000 |
---|---|---|
committer | Akim Demaille <akim@epita.fr> | 2003-08-21 06:55:41 +0000 |
commit | 59b8e13699c93e4084250860b6b0ed417db4b2cc (patch) | |
tree | 9b732d2fb439b9cb14f121297f4cb6829fb87ed6 | |
parent | cadfc16c0bab4d784832475e700f2fc294781104 (diff) | |
download | autoconf-59b8e13699c93e4084250860b6b0ed417db4b2cc.tar.gz |
* 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.
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | bin/autoheader.in | 5 | ||||
-rw-r--r-- | bin/autoreconf.in | 5 | ||||
-rw-r--r-- | bin/autoscan.in | 1 | ||||
-rw-r--r-- | bin/autoupdate.in | 5 | ||||
-rw-r--r-- | lib/Autom4te/Configure_ac.pm | 38 | ||||
-rw-r--r-- | lib/Autom4te/General.pm | 77 |
7 files changed, 42 insertions, 99 deletions
@@ -1,3 +1,13 @@ +2003-08-21 Akim Demaille <akim@epita.fr> + + * 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 <akim@epita.fr> * 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<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)> @@ -301,42 +264,6 @@ sub file_name_is_absolute ($) } -=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; -} - - - =item C<getopt (%option)> |