From a5a790a68f2f69342a74c01ae2657e38b3f3c4c3 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Fri, 20 Jan 2012 02:56:08 +0000 Subject: [PATCH] autoconf: make relocatable by searching resources relative to STAGING_DIR SVN-Revision: 29821 --- tools/autoconf/patches/000-relocatable.patch | 100 ++++++++++++++++++ tools/autoconf/patches/001-no_emacs_lib.patch | 2 +- 2 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 tools/autoconf/patches/000-relocatable.patch diff --git a/tools/autoconf/patches/000-relocatable.patch b/tools/autoconf/patches/000-relocatable.patch new file mode 100644 index 0000000000..0fe830a7ec --- /dev/null +++ b/tools/autoconf/patches/000-relocatable.patch @@ -0,0 +1,100 @@ +--- a/bin/autoheader.in ++++ b/bin/autoheader.in +@@ -29,7 +29,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0"; + + BEGIN + { +- my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@'; ++ my $pkgdatadir = $ENV{'autom4te_perllibdir'} || ++ ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/share/autoconf' : '@pkgdatadir@'); + unshift @INC, "$pkgdatadir"; + + # Override SHELL. On DJGPP SHELL may not be set to a shell +--- a/bin/autom4te.in ++++ b/bin/autom4te.in +@@ -25,7 +25,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0"; + + BEGIN + { +- my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@'; ++ my $pkgdatadir = $ENV{'autom4te_perllibdir'} || ++ ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/share/autoconf' : '@pkgdatadir@'); + unshift @INC, $pkgdatadir; + + # Override SHELL. On DJGPP SHELL may not be set to a shell +@@ -45,7 +46,8 @@ use File::Basename; + use strict; + + # Data directory. +-my $pkgdatadir = $ENV{'AC_MACRODIR'} || '@pkgdatadir@'; ++my $pkgdatadir = $ENV{'AC_MACRODIR'} || ++ ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/share/autoconf' : '@pkgdatadir@'); + + # $LANGUAGE{LANGUAGE} -- Automatic options for LANGUAGE. + my %language; +--- a/bin/autoreconf.in ++++ b/bin/autoreconf.in +@@ -27,7 +27,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0"; + + BEGIN + { +- my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@'; ++ my $pkgdatadir = $ENV{'autom4te_perllibdir'} || ++ ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/share/autoconf' : '@pkgdatadir@'); + unshift @INC, $pkgdatadir; + + # Override SHELL. On DJGPP SHELL may not be set to a shell +--- a/bin/autoscan.in ++++ b/bin/autoscan.in +@@ -26,7 +26,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0"; + + BEGIN + { +- my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@'; ++ my $pkgdatadir = $ENV{'autom4te_perllibdir'} || ++ ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/share/autoconf' : '@pkgdatadir@'); + unshift @INC, $pkgdatadir; + + # Override SHELL. On DJGPP SHELL may not be set to a shell +@@ -95,7 +96,7 @@ my $log; + my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@'; + my $autoconf = "$autom4te --language=autoconf"; + my @prepend_include; +-my @include = ('@pkgdatadir@'); ++my @include = ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/share/autoconf' : '@pkgdatadir@'); + + # $help + # ----- +--- a/bin/autoupdate.in ++++ b/bin/autoupdate.in +@@ -27,7 +27,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0"; + + BEGIN + { +- my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@'; ++ my $pkgdatadir = $ENV{'autom4te_perllibdir'} || ++ ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/share/autoconf' : '@pkgdatadir@'); + unshift @INC, $pkgdatadir; + + # Override SHELL. On DJGPP SHELL may not be set to a shell +@@ -51,7 +52,7 @@ my $autom4te = $ENV{'AUTOM4TE'} || '@bin + my $autoconf = "$autom4te --language=autoconf"; + # We need to find m4sugar. + my @prepend_include; +-my @include = ('@pkgdatadir@'); ++my @include = ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/share/autoconf' : '@pkgdatadir@'); + my $force = 0; + # m4. + my $m4 = $ENV{"M4"} || '@M4@'; +--- a/bin/ifnames.in ++++ b/bin/ifnames.in +@@ -31,7 +31,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0"; + + BEGIN + { +- my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@'; ++ my $pkgdatadir = $ENV{'autom4te_perllibdir'} || ++ ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/share/autoconf' : '@pkgdatadir@'); + unshift @INC, $pkgdatadir; + + # Override SHELL. On DJGPP SHELL may not be set to a shell diff --git a/tools/autoconf/patches/001-no_emacs_lib.patch b/tools/autoconf/patches/001-no_emacs_lib.patch index 435fb92ee4..02e115d48b 100644 --- a/tools/autoconf/patches/001-no_emacs_lib.patch +++ b/tools/autoconf/patches/001-no_emacs_lib.patch @@ -11,7 +11,7 @@ --- a/lib/Makefile.in +++ b/lib/Makefile.in -@@ -165,7 +165,7 @@ target_alias = @target_alias@ +@@ -226,7 +226,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@