summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2004-11-14 03:40:51 +0000
committerMike Frysinger <vapier@gentoo.org>2004-11-14 03:40:51 +0000
commit937a0b924137196c48f4cba60a0a94de4fa5622c (patch)
tree491c08329dd0241298ef268c08fdd8629066fcb4
parentuse an error message that is a little more gentoo specific (diff)
downloadautotools-wrappers-ac-1.tar.gz
autotools-wrappers-ac-1.tar.bz2
autotools-wrappers-ac-1.zip
Punt the perl version and use the bash version by Gregorio Guidi #66478.ac-1
-rwxr-xr-xac-wrapper.pl126
-rwxr-xr-xac-wrapper.sh93
2 files changed, 93 insertions, 126 deletions
diff --git a/ac-wrapper.pl b/ac-wrapper.pl
deleted file mode 100755
index 06f53ec..0000000
--- a/ac-wrapper.pl
+++ /dev/null
@@ -1,126 +0,0 @@
-#!/usr/bin/perl
-#
-#
-# Guillaume Cottenceau (gc@mandrakesoft.com)
-# Abel Cheung (deaddog@deaddog.org)
-#
-# Copyright 2001-2002, 2004 MandrakeSoft
-#
-# This software may be freely redistributed under the terms of the GNU
-# public license.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-#######################################################################
-#
-# Executes the correct autoconf version.
-#
-# - defaults to autoconf-2.59
-# - runs autoconf-2.13 only if:
-# - envvar WANT_AUTOCONF_2_1 is set to `1'
-# -or-
-# - `configure' is already present and was generated by autoconf 2.13
-#
-#######################################################################
-#
-# ChangeLog:
-#
-# * Fri May 14 2004
-# - Use autoconf 2.59 by default, unless `configure' is generated by
-# autoconf 2.13, or WANT_AUTOCONF_2_1 is set.
-# - WANT_AUTOCONF_2_5 has no effect now
-#
-# * Thu May 27 2004
-# - Almost rewrite
-# - Introduce FORCE_AUTOCONF_2_5 (avoid misuse with WANT_*), which can be used
-# when you want to play with fire :-)
-# - More verbose and user oriented messages (gc et. al.)
-#
-# * Sat Jul 03 2004
-# - require autoconf2.1 and remove special error message
-# - allow use of tools without configure.in or configure.ac (2.5 only)
-# required for autodetection by apps
-
-use File::Basename qw(basename);
-use strict;
-
-sub cat_ { local *F; open F, $_[0] or return; my @l = <F>; wantarray ? @l : join '', @l }
-
-sub errmsg {
- my $dummy = 0;
- my @msg = @_;
- foreach (@msg) {
- print STDERR (($dummy++ == 0)? "ac-wrapper: " : " ") . $_ . "\n";
- }
- exit 1;
-}
-
-errmsg ("Don't call this script directly.") if (basename("$0") eq "ac-wrapper.pl");
-
-#
-# go away naughty guys/gals
-#
-if (($ENV{WANT_AUTOCONF_2_1}) && ($ENV{FORCE_AUTOCONF_2_5})) {
- errmsg ("You can only set either WANT_AUTOCONF_2_1 or FORCE_AUTOCONF_2_5,",
- "but not both.");
-}
-
-if (($ENV{WANT_AUTOCONF_2_1}) && (basename("$0") eq "autom4te")) {
- errmsg ("Autoconf 2.13 doesn't contain autom4te.",
- "Either unset WANT_AUTOCONF_2_1 or don't execute anything",
- "that would use autom4te.");
-}
-
-my $binary_new = "$0-2.59";
-my $binary_old = "$0-2.13";
-my $binary = $binary_new;
-my $confversion = 'Undetected';
-
-if ((-f "configure.ac") || (-f "configure.in")) {
-#
-# autodetect routine
-#
- if ($ENV{WANT_AUTOCONF_2_1}) {
- if ((-f "configure.in") && (! -f "configure.ac")) {
- $binary = $binary_old;
- } else {
- errmsg ("Since configure.ac is present, aclocal always use",
- "autoconf 2.59, which conflicts with your choice and",
- "causes error. You have two options:",
- "1. Try execute command again after removing configure.ac",
- "2. Don't set WANT_AUTOCONF_2_1 variable");
- }
- } elsif (!($ENV{FORCE_AUTOCONF_2_5})) {
- # U > [0-9] in lexicon comparison
- $confversion = (cat_('configure') =~ /^# Generated (by (?:GNU )?Autoconf|automatically using autoconf version) (\S+)/m ? $2 : 'Unknown');
-
- if (("$confversion" lt '2.5') && (! -f "configure.ac")) {
- $binary = $binary_old;
- }
- }
-}
-
-if ($ENV{WANT_ACWRAPPER_DEBUG}) {
- print STDERR "ac-wrapper: DEBUG: Detected version is '$confversion'\n";
- print STDERR "ac-wrapper: DEBUG: WANT_AUTOCONF_2_1 is set\n" if ($ENV{WANT_AUTOCONF_2_1});
- print STDERR "ac-wrapper: DEBUG: FORCE_AUTOCONF_2_5 is set\n" if ($ENV{FORCE_AUTOCONF_2_5});
- print STDERR "ac-wrapper: DEBUG: will execute <$binary>\n";
-}
-
-#
-# for further consistency
-#
-$ENV{WANT_AUTOCONF_2_1} = 1 if ("$binary" eq "$binary_old");
-$ENV{FORCE_AUTOCONF_2_5} = 1 if ("$binary" eq "$binary_new");
-
-if (! -x "$binary") {
- # this shouldn't happen
- errmsg ("$binary is missing or not executable.",
- "Please try emerging the correct version of autoconf.");
-}
-
-exec $binary, @ARGV;
-
-errmsg ("was unable to exec $binary !?");
diff --git a/ac-wrapper.sh b/ac-wrapper.sh
new file mode 100755
index 0000000..1f1810d
--- /dev/null
+++ b/ac-wrapper.sh
@@ -0,0 +1,93 @@
+#!/bin/bash
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/autoconf-wrapper/files/ac-wrapper-1.sh,v 1.1 2004/11/14 03:40:51 vapier Exp $
+
+# Based on the ac-wrapper.pl script provided by MandrakeSoft
+# Rewritten in bash by Gregorio Guidi
+#
+# Executes the correct autoconf version.
+#
+# - defaults to latest version (2.5x)
+# - runs autoconf 2.13 only if:
+# - envvar WANT_AUTOCONF is set to `2.1'
+# -or-
+# - `configure' is already present and was generated by autoconf 2.13
+
+if [ "${0##*/}" = "ac-wrapper.sh" ] ; then
+ echo "Don't call this script directly" >&2
+ exit 1
+fi
+
+if [ "${WANT_AUTOCONF}" = "2.1" -a "${0##*/}" = "autom4te" ] ; then
+ echo "ac-wrapper: Autoconf 2.13 doesn't contain autom4te." >&2
+ echo " Either unset WANT_AUTOCONF or don't execute anything" >&2
+ echo " that would use autom4te." >&2
+ exit 1
+fi
+
+binary_new="${0}-2.59"
+binary_old="${0}-2.13"
+binary="${binary_new}"
+
+#
+# autodetect routine
+#
+if [ -f "configure.ac" -o -f "configure.in" ] ; then
+ if [ "${WANT_AUTOCONF}" != "2.5" ] ; then
+ if [ "${WANT_AUTOCONF}" = "2.1" ] ; then
+ if [ ! -f "configure.ac" ] ; then
+ binary="${binary_old}"
+ else
+ echo "ac-wrapper: Since configure.ac is present, aclocal always use" >&2
+ echo " autoconf 2.59, which conflicts with your choice and" >&2
+ echo " causes error. You have two options:" >&2
+ echo " 1. Try execute command again after removing configure.ac" >&2
+ echo " 2. Don't set WANT_AUTOCONF" >&2
+ exit 1
+ fi
+ else
+ if [ -r "configure" ] ; then
+ confversion=$(awk \
+ '{
+ if (match($0,
+ "^# Generated (by (GNU )?Autoconf|automatically using autoconf version) ([0-9].[0-9])",
+ res))
+ { print res[3]; exit }
+ }' configure)
+ fi
+
+ if [ "${confversion}" = "2.1" -a ! -f "configure.ac" ] ; then
+ binary="${binary_old}"
+ fi
+ fi
+ fi
+fi
+
+if [ "${WANT_ACWRAPPER_DEBUG}" ] ; then
+ if [ -n "${WANT_AUTOCONF}" ] ; then
+ echo "ac-wrapper: DEBUG: WANT_AUTOCONF is set to ${WANT_AUTOCONF}" >&2
+ fi
+ echo "ac-wrapper: DEBUG: will execute <$binary>" >&2
+fi
+
+#
+# for further consistency
+#
+if [ "$binary" = "$binary_new" ] ; then
+ export WANT_AUTOCONF="2.5"
+elif [ "$binary" = "$binary_old" ] ; then
+ export WANT_AUTOCONF="2.1"
+fi
+
+if [ ! -x "$binary" ] ; then
+ # this shouldn't happen
+ echo "ac-wrapper: $binary is missing or not executable." >&2
+ echo " Please try emerging the correct version of autoconf." >&2
+ exit 1
+fi
+
+exec "$binary" "$@"
+
+echo "ac-wrapper: was unable to exec $binary !?" >&2
+exit 1