aboutsummaryrefslogtreecommitdiff
path: root/tools/automake
diff options
context:
space:
mode:
Diffstat (limited to 'tools/automake')
-rw-r--r--tools/automake/Makefile7
-rw-r--r--tools/automake/patches/000-relocatable.patch22
-rw-r--r--tools/automake/patches/100-aclocal-skip-not-existing-directories.patch2
-rw-r--r--tools/automake/patches/101-do-not-require-files.patch13
-rw-r--r--tools/automake/patches/200-other-V-values-for-verbosity.patch4
-rw-r--r--tools/automake/patches/300-output-TRUE-cond-first.patch34
-rw-r--r--tools/automake/patches/310-maintainer-clean-built_sources.patch49
-rw-r--r--tools/automake/patches/999-clean-am.patch28
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