diff options
author | James <> | 2015-11-04 11:49:21 +0000 |
---|---|---|
committer | James <> | 2015-11-04 11:49:21 +0000 |
commit | 716ca530e1c4515d8683c9d5be3d56b301758b66 (patch) | |
tree | 700eb5bcc1a462a5f21dcec15ce7c97ecfefa772 /tools/autoconf | |
download | trunk-47381-master.tar.gz trunk-47381-master.tar.bz2 trunk-47381-master.zip |
Diffstat (limited to 'tools/autoconf')
-rw-r--r-- | tools/autoconf/Makefile | 37 | ||||
-rw-r--r-- | tools/autoconf/patches/000-relocatable.patch | 229 | ||||
-rw-r--r-- | tools/autoconf/patches/001-no_emacs_lib.patch | 22 | ||||
-rw-r--r-- | tools/autoconf/patches/002-musl_host_fixup.patch | 24 |
4 files changed, 312 insertions, 0 deletions
diff --git a/tools/autoconf/Makefile b/tools/autoconf/Makefile new file mode 100644 index 0000000..c45855c --- /dev/null +++ b/tools/autoconf/Makefile @@ -0,0 +1,37 @@ +# +# Copyright (C) 2006-2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=autoconf +PKG_VERSION:=2.69 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz +PKG_SOURCE_URL:=@GNU/autoconf +PKG_MD5SUM:=50f97f4159805e374639a73e2636f22e + +include $(INCLUDE_DIR)/host-build.mk + +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) +endef + +define Host/Install + export SHELL="$(BASH)"; $(MAKE) -C $(HOST_BUILD_DIR) install +endef + +define Host/Clean + -export SHELL="$(BASH)"; $(MAKE) -C $(HOST_BUILD_DIR) uninstall + $(call Host/Clean/Default) +endef + +$(eval $(call HostBuild)) diff --git a/tools/autoconf/patches/000-relocatable.patch b/tools/autoconf/patches/000-relocatable.patch new file mode 100644 index 0000000..12e94ae --- /dev/null +++ b/tools/autoconf/patches/000-relocatable.patch @@ -0,0 +1,229 @@ +--- a/bin/autoheader.in ++++ b/bin/autoheader.in +@@ -28,7 +28,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 +@@ -50,7 +51,7 @@ use strict; + use vars qw ($config_h %verbatim %symbol); + + # Lib files. +-my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@'; ++my $autom4te = $ENV{'AUTOM4TE'} || ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/bin/@autom4te-name@' : '@bindir@/@autom4te-name@'); + local $config_h; + my $config_h_in; + my @prepend_include; +--- a/bin/autom4te.in ++++ b/bin/autom4te.in +@@ -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 + { +- 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 +@@ -44,7 +47,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; +@@ -87,7 +91,7 @@ my @include; + my $freeze = 0; + + # $M4. +-my $m4 = $ENV{"M4"} || '@M4@'; ++my $m4 = $ENV{"M4"} || ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/bin/m4' : '@M4@'); + # 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"; +@@ -269,6 +273,12 @@ sub load_configuration ($) + + my @words = shellwords ($_); + my $type = shift @words; ++ ++ if ($ENV{'STAGING_DIR'}) ++ { ++ @words = map { s!^@pkgdatadir@!$ENV{'STAGING_DIR'}/../host/share/autoconf!; $_ } @words; ++ } ++ + if ($type eq 'begin-language:') + { + fatal "$file:$.: end-language missing for: $lang" +--- a/bin/autoreconf.in ++++ b/bin/autoreconf.in +@@ -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 + { +- 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 +@@ -106,9 +109,9 @@ Written by David J. MacKenzie and Akim D + "; + + # Lib files. +-my $autoconf = $ENV{'AUTOCONF'} || '@bindir@/@autoconf-name@'; +-my $autoheader = $ENV{'AUTOHEADER'} || '@bindir@/@autoheader-name@'; +-my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@'; ++my $autoconf = $ENV{'AUTOCONF'} || ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/bin/@autoconf-name@' : '@bindir@/@autoconf-name@'); ++my $autoheader = $ENV{'AUTOHEADER'} || ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/bin/@autoheader-name@' : '@bindir@/@autoheader-name@'); ++my $autom4te = $ENV{'AUTOM4TE'} || ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/bin/@autom4te-name@' : '@bindir@/@autom4te-name@'); + my $automake = $ENV{'AUTOMAKE'} || 'automake'; + my $aclocal = $ENV{'ACLOCAL'} || 'aclocal'; + my $libtoolize = $ENV{'LIBTOOLIZE'} || 'libtoolize'; +--- a/bin/autoscan.in ++++ b/bin/autoscan.in +@@ -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@'; ++ 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 +@@ -91,10 +94,10 @@ my $configure_scan = 'configure.scan'; + my $log; + + # Autoconf and lib files. +-my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@'; ++my $autom4te = $ENV{'AUTOM4TE'} || ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/bin/@autom4te-name@' : '@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 +@@ -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@'; ++ 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 +@@ -50,10 +53,10 @@ 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@'; ++my $m4 = $ENV{"M4"} || ($ENV{'STAGING_DIR'} ? $ENV{'STAGING_DIR'} . '/../host/bin/m4' : '@M4@'); + + + # $HELP +--- a/bin/ifnames.in ++++ b/bin/ifnames.in +@@ -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 + { +- 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/autoconf.as ++++ b/bin/autoconf.as +@@ -84,7 +84,11 @@ exit_missing_arg=' + # restore font-lock: ' + + # Variables. +-: ${AUTOM4TE='@bindir@/@autom4te-name@'} ++if test -n "$STAGING_DIR"; then ++ : ${AUTOM4TE="$STAGING_DIR/../host/bin/@autom4te-name@"} ++else ++ : ${AUTOM4TE='@bindir@/@autom4te-name@'} ++fi + autom4te_options= + outfile= + verbose=false diff --git a/tools/autoconf/patches/001-no_emacs_lib.patch b/tools/autoconf/patches/001-no_emacs_lib.patch new file mode 100644 index 0000000..35c5164 --- /dev/null +++ b/tools/autoconf/patches/001-no_emacs_lib.patch @@ -0,0 +1,22 @@ +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -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/>. + +-SUBDIRS = Autom4te m4sugar autoconf autotest autoscan emacs ++SUBDIRS = Autom4te m4sugar autoconf autotest autoscan + nodist_pkgdata_DATA = autom4te.cfg + EXTRA_DIST = autom4te.in freeze.mk + +--- a/lib/Makefile.in ++++ b/lib/Makefile.in +@@ -225,7 +225,7 @@ target_alias = @target_alias@ + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-SUBDIRS = Autom4te m4sugar autoconf autotest autoscan emacs ++SUBDIRS = Autom4te m4sugar autoconf autotest autoscan + nodist_pkgdata_DATA = autom4te.cfg + EXTRA_DIST = autom4te.in freeze.mk + edit = sed \ diff --git a/tools/autoconf/patches/002-musl_host_fixup.patch b/tools/autoconf/patches/002-musl_host_fixup.patch new file mode 100644 index 0000000..4dcb1ec --- /dev/null +++ b/tools/autoconf/patches/002-musl_host_fixup.patch @@ -0,0 +1,24 @@ +--- a/build-aux/config.sub ++++ b/build-aux/config.sub +@@ -122,9 +122,9 @@ esac + # Here we must recognize all the valid KERNEL-OS combinations. + maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` + case $maybe_os in +- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ +- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ +- knetbsd*-gnu* | netbsd*-gnu* | \ ++ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-musl* | \ ++ linux-newlib* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ ++ kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os +@@ -1360,7 +1360,7 @@ case $os in + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-android* \ +- | -linux-newlib* | -linux-uclibc* \ ++ | -linux-musl* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ |