autoconf: portability fixes
authorJo-Philipp Wich <jow@openwrt.org>
Tue, 24 Mar 2015 13:12:52 +0000 (13:12 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Tue, 24 Mar 2015 13:12:52 +0000 (13:12 +0000)
The rework of the host tools discovery caused autoconf to embed
absolute paths to staging_dir/host/bin/perl into the shebang
of the generated autoconfig executables.

Switch to the portable "/usr/bin/env perl" and enable global
warnings through "$^W" instead of the "-w" interpreter argument.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44971 3c298f89-4303-0410-b956-a3cf2f4a3e73

tools/autoconf/Makefile
tools/autoconf/patches/000-relocatable.patch
tools/autoconf/patches/001-no_emacs_lib.patch

index ec154e4..c45855c 100644 (file)
@@ -1,5 +1,5 @@
 # 
-# Copyright (C) 2006-2014 OpenWrt.org
+# Copyright (C) 2006-2015 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -15,11 +15,11 @@ PKG_MD5SUM:=50f97f4159805e374639a73e2636f22e
 
 include $(INCLUDE_DIR)/host-build.mk
 
-define Host/Configure
-       $(call Host/Configure/Default,\
-               --datarootdir=$(STAGING_DIR_HOST)/share \
-       )
-endef
+HOST_CONFIGURE_ARGS += \
+       --datarootdir=$(STAGING_DIR_HOST)/share
+
+HOST_CONFIGURE_VARS += \
+       PERL="/usr/bin/env perl"
 
 define Host/Compile
        export SHELL="$(BASH)"; $(MAKE) -C $(HOST_BUILD_DIR)
index 0b83a2b..12e94ae 100644 (file)
@@ -1,6 +1,6 @@
 --- a/bin/autoheader.in
 +++ b/bin/autoheader.in
-@@ -29,7 +29,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0";
+@@ -28,7 +28,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0";
  
  BEGIN
  {
@@ -10,7 +10,7 @@
    unshift @INC, "$pkgdatadir";
  
    # Override SHELL.  On DJGPP SHELL may not be set to a shell
-@@ -51,7 +52,7 @@ use strict;
+@@ -50,7 +51,7 @@ use strict;
  use vars qw ($config_h %verbatim %symbol);
  
  # Lib files.
  my @prepend_include;
 --- a/bin/autom4te.in
 +++ b/bin/autom4te.in
-@@ -25,7 +25,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0";
+@@ -1,10 +1,12 @@
+-#! @PERL@ -w
++#! @PERL@
+ # -*- perl -*-
+ # @configure_input@
+ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
+     if 0;
++$^W = 1;
++
+ # autom4te - Wrapper around M4 libraries.
+ # Copyright (C) 2001-2003, 2005-2012 Free Software Foundation, Inc.
+@@ -24,7 +26,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0";
  
  BEGIN
  {
@@ -31,7 +45,7 @@
    unshift @INC, $pkgdatadir;
  
    # Override SHELL.  On DJGPP SHELL may not be set to a shell
-@@ -45,7 +46,8 @@ use File::Basename;
+@@ -44,7 +47,8 @@ use File::Basename;
  use strict;
  
  # Data directory.
@@ -41,7 +55,7 @@
  
  # $LANGUAGE{LANGUAGE} -- Automatic options for LANGUAGE.
  my %language;
-@@ -88,7 +90,7 @@ my @include;
+@@ -87,7 +91,7 @@ my @include;
  my $freeze = 0;
  
  # $M4.
@@ -50,7 +64,7 @@
  # Some non-GNU m4's don't reject the --help option, so give them /dev/null.
  fatal "need GNU m4 1.4 or later: $m4"
    if system "$m4 --help </dev/null 2>&1 | grep reload-state >/dev/null";
-@@ -270,6 +272,12 @@ sub load_configuration ($)
+@@ -269,6 +273,12 @@ sub load_configuration ($)
  
        my @words = shellwords ($_);
        my $type = shift @words;
          fatal "$file:$.: end-language missing for: $lang"
 --- a/bin/autoreconf.in
 +++ b/bin/autoreconf.in
-@@ -27,7 +27,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0";
+@@ -1,10 +1,12 @@
+-#! @PERL@ -w
++#! @PERL@
+ # -*- perl -*-
+ # @configure_input@
+ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
+     if 0;
++$^W = 1;
++
+ # autoreconf - install the GNU Build System in a directory tree
+ # Copyright (C) 1994, 1999-2012 Free Software Foundation, Inc.
+@@ -26,7 +28,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0";
  
  BEGIN
  {
    unshift @INC, $pkgdatadir;
  
    # Override SHELL.  On DJGPP SHELL may not be set to a shell
-@@ -107,9 +108,9 @@ Written by David J. MacKenzie and Akim D
+@@ -106,9 +109,9 @@ Written by David J. MacKenzie and Akim D
  ";
  
  # Lib files.
  my $libtoolize = $ENV{'LIBTOOLIZE'} || 'libtoolize';
 --- a/bin/autoscan.in
 +++ b/bin/autoscan.in
-@@ -26,7 +26,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0";
+@@ -1,4 +1,4 @@
+-#! @PERL@ -w
++#! @PERL@
+ # -*- perl -*-
+ # @configure_input@
  
+@@ -23,9 +23,12 @@
+ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
+     if 0;
++$^W = 1;
++
  BEGIN
  {
 -  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@';
    unshift @INC, $pkgdatadir;
  
    # Override SHELL.  On DJGPP SHELL may not be set to a shell
-@@ -92,10 +93,10 @@ my $configure_scan = 'configure.scan';
+@@ -91,10 +94,10 @@ my $configure_scan = 'configure.scan';
  my $log;
  
  # Autoconf and lib files.
  # -----
 --- a/bin/autoupdate.in
 +++ b/bin/autoupdate.in
-@@ -27,7 +27,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0";
+@@ -1,4 +1,4 @@
+-#! @PERL@ -w
++#! @PERL@
+ # -*- perl -*-
+ # @configure_input@
  
+@@ -24,9 +24,12 @@
+ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
+     if 0;
++$^W = 1;
++
  BEGIN
  {
 -  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@';
    unshift @INC, $pkgdatadir;
  
    # Override SHELL.  On DJGPP SHELL may not be set to a shell
-@@ -51,10 +52,10 @@ my $autom4te = $ENV{'AUTOM4TE'} || '@bin
+@@ -50,10 +53,10 @@ my $autom4te = $ENV{'AUTOM4TE'} || '@bin
  my $autoconf = "$autom4te --language=autoconf";
  # We need to find m4sugar.
  my @prepend_include;
  # $HELP
 --- a/bin/ifnames.in
 +++ b/bin/ifnames.in
-@@ -31,7 +31,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0";
+@@ -1,10 +1,12 @@
+-#! @PERL@ -w
++#! @PERL@
+ # -*- perl -*-
+ # @configure_input@
+ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
+     if 0;
++$^W = 1;
++
+ # ifnames - print the identifiers used in C preprocessor conditionals
+ # Copyright (C) 1994-1995, 1999-2003, 2005-2012 Free Software
+@@ -31,7 +33,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0";
  
  BEGIN
  {
    # Override SHELL.  On DJGPP SHELL may not be set to a shell
 --- a/bin/autoconf.as
 +++ b/bin/autoconf.as
-@@ -85,7 +85,11 @@ exit_missing_arg='
+@@ -84,7 +84,11 @@ exit_missing_arg='
  # restore font-lock: '
  
  # Variables.
index 02e115d..35c5164 100644 (file)
@@ -1,6 +1,6 @@
 --- a/lib/Makefile.am
 +++ b/lib/Makefile.am
-@@ -16,7 +16,7 @@
+@@ -15,7 +15,7 @@
  # You should have received a copy of the GNU General Public License
  # along with this program.  If not, see <http://www.gnu.org/licenses/>.
  
@@ -11,7 +11,7 @@
  
 --- a/lib/Makefile.in
 +++ b/lib/Makefile.in
-@@ -226,7 +226,7 @@ target_alias = @target_alias@
+@@ -225,7 +225,7 @@ target_alias = @target_alias@
  top_build_prefix = @top_build_prefix@
  top_builddir = @top_builddir@
  top_srcdir = @top_srcdir@