summaryrefslogtreecommitdiffstats
path: root/main/autoconf
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2010-07-13 08:43:03 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2010-07-13 08:43:03 +0000
commit571edbf6b4db727a3fac031d360da348879a54a9 (patch)
tree63946ce435dd08f362c7e4454b4980a5d56b68c9 /main/autoconf
parent1078f3c17b23f2cebb1de5b4a4785c4749651701 (diff)
main/autoconf: fix 2 regressions
fixes comes from upstream: http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commit;h=49a6f8a8b52060d8fe0f97aa6f1d5c47b40b65c1 http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commit;h=dfda4402552ac26ce91399e2a812aee4772a512e
Diffstat (limited to 'main/autoconf')
-rw-r--r--main/autoconf/0001-Fix-regression-of-AC_CONFIG_SUBDIRS-with-multiple-ar.patch122
-rw-r--r--main/autoconf/0002-Fix-regression-of-AC_CHECK_SIZEOF-on-pointer-types.patch111
-rw-r--r--main/autoconf/APKBUILD22
3 files changed, 252 insertions, 3 deletions
diff --git a/main/autoconf/0001-Fix-regression-of-AC_CONFIG_SUBDIRS-with-multiple-ar.patch b/main/autoconf/0001-Fix-regression-of-AC_CONFIG_SUBDIRS-with-multiple-ar.patch
new file mode 100644
index 00000000000..ca73d2d34fc
--- /dev/null
+++ b/main/autoconf/0001-Fix-regression-of-AC_CONFIG_SUBDIRS-with-multiple-ar.patch
@@ -0,0 +1,122 @@
+From 49a6f8a8b52060d8fe0f97aa6f1d5c47b40b65c1 Mon Sep 17 00:00:00 2001
+From: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+Date: Tue, 6 Jul 2010 22:31:33 +0200
+Subject: [PATCH 1/5] Fix regression of AC_CONFIG_SUBDIRS with multiple arguments.
+
+* lib/autoconf/status.m4 (AC_CONFIG_SUBDIRS): Do not assume the
+argument is a single word.
+* tests/torture.at (Deep Package): Extend test to cover this.
+(Non-literal AC_CONFIG_SUBDIRS): New test.
+* doc/autoconf.texi (Subdirectories): Add example marker.
+* NEWS: Update.
+Report by Bruno Haible.
+
+Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+---
+ ChangeLog | 12 ++++++++++
+ NEWS | 2 +
+ doc/autoconf.texi | 1 +
+ lib/autoconf/status.m4 | 2 +-
+ tests/torture.at | 54 +++++++++++++++++++++++++++++++++++++++++++++++-
+ 5 files changed, 69 insertions(+), 2 deletions(-)
+
+diff --git a/doc/autoconf.texi b/doc/autoconf.texi
+index 0c106c7..39c2ba6 100644
+--- a/doc/autoconf.texi
++++ b/doc/autoconf.texi
+@@ -3617,6 +3617,7 @@ Make @code{AC_OUTPUT} run @command{configure} in each subdirectory
+ be a literal, i.e., please do not use:
+
+ @example
++@c If you change this example, adjust tests/torture.at:Non-literal AC_CONFIG_SUBDIRS.
+ if test "x$package_foo_enabled" = xyes; then
+ my_subdirs="$my_subdirs foo"
+ fi
+diff --git a/lib/autoconf/status.m4 b/lib/autoconf/status.m4
+index 52b7a3d..b9e7026 100644
+--- a/lib/autoconf/status.m4
++++ b/lib/autoconf/status.m4
+@@ -1102,7 +1102,7 @@ AC_DEFUN([AC_CONFIG_SUBDIRS],
+ _AC_CONFIG_COMPUTE_DEST(], [))])]dnl
+ [m4_append([_AC_LIST_SUBDIRS], [$1], [
+ ])]dnl
+-[AS_LITERAL_WORD_IF([$1], [],
++[AS_LITERAL_IF([$1], [],
+ [AC_DIAGNOSE([syntax], [$0: you should use literals])])]dnl
+ [AC_SUBST([subdirs], ["$subdirs m4_normalize([$1])"])])
+
+diff --git a/tests/torture.at b/tests/torture.at
+index 5f13874..e7f61ed 100644
+--- a/tests/torture.at
++++ b/tests/torture.at
+@@ -1567,7 +1567,9 @@ AC_ARG_VAR([INNER2], [an inner2 variable])
+ AC_OUTPUT
+ ]])
+
+-AT_CHECK([autoreconf -Wall -v], [0], [ignore], [ignore])
++AT_CHECK([autoreconf -Wall -v], [0], [ignore], [stderr])
++# We should not warn about nonliteral argument to AC_CONFIG_SUBDIRS here.
++AT_CHECK([grep 'AC_CONFIG_SUBDIRS:.*literals' stderr], [1])
+ AT_CHECK([test -f inner/configure])
+ AT_CHECK([test -f inner/innermost/configure])
+ AT_CHECK([test -f inner/innermost/config.hin])
+@@ -1693,6 +1695,56 @@ AT_CHECK([test -f inner/myfile], 0)
+ AT_CLEANUP
+
+
++## ------------------------------- ##
++## Non-literal AC_CONFIG_SUBDIRS. ##
++## ------------------------------- ##
++
++AT_SETUP([Non-literal AC_CONFIG_SUBDIRS])
++AT_KEYWORDS([autoreconf])
++
++# We use aclocal (via autoreconf).
++AT_CHECK([aclocal --version || exit 77], [], [ignore], [ignore])
++
++AT_DATA([install-sh], [])
++AT_DATA([configure.in],
++[[AC_INIT(GNU Outer, 1.0)
++
++my_subdirs=
++# Taken from autoconf.texi:Subdirectories.
++if test "x$package_foo_enabled" = xyes; then
++ my_subdirs="$my_subdirs foo"
++fi
++AC_CONFIG_SUBDIRS([$my_subdirs])
++AC_OUTPUT
++]])
++
++AS_MKDIR_P([foo])
++
++AT_DATA([foo/configure],
++[[#! /bin/sh
++touch innerfile
++exit 0
++]])
++chmod +x foo/configure
++
++# autoreconf should warn without -Wno-syntax, but should not fail without -Werror.
++AT_CHECK([autoreconf -Werror -v], [1], [ignore], [stderr])
++AT_CHECK([grep 'AC_CONFIG_SUBDIRS:.*literals' stderr], [0], [ignore])
++AT_CHECK([autoreconf -v], [0], [ignore], [stderr])
++AT_CHECK([grep 'AC_CONFIG_SUBDIRS:.*literals' stderr], [0], [ignore])
++# We cannot assume aclocal won't warn (aclocal-1.9 does not understand -W*
++# options), so check autoconf only.
++AT_CHECK([autoconf --force -Wno-syntax], 0, [ignore], [stderr])
++AT_CHECK([grep 'AC_CONFIG_SUBDIRS:.*literals' stderr], [1])
++
++AT_CHECK([./configure $configure_options], [0], [ignore])
++AT_CHECK([test ! -f foo/innerfile])
++# Running the outer configure should trigger the inner.
++AT_CHECK([./configure $configure_options package_foo_enabled=yes], [0], [ignore])
++AT_CHECK([test -f foo/innerfile])
++
++AT_CLEANUP
++
+
+ ## ----------------- ##
+ ## Empty directory. ##
+--
+1.7.1.1
+
diff --git a/main/autoconf/0002-Fix-regression-of-AC_CHECK_SIZEOF-on-pointer-types.patch b/main/autoconf/0002-Fix-regression-of-AC_CHECK_SIZEOF-on-pointer-types.patch
new file mode 100644
index 00000000000..c19783933c4
--- /dev/null
+++ b/main/autoconf/0002-Fix-regression-of-AC_CHECK_SIZEOF-on-pointer-types.patch
@@ -0,0 +1,111 @@
+From dfda4402552ac26ce91399e2a812aee4772a512e Mon Sep 17 00:00:00 2001
+From: Eric Blake <eblake@redhat.com>
+Date: Tue, 6 Jul 2010 22:00:44 +0200
+Subject: [PATCH 2/5] Fix regression of AC_CHECK_SIZEOF on pointer types.
+
+* lib/autoconf/types.m4 (AC_CHECK_SIZEOF): Translate `*' to `p'
+when checking literal-ness of the type, for pointer types.
+* lib/m4sugar/m4sh.m4 (_AS_TR_SH): Also consider `*' as literal.
+(_AS_TR_CPP): Likewise.
+* tests/semantics.at (AC_CHECK_ALIGNOF struct): When checking
+for numeric answer, be sure to not allow variable references.
+(AC_CHECK_SIZEOF struct): Likewise. Also, test the
+`AC_CHECK_SIZEOF([int *])' example from the manual.
+* doc/autoconf.texi (Generic Compiler Characteristics): Add
+example marker.
+* NEWS: Update.
+Reports by Nishio Futoshi and Roberto Bagnara.
+
+Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+---
+ ChangeLog | 17 +++++++++++++++++
+ NEWS | 3 +++
+ doc/autoconf.texi | 1 +
+ lib/autoconf/types.m4 | 2 +-
+ lib/m4sugar/m4sh.m4 | 4 ++--
+ tests/semantics.at | 10 +++++++---
+ 6 files changed, 31 insertions(+), 6 deletions(-)
+
+diff --git a/doc/autoconf.texi b/doc/autoconf.texi
+index 39c2ba6..76b01c9 100644
+--- a/doc/autoconf.texi
++++ b/doc/autoconf.texi
+@@ -6957,6 +6957,7 @@ argument was used when cross-compiling.
+ For example, the call
+
+ @example
++@c If you change this example, adjust tests/semantics.at:AC_F77_DUMMY_MAIN usage.
+ AC_CHECK_SIZEOF([int *])
+ @end example
+
+diff --git a/lib/autoconf/types.m4 b/lib/autoconf/types.m4
+index ee07148..9f482da 100644
+--- a/lib/autoconf/types.m4
++++ b/lib/autoconf/types.m4
+@@ -763,7 +763,7 @@ Remove this warning and the `AC_CACHE_CHECK' when you adjust the code.])
+ # AC_CHECK_SIZEOF(TYPE, [IGNORED], [INCLUDES = DEFAULT-INCLUDES])
+ # ---------------------------------------------------------------
+ AC_DEFUN([AC_CHECK_SIZEOF],
+-[AS_LITERAL_IF([$1], [],
++[AS_LITERAL_IF(m4_translit([[$1]], [*], [p]), [],
+ [m4_fatal([$0: requires literal arguments])])]dnl
+ [# The cast to long int works around a bug in the HP C Compiler
+ # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4
+index e1d03d9..6fbc9e1 100644
+--- a/lib/m4sugar/m4sh.m4
++++ b/lib/m4sugar/m4sh.m4
+@@ -1779,7 +1779,7 @@ m4_defun_init([AS_TR_SH],
+ [_$0(m4_expand([$1]))])
+
+ m4_define([_AS_TR_SH],
+-[_AS_LITERAL_IF([$1], [ ][
++[_AS_LITERAL_IF([$1], [*][ ][
+ ])([], [$0_INDIR], [$0_LITERAL])([$1])])
+
+ m4_define([_AS_TR_SH_LITERAL],
+@@ -1812,7 +1812,7 @@ m4_defun_init([AS_TR_CPP],
+ [_$0(m4_expand([$1]))])
+
+ m4_define([_AS_TR_CPP],
+-[_AS_LITERAL_IF([$1], [ ][
++[_AS_LITERAL_IF([$1], [*][ ][
+ ])([], [$0_INDIR], [$0_LITERAL])([$1])])
+
+ m4_define([_AS_TR_CPP_LITERAL],
+diff --git a/tests/semantics.at b/tests/semantics.at
+index b703fd4..48136cd 100644
+--- a/tests/semantics.at
++++ b/tests/semantics.at
+@@ -350,7 +350,7 @@ AT_CHECK_MACRO_CROSS([AC_CHECK_ALIGNOF struct],
+ [[AC_CHECK_ALIGNOF([struct { char c; }])
+ AC_CHECK_ALIGNOF([struct nosuchstruct])
+ ]],
+-[AT_CHECK([[grep "#define ALIGNOF_STRUCT___CHAR_C___ [^0]" config.h]],
++[AT_CHECK([[grep "#define ALIGNOF_STRUCT___CHAR_C___ [1-9]" config.h]],
+ 0, ignore)
+ AT_CHECK([[grep "#define ALIGNOF_STRUCT_NOSUCHSTRUCT 0" config.h]],
+ 0, ignore)
+@@ -379,13 +379,17 @@ AT_CHECK_MACRO_CROSS([AC_CHECK_SIZEOF struct],
+ AC_CHECK_SIZEOF([struct x], [], [struct x { char c; int x; };])
+ AC_CHECK_SIZEOF([const struct x], [], [struct x { const char *p; int x; };])
+ AC_CHECK_SIZEOF([struct nosuchstruct])
++# Taken from autoconf.texi:Generic Compiler Characteristics.
++AC_CHECK_SIZEOF([int *])
+ ]],
+-[AT_CHECK([[grep "#define SIZEOF_STRUCT_X [^0]" config.h]],
++[AT_CHECK([[grep "#define SIZEOF_STRUCT_X [1-9]" config.h]],
+ 0, ignore)
+-AT_CHECK([[grep "#define SIZEOF_CONST_STRUCT_X [^0]" config.h]],
++AT_CHECK([[grep "#define SIZEOF_CONST_STRUCT_X [1-9]" config.h]],
+ 0, ignore)
+ AT_CHECK([[grep "#define SIZEOF_STRUCT_NOSUCHSTRUCT 0" config.h]],
+ 0, ignore)
++AT_CHECK([[grep "#define SIZEOF_INT_P [1-9]" config.h]],
++ 0, ignore)
+ ])
+
+
+--
+1.7.1.1
+
diff --git a/main/autoconf/APKBUILD b/main/autoconf/APKBUILD
index 7e80ea60bf8..5478f3e79c4 100644
--- a/main/autoconf/APKBUILD
+++ b/main/autoconf/APKBUILD
@@ -1,14 +1,28 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=autoconf
pkgver=2.66
-pkgrel=0
+pkgrel=1
pkgdesc="A GNU tool for automatically configuring source code"
license="GPL2 GPL3"
url="http://www.gnu.org/software/autoconf"
depends="m4 perl"
-source="ftp://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+source="ftp://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ 0001-Fix-regression-of-AC_CONFIG_SUBDIRS-with-multiple-ar.patch
+ 0002-Fix-regression-of-AC_CHECK_SIZEOF-on-pointer-types.patch
+ "
subpackages="$pkgname-doc"
+prepare() {
+ cd "$srcdir"/$pkgname-$pkgver
+ for i in $source; do
+ case $i in
+ *.patch)
+ msg "Applying $i"
+ patch -p1 -i "$srcdir"/$i || return 1
+ esac
+ done
+}
+
build() {
cd "$srcdir"/$pkgname-$pkgver
M4=/usr/bin/m4 ./configure --prefix=/usr
@@ -23,4 +37,6 @@ package() {
rm -f "$pkgdir"/usr/share/info/standards.info
}
-md5sums="fb00d77cbc468994c55919298af1ff02 autoconf-2.66.tar.gz"
+md5sums="fb00d77cbc468994c55919298af1ff02 autoconf-2.66.tar.gz
+f01c3e92881326c68e62c1cf57aad0ad 0001-Fix-regression-of-AC_CONFIG_SUBDIRS-with-multiple-ar.patch
+89fd929761deaaaaa1f1926ddb99085c 0002-Fix-regression-of-AC_CHECK_SIZEOF-on-pointer-types.patch"