summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2015-03-24 13:12:52 +0000
committerJo-Philipp Wich <jow@openwrt.org>2015-03-24 13:12:52 +0000
commite0c8e20f8c0765f58707439057405d0eb946746c (patch)
tree104309f45f01d5ac25351cd3b4750165c22fb2aa /tools
parent8fdd0fb07c3f6bbe55d0a3ef49153e15a3538c7b (diff)
downloadmtk-20170518-e0c8e20f8c0765f58707439057405d0eb946746c.zip
mtk-20170518-e0c8e20f8c0765f58707439057405d0eb946746c.tar.gz
mtk-20170518-e0c8e20f8c0765f58707439057405d0eb946746c.tar.bz2
autoconf: portability fixes
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> SVN-Revision: 44971
Diffstat (limited to 'tools')
-rw-r--r--tools/autoconf/Makefile12
-rw-r--r--tools/autoconf/patches/000-relocatable.patch90
-rw-r--r--tools/autoconf/patches/001-no_emacs_lib.patch4
3 files changed, 84 insertions, 22 deletions
diff --git a/tools/autoconf/Makefile b/tools/autoconf/Makefile
index ec154e4..c45855c 100644
--- a/tools/autoconf/Makefile
+++ b/tools/autoconf/Makefile
@@ -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)
diff --git a/tools/autoconf/patches/000-relocatable.patch b/tools/autoconf/patches/000-relocatable.patch
index 0b83a2b..12e94ae 100644
--- a/tools/autoconf/patches/000-relocatable.patch
+++ b/tools/autoconf/patches/000-relocatable.patch
@@ -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.
@@ -21,7 +21,21 @@
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;
@@ -65,7 +79,21 @@
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
{
@@ -75,7 +103,7 @@
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.
@@ -90,8 +118,18 @@
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@';
@@ -100,7 +138,7 @@
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.
@@ -115,8 +153,18 @@
# -----
--- 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@';
@@ -125,7 +173,7 @@
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;
@@ -140,7 +188,21 @@
# $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
{
@@ -152,7 +214,7 @@
# 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.
diff --git a/tools/autoconf/patches/001-no_emacs_lib.patch b/tools/autoconf/patches/001-no_emacs_lib.patch
index 02e115d..35c5164 100644
--- a/tools/autoconf/patches/001-no_emacs_lib.patch
+++ b/tools/autoconf/patches/001-no_emacs_lib.patch
@@ -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@