diff options
Diffstat (limited to 'tools/automake')
8 files changed, 130 insertions, 29 deletions
diff --git a/tools/automake/Makefile b/tools/automake/Makefile index 7f129c1d83..01cd9941d2 100644 --- a/tools/automake/Makefile +++ b/tools/automake/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=automake PKG_CPE_ID:=cpe:/a:gnu:automake -PKG_VERSION:=1.16.5 +PKG_VERSION:=1.18.1 PKG_API_VERSION:=$(word 2,$(subst ., ,$(PKG_VERSION))) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@GNU/automake -PKG_HASH:=07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605 +PKG_HASH:=63e585246d0fc8772dffdee0724f2f988146d1a3f1c756a3dc5cfbefa3c01915 include $(INCLUDE_DIR)/host-build.mk @@ -21,8 +21,7 @@ HOST_CONFIGURE_ARGS += \ --disable-silent-rules HOST_CONFIGURE_VARS += \ - PERL="/usr/bin/env perl" \ - am_cv_prog_PERL_ithreads=no + PERL="/usr/bin/env perl" define Host/Configure (cd $(HOST_BUILD_DIR); $(AM_TOOL_PATHS) STAGING_DIR_HOST="" ./bootstrap) diff --git a/tools/automake/patches/000-relocatable.patch b/tools/automake/patches/000-relocatable.patch index 0b61eaeb45..ec442ed3e3 100644 --- a/tools/automake/patches/000-relocatable.patch +++ b/tools/automake/patches/000-relocatable.patch @@ -1,6 +1,6 @@ --- a/lib/Automake/Config.in +++ b/lib/Automake/Config.in -@@ -34,7 +34,7 @@ our $PACKAGE = '@PACKAGE@'; +@@ -32,7 +32,7 @@ our $PACKAGE = '@PACKAGE@'; our $PACKAGE_BUGREPORT = '@PACKAGE_BUGREPORT@'; our $VERSION = '@VERSION@'; our $RELEASE_YEAR = '@RELEASE_YEAR@'; @@ -11,9 +11,9 @@ # We need at least this version for CLONE support. --- a/bin/aclocal.in +++ b/bin/aclocal.in -@@ -23,9 +23,11 @@ use 5.006; - use strict; - use warnings FATAL => 'all'; +@@ -21,9 +21,11 @@ + + use 5.006; use strict; use warnings; +$^W = 1; + @@ -24,22 +24,22 @@ unless $ENV{AUTOMAKE_UNINSTALLED}; } -@@ -65,8 +67,8 @@ $perl_threads = 0; - # ACLOCAL_PATH environment variable, and reset with the '--system-acdir' - # option. +@@ -63,8 +65,8 @@ $perl_threads = 0; + # --aclocal-path option/ACLOCAL_PATH environment variable, and reset + # with the '--system-acdir' option. my @user_includes = (); -my @automake_includes = ('@datadir@/aclocal-' . $APIVERSION); -my @system_includes = ('@datadir@/aclocal'); +my @automake_includes = ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . "/share/aclocal-$APIVERSION" : "@datadir@/aclocal-$APIVERSION"); +my @system_includes = ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/share/aclocal' : '@datadir@/aclocal'); + my $aclocal_path = ''; # Whether we should copy M4 file in $user_includes[0]. - my $install = 0; --- a/bin/automake.in +++ b/bin/automake.in -@@ -26,9 +26,11 @@ use 5.006; - use strict; - use warnings FATAL => 'all'; +@@ -24,9 +24,11 @@ package Automake; + + use 5.006; use strict; use warnings; +$^W = 1; + diff --git a/tools/automake/patches/100-aclocal-skip-not-existing-directories.patch b/tools/automake/patches/100-aclocal-skip-not-existing-directories.patch index a0d04e21e5..5ba02c0d85 100644 --- a/tools/automake/patches/100-aclocal-skip-not-existing-directories.patch +++ b/tools/automake/patches/100-aclocal-skip-not-existing-directories.patch @@ -1,6 +1,6 @@ --- a/bin/aclocal.in +++ b/bin/aclocal.in -@@ -371,6 +371,12 @@ sub scan_m4_dirs ($$@) +@@ -370,6 +370,12 @@ sub scan_m4_dirs ($$@) foreach my $m4dir (@dirlist) { diff --git a/tools/automake/patches/101-do-not-require-files.patch b/tools/automake/patches/101-do-not-require-files.patch index 3a8c9fcb47..7fbc330975 100644 --- a/tools/automake/patches/101-do-not-require-files.patch +++ b/tools/automake/patches/101-do-not-require-files.patch @@ -1,15 +1,6 @@ --- a/bin/automake.in +++ b/bin/automake.in -@@ -4513,7 +4513,7 @@ sub handle_gettext () - && grep ($_ eq 'intl', @subdirs)); - } - -- require_file ($ac_gettext_location, GNU, 'ABOUT-NLS'); -+ require_file ($ac_gettext_location, GNITS, 'ABOUT-NLS'); - } - - # Emit makefile footer. -@@ -5641,7 +5641,7 @@ sub check_gnu_standards () +@@ -5700,7 +5700,7 @@ sub check_gnu_standards () # otherwise require non-.md. my $required = (! -f $file && -f "$file.md") ? "$file.md" : $file; @@ -18,7 +9,7 @@ } # Accept one of these three licenses; default to COPYING. -@@ -5655,7 +5655,7 @@ sub check_gnu_standards () +@@ -5714,7 +5714,7 @@ sub check_gnu_standards () last; } } diff --git a/tools/automake/patches/200-other-V-values-for-verbosity.patch b/tools/automake/patches/200-other-V-values-for-verbosity.patch index 1ea9d38b0e..8a5a2d31bd 100644 --- a/tools/automake/patches/200-other-V-values-for-verbosity.patch +++ b/tools/automake/patches/200-other-V-values-for-verbosity.patch @@ -9,8 +9,8 @@ Subject: [PATCH] Allow other V values for verbosity --- a/m4/silent.m4 +++ b/m4/silent.m4 -@@ -43,7 +43,7 @@ else - fi]) +@@ -53,7 +53,7 @@ case $enable_silent_rules in @%:@ ((( + esac if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' diff --git a/tools/automake/patches/300-output-TRUE-cond-first.patch b/tools/automake/patches/300-output-TRUE-cond-first.patch new file mode 100644 index 0000000000..1ac655adff --- /dev/null +++ b/tools/automake/patches/300-output-TRUE-cond-first.patch @@ -0,0 +1,34 @@ +--- a/lib/Automake/Variable.pm ++++ b/lib/Automake/Variable.pm +@@ -1258,8 +1258,15 @@ sub output_variables () + foreach my $var (@vars) + { + my $v = rvar $var; ++ # Output unconditional definitions before conditional ones. ++ if ($v->def (TRUE)) { ++ $res .= $v->output (TRUE) ++ if $v->rdef (TRUE)->owner == VAR_AUTOMAKE; ++ } + foreach my $cond ($v->conditions->conds) + { ++ # TRUE is handled already. ++ next if $cond->string eq "TRUE"; + $res .= $v->output ($cond) + if $v->rdef ($cond)->owner == VAR_AUTOMAKE; + } +@@ -1269,8 +1276,15 @@ sub output_variables () + foreach my $var (@vars) + { + my $v = rvar $var; ++ # Output unconditional definitions before conditional ones. ++ if ($v->def (TRUE)) { ++ $res .= $v->output (TRUE) ++ if $v->rdef (TRUE)->owner != VAR_AUTOMAKE; ++ } + foreach my $cond ($v->conditions->conds) + { ++ # TRUE is handled already. ++ next if $cond->string eq "TRUE"; + $res .= $v->output ($cond) + if $v->rdef ($cond)->owner != VAR_AUTOMAKE; + } diff --git a/tools/automake/patches/310-maintainer-clean-built_sources.patch b/tools/automake/patches/310-maintainer-clean-built_sources.patch new file mode 100644 index 0000000000..5166c630da --- /dev/null +++ b/tools/automake/patches/310-maintainer-clean-built_sources.patch @@ -0,0 +1,49 @@ +--- a/bin/automake.in ++++ b/bin/automake.in +@@ -4760,12 +4760,42 @@ sub handle_clean + if var ('CLEANFILES'); + $clean_files{'$(DISTCLEANFILES)'} = DIST_CLEAN + if var ('DISTCLEANFILES'); +- $clean_files{'$(MAINTAINERCLEANFILES)'} = MAINTAINER_CLEAN +- if var ('MAINTAINERCLEANFILES'); + + # Built sources are automatically removed by maintainer-clean. +- $clean_files{'$(BUILT_SOURCES)'} = MAINTAINER_CLEAN +- if var ('BUILT_SOURCES'); ++ # For each defined condition of the maintainer-clean variable, append built sources ++ # and create an unconditional definition with built sources if not already defined. ++ # Then, for each definition of built sources without maintainer-clean defined, define it. ++ # Otherwise, if the variable is not user-defined, define it with built sources. ++ my $mcleanvar = var ('MAINTAINERCLEANFILES'); ++ if ($mcleanvar) { ++ foreach my $rcond ($mcleanvar->conditions->conds) ++ { ++ if (! grep { $_ eq '$(BUILT_SOURCES)' } $mcleanvar->value_as_list ($rcond)) { ++ Automake::Variable::define ($mcleanvar->name, VAR_MAKEFILE, '+', $rcond, ++ '$(BUILT_SOURCES)', '', INTERNAL, VAR_ASIS) ++ if var ('BUILT_SOURCES'); ++ } ++ } ++ my $bsources = var ('BUILT_SOURCES'); ++ if ($bsources) { ++ foreach my $rcond ($bsources->conditions->conds) ++ { ++ Automake::Variable::define ($mcleanvar->name, VAR_MAKEFILE, '', $rcond, ++ '$(BUILT_SOURCES)', '', INTERNAL, VAR_ASIS) ++ if ! ($mcleanvar->def ($rcond) || $mcleanvar->def (TRUE)); ++ } ++ if (! $mcleanvar->def (TRUE)) { ++ Automake::Variable::define ($mcleanvar->name, VAR_MAKEFILE, '', TRUE, ++ '$(BUILT_SOURCES)', '', INTERNAL, VAR_ASIS); ++ } ++ } ++ } else { ++ Automake::Variable::define ('MAINTAINERCLEANFILES', VAR_MAKEFILE, '', TRUE, ++ '$(BUILT_SOURCES)', '', INTERNAL, VAR_ASIS) ++ if var ('BUILT_SOURCES'); ++ } ++ $clean_files{'$(MAINTAINERCLEANFILES)'} = MAINTAINER_CLEAN ++ if var ('MAINTAINERCLEANFILES'); + + # Compute a list of "rm"s to run for each target. + my %rms = (MOSTLY_CLEAN, [], diff --git a/tools/automake/patches/999-clean-am.patch b/tools/automake/patches/999-clean-am.patch new file mode 100644 index 0000000000..a9642d1c79 --- /dev/null +++ b/tools/automake/patches/999-clean-am.patch @@ -0,0 +1,28 @@ +--- a/lib/am/clean.am ++++ b/lib/am/clean.am +@@ -39,7 +39,7 @@ distclean-generic: + ## If you change distclean here, you probably also want to change + ## maintainer-clean below. + distclean: +- -rm -f %MAKEFILE% ++ -touch %MAKEFILE% + + maintainer-clean-am: maintainer-clean-generic distclean-am + maintainer-clean-generic: +@@ -51,7 +51,7 @@ maintainer-clean-generic: + + ## See comment for distclean. + maintainer-clean: +- -rm -f %MAKEFILE% ++ -touch %MAKEFILE% + + .PHONY: clean mostlyclean distclean maintainer-clean \ + clean-generic mostlyclean-generic distclean-generic maintainer-clean-generic +--- a/lib/am/libtool.am ++++ b/lib/am/libtool.am +@@ -25,4 +25,4 @@ clean-libtool: + + ?TOPDIR_P?distclean-am: distclean-libtool + ?TOPDIR_P?distclean-libtool: +-?TOPDIR_P? -rm -f libtool config.lt ++?TOPDIR_P? -touch libtool config.lt |