diff options
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 0000000000..ca73d2d34f --- /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 0000000000..c19783933c --- /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 7e80ea60bf..5478f3e79c 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" |