summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkim Demaille <akim@epita.fr>2003-08-21 06:55:41 +0000
committerAkim Demaille <akim@epita.fr>2003-08-21 06:55:41 +0000
commit59b8e13699c93e4084250860b6b0ed417db4b2cc (patch)
tree9b732d2fb439b9cb14f121297f4cb6829fb87ed6
parentcadfc16c0bab4d784832475e700f2fc294781104 (diff)
downloadautoconf-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--ChangeLog10
-rw-r--r--bin/autoheader.in5
-rw-r--r--bin/autoreconf.in5
-rw-r--r--bin/autoscan.in1
-rw-r--r--bin/autoupdate.in5
-rw-r--r--lib/Autom4te/Configure_ac.pm38
-rw-r--r--lib/Autom4te/General.pm77
7 files changed, 42 insertions, 99 deletions
diff --git a/ChangeLog b/ChangeLog
index 47fee896..ead3f53f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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)>