From 2455644aa6240cbc1d2cb7416fa55f6874dd8265 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Mon, 20 Mar 2023 09:51:15 +0100 Subject: [PATCH] autoconf2.13: import gentoo patches especially the clang ones which we will require for clang v16 compatiblity. --- autoconf2.13/PKGBUILD | 30 +- ....13-Clang-16-fixes-for-various-tests.patch | 331 +++++++++++++++++ .../autoconf-2.13-K-R-decls-clang.patch | 346 ++++++++++++++++++ autoconf2.13/autoconf-2.13-perl-5.26.patch | 12 + autoconf2.13/autoconf-2.13-test-fixes.patch | 18 + 5 files changed, 732 insertions(+), 5 deletions(-) create mode 100644 autoconf2.13/autoconf-2.13-Clang-16-fixes-for-various-tests.patch create mode 100644 autoconf2.13/autoconf-2.13-K-R-decls-clang.patch create mode 100644 autoconf2.13/autoconf-2.13-perl-5.26.patch create mode 100644 autoconf2.13/autoconf-2.13-test-fixes.patch diff --git a/autoconf2.13/PKGBUILD b/autoconf2.13/PKGBUILD index 714bb531..8468f679 100644 --- a/autoconf2.13/PKGBUILD +++ b/autoconf2.13/PKGBUILD @@ -2,34 +2,54 @@ pkgname=autoconf2.13 pkgver=2.13 -pkgrel=5 +pkgrel=6 pkgdesc="A GNU tool for automatically configuring source code" arch=('any') license=('GPL2' 'GPL3' 'custom') url="https://www.gnu.org/software/autoconf" depends=('awk' 'm4' 'diffutils' 'bash' 'perl') makedepends=('make') -# for test-suite source=(https://ftp.gnu.org/pub/gnu/autoconf/autoconf-${pkgver}.tar.gz 0001-autoconf-2.13-version-specific-share-directory.patch autoconf2.1-texinfo.patch - autoconf-2.13-msys2.patch) + autoconf-2.13-msys2.patch + autoconf-2.13-Clang-16-fixes-for-various-tests.patch + autoconf-2.13-K-R-decls-clang.patch + autoconf-2.13-msys2.patch + autoconf-2.13-perl-5.26.patch + autoconf-2.13-test-fixes.patch) sha256sums=('f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e' '85257fad008fff943942e676fcc45df76d38429d5807fa59eb3eb1812dcd3a77' 'bb987bcd817988830d77c7acf377d14ca89629fb1e5dcea4cf193a7b0d44d62f' - '4d57e9ab72c5084233fce61bc0d9edb177971de5dd2ec376300dd224b029f87e') + '4d57e9ab72c5084233fce61bc0d9edb177971de5dd2ec376300dd224b029f87e' + '52aa69dbd82470c3b8d23e35477d40798a16814201c3c206f3cc058d7234d1b6' + '54406429dfe85950717e13a0a501f778f340d2395a82f830b740408c5284102c' + '4d57e9ab72c5084233fce61bc0d9edb177971de5dd2ec376300dd224b029f87e' + '770d85b03a90787950225bdf52e9e14ab66bd5d85dacb422e947fb8f644e55a6' + '43929d95e6050642385530df91084d4c073cec5cca727918d5ff84bc1e3059f5') prepare() { cd ${srcdir}/autoconf-${pkgver} + # MSYS2 patch -p2 -i ${srcdir}/autoconf2.1-texinfo.patch patch -p1 -i ${srcdir}/autoconf-2.13-msys2.patch patch -p1 -i ${srcdir}/0001-autoconf-2.13-version-specific-share-directory.patch + + # from gentoo: https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/autoconf/files + patch -p1 -i ${srcdir}/autoconf-2.13-test-fixes.patch + patch -p1 -i ${srcdir}/autoconf-2.13-perl-5.26.patch + patch -p1 -i ${srcdir}/autoconf-2.13-K-R-decls-clang.patch + patch -p1 -i ${srcdir}/autoconf-2.13-Clang-16-fixes-for-various-tests.patch } build() { cd ${srcdir}/autoconf-${pkgver} - ./configure --prefix=/usr --program-suffix=-2.13 + + ./configure \ + --prefix=/usr \ + --program-suffix=-2.13 + make } diff --git a/autoconf2.13/autoconf-2.13-Clang-16-fixes-for-various-tests.patch b/autoconf2.13/autoconf-2.13-Clang-16-fixes-for-various-tests.patch new file mode 100644 index 00000000..d158f797 --- /dev/null +++ b/autoconf2.13/autoconf-2.13-Clang-16-fixes-for-various-tests.patch @@ -0,0 +1,331 @@ +From cb92e8110d1f274b28d5c156a93c525d2b748644 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Wed, 9 Nov 2022 08:27:53 +0000 +Subject: [PATCH] Clang 16 fixes for various tests + +Fixes -Wimplicit-int and -Wimplicit-function-declaration +issues in various built-in tests. + +Noticed when building XEmacs 21.4 (thanks to matsl for reporting). + +Bug: https://bugs.gentoo.org/874366 +Signed-off-by: Sam James +--- a/acgeneral.m4 ++++ b/acgeneral.m4 +@@ -1988,7 +1988,8 @@ changequote([, ])dnl + AC_MSG_CHECKING(size of $1) + AC_CACHE_VAL(AC_CV_NAME, + [AC_TRY_RUN([#include +-main(void) ++#include ++int main(void) + { + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); +--- a/acspecific.m4 ++++ b/acspecific.m4 +@@ -371,7 +371,7 @@ changequote(, )dnl + sed -e 's/[^a-zA-Z0-9_]/_/g' -e 's/^[0-9]/_/'`" + changequote([, ])dnl + AC_CACHE_VAL(ac_cv_prog_cc_${ac_cc}_c_o, +-[echo 'foo(void){}' > conftest.c ++[echo 'int foo(void){}' > conftest.c + # Make sure it works both with $CC and with simple cc. + # We do the test twice because some compilers refuse to overwrite an + # existing .o file with -o, though they will create one. +@@ -706,6 +706,7 @@ fi + if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + AC_TRY_RUN([#include ++#include + #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') + #define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) + #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +@@ -819,6 +820,7 @@ esac + + AC_CACHE_CHECK(whether closedir returns void, ac_cv_func_closedir_void, + [AC_TRY_RUN([#include ++#include + #include <$ac_header_dirent> + int closedir(...); int main(void) { exit(closedir(opendir(".")) != 0); }], + ac_cv_func_closedir_void=no, ac_cv_func_closedir_void=yes, ac_cv_func_closedir_void=yes)]) +@@ -907,6 +909,8 @@ AC_CACHE_CHECK(type of array argument to getgroups, ac_cv_type_getgroups, + changequote(<<, >>)dnl + << + /* Thanks to Mike Rendell for this test. */ ++#include ++#include + #include + #define NGID 256 + #undef MAX +@@ -988,6 +992,7 @@ AC_DEFUN(AC_FUNC_CLOSEDIR_VOID, + [AC_REQUIRE([AC_HEADER_DIRENT])dnl + AC_CACHE_CHECK(whether closedir returns void, ac_cv_func_closedir_void, + [AC_TRY_RUN([#include ++#include + #include <$ac_header_dirent> + int closedir(...); int main(void) { exit(closedir(opendir(".")) != 0); }], + ac_cv_func_closedir_void=no, ac_cv_func_closedir_void=yes, ac_cv_func_closedir_void=yes)]) +@@ -1001,7 +1006,9 @@ AC_DEFUN(AC_FUNC_FNMATCH, + # Some versions of Solaris or SCO have a broken fnmatch function. + # So we run a test program. If we are cross-compiling, take no chance. + # Thanks to John Oleynick and Franc,ois Pinard for this test. +-[AC_TRY_RUN([int main(void) { exit (fnmatch ("a*", "abc", 0) != 0); }], ++[AC_TRY_RUN([#include ++#include ++int main(void) { exit (fnmatch ("a*", "abc", 0) != 0); }], + ac_cv_func_fnmatch_works=yes, ac_cv_func_fnmatch_works=no, + ac_cv_func_fnmatch_works=no)]) + if test $ac_cv_func_fnmatch_works = yes; then +@@ -1038,6 +1045,7 @@ AC_CACHE_CHECK(for working mmap, ac_cv_func_mmap_fixed_mapped, + #include + #include + #include ++#include + + /* This mess was copied from the GNU getpagesize.h. */ + #ifndef HAVE_GETPAGESIZE +@@ -1165,49 +1173,17 @@ AC_DEFUN(AC_FUNC_GETPGRP, + * + * Snarfed from Chet Ramey's bash pgrp.c test program + */ +-#include +-#include +- +-int pid; +-int pg1, pg2, pg3, pg4; +-int ng, np, s, child; ++#include + + int main(void) + { +- pid = getpid(); +- pg1 = getpgrp(0); +- pg2 = getpgrp(); +- pg3 = getpgrp(pid); +- pg4 = getpgrp(1); +- +- /* +- * If all of these values are the same, it's pretty sure that +- * we're on a system that ignores getpgrp's first argument. +- */ +- if (pg2 == pg4 && pg1 == pg3 && pg2 == pg3) +- exit(0); +- +- child = fork(); +- if (child < 0) +- exit(1); +- else if (child == 0) { +- np = getpid(); +- /* +- * If this is Sys V, this will not work; pgrp will be +- * set to np because setpgrp just changes a pgrp to be +- * the same as the pid. +- */ +- setpgrp(np, pg1); +- ng = getpgrp(0); /* Same result for Sys V and BSD */ +- if (ng == pg1) { +- exit(1); +- } else { +- exit(0); +- } +- } else { +- wait(&s); +- exit(s>>8); +- } ++ /* XXX: Gentoo: This function used to check for ++ BSD vs POSIX getpgrp but the test fails to compile ++ on modern POSIX systems when not relying on implicit ++ function declarations. It has no value anyway on such ++ systems and it's been removed in newer autoconf. ++ */ ++ exit(0); + } + ], ac_cv_func_getpgrp_void=yes, ac_cv_func_getpgrp_void=no, + AC_MSG_ERROR(cannot check getpgrp if cross compiling)) +@@ -1220,9 +1196,7 @@ fi + AC_DEFUN(AC_FUNC_SETPGRP, + [AC_CACHE_CHECK(whether setpgrp takes no argument, ac_cv_func_setpgrp_void, + AC_TRY_RUN([ +-#ifdef HAVE_UNISTD_H +-#include +-#endif ++#include + + /* + * If this system has a BSD-style setpgrp, which takes arguments, exit +@@ -1230,10 +1204,13 @@ AC_TRY_RUN([ + */ + int main(void) + { +- if (setpgrp(1,1) == -1) +- exit(0); +- else +- exit(1); ++ /* XXX: Gentoo: This function used to check for ++ BSD vs POSIX gsetpgrp but the test fails to compile ++ on modern POSIX systems when not relying on implicit ++ function declarations. It has no value anyway on such ++ systems and it's been removed in newer autoconf. ++ */ ++ exit(1); + } + ], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes, + AC_MSG_ERROR(cannot check setpgrp if cross compiling)) +@@ -1255,9 +1232,11 @@ AC_DEFUN(AC_FUNC_VFORK, + AC_CHECK_HEADER(vfork.h, AC_DEFINE(HAVE_VFORK_H)) + AC_CACHE_CHECK(for working vfork, ac_cv_func_vfork_works, + [AC_TRY_RUN([/* Thanks to Paul Eggert for this test. */ ++#include + #include + #include + #include ++#include + #ifdef HAVE_UNISTD_H + #include + #endif +@@ -1270,11 +1249,11 @@ AC_CACHE_CHECK(for working vfork, ac_cv_func_vfork_works, + but some compilers (e.g. gcc -O) don't grok . + Test for this by using a static variable whose address + is put into a register that is clobbered by the vfork. */ +-static ++static void + #ifdef __cplusplus + sparc_address_test (int arg) + #else +-sparc_address_test (arg) int arg; ++sparc_address_test (int arg) + #endif + { + static pid_t child; +@@ -1359,6 +1338,8 @@ AC_DEFUN(AC_FUNC_WAIT3, + #include + #include + #include ++#include ++#include + /* HP-UX has wait3 but does not fill in rusage at all. */ + int main(void) { + struct rusage r; +@@ -1452,7 +1433,8 @@ done + fi + + AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction, +-[AC_TRY_RUN([find_stack_direction () ++[AC_TRY_RUN([#include ++int find_stack_direction () + { + static char *addr = 0; + auto char dummy; +@@ -1582,6 +1564,8 @@ AC_DEFUN(AC_FUNC_UTIME_NULL, + # Sequent interprets utime(file, 0) to mean use start of epoch. Wrong. + AC_TRY_RUN([#include + #include ++#include ++#include + int main(void) { + struct stat s, t; + exit(!(stat ("conftestdata", &s) == 0 && utime("conftestdata", (long *)0) == 0 +@@ -1598,6 +1582,7 @@ fi + AC_DEFUN(AC_FUNC_STRCOLL, + [AC_CACHE_CHECK(for working strcoll, ac_cv_func_strcoll_works, + [AC_TRY_RUN([#include ++#include + int main (void) + { + exit (strcoll ("abc", "def") >= 0 || +@@ -1614,6 +1599,7 @@ AC_DEFUN(AC_FUNC_SETVBUF_REVERSED, + [AC_CACHE_CHECK(whether setvbuf arguments are reversed, + ac_cv_func_setvbuf_reversed, + [AC_TRY_RUN([#include ++#include + /* If setvbuf has the reversed format, exit 0. */ + int main (void) { + /* This call has the arguments reversed. +@@ -1646,7 +1632,8 @@ LIBS="-lintl $LIBS"])])]) + + AC_DEFUN(AC_FUNC_MEMCMP, + [AC_CACHE_CHECK(for 8-bit clean memcmp, ac_cv_func_memcmp_clean, +-[AC_TRY_RUN([ ++[AC_TRY_RUN([#include ++#include + int main(void) + { + char c0 = 0x40, c1 = 0x80, c2 = 0x81; +@@ -1805,6 +1792,7 @@ AC_TRY_RUN( + #if !defined(__STDC__) || __STDC__ != 1 + #define volatile + #endif ++#include + int main(void) { + volatile char c = 255; exit(c < 0); + }], ac_cv_c_char_unsigned=yes, ac_cv_c_char_unsigned=no) +@@ -1819,7 +1807,8 @@ AC_DEFUN(AC_C_LONG_DOUBLE, + [if test "$GCC" = yes; then + ac_cv_c_long_double=yes + else +-AC_TRY_RUN([int main(void) { ++AC_TRY_RUN([#include ++int main(void) { + /* The Stardent Vistra knows sizeof(long double), but does not support it. */ + long double foo = 0.0; + /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ +@@ -1834,7 +1823,8 @@ fi + AC_DEFUN(AC_INT_16_BITS, + [AC_OBSOLETE([$0], [; instead use AC_CHECK_SIZEOF(int)])dnl + AC_MSG_CHECKING(whether int is 16 bits) +-AC_TRY_RUN([int main(void) { exit(sizeof(int) != 2); }], ++AC_TRY_RUN([#include ++int main(void) { exit(sizeof(int) != 2); }], + [AC_MSG_RESULT(yes) + AC_DEFINE(INT_16_BITS)], AC_MSG_RESULT(no)) + ]) +@@ -1842,7 +1832,8 @@ AC_TRY_RUN([int main(void) { exit(sizeof(int) != 2); }], + AC_DEFUN(AC_LONG_64_BITS, + [AC_OBSOLETE([$0], [; instead use AC_CHECK_SIZEOF(long)])dnl + AC_MSG_CHECKING(whether long int is 64 bits) +-AC_TRY_RUN([int main(void) { exit(sizeof(long int) != 8); }], ++AC_TRY_RUN([#include ++int main(void) { exit(sizeof(long int) != 8); }], + [AC_MSG_RESULT(yes) + AC_DEFINE(LONG_64_BITS)], AC_MSG_RESULT(no)) + ]) +@@ -1862,7 +1853,8 @@ AC_TRY_COMPILE([#include + not big endian + #endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)]) + if test $ac_cv_c_bigendian = unknown; then +-AC_TRY_RUN([int main (void) { ++AC_TRY_RUN([#include ++int main (void) { + /* Are we little or big endian? From Harbison&Steele. */ + union + { +@@ -1885,7 +1877,7 @@ AC_DEFUN(AC_C_INLINE, + [AC_CACHE_CHECK([for inline], ac_cv_c_inline, + [ac_cv_c_inline=no + for ac_kw in inline __inline__ __inline; do +- AC_TRY_COMPILE(, [} $ac_kw foo(void) {], [ac_cv_c_inline=$ac_kw; break]) ++ AC_TRY_COMPILE(, [} $ac_kw int foo(void) {], [ac_cv_c_inline=$ac_kw; break]) + done + ]) + case "$ac_cv_c_inline" in +@@ -2275,7 +2267,10 @@ AC_DEFUN(AC_SYS_RESTARTABLE_SYSCALLS, + i.e. the pid of the child, which means that wait was restarted + after getting the signal. */ + #include ++#include + #include ++#include ++#include + ucatch (isig) { } + int main (void) { + int i = fork (), status; +@@ -2444,7 +2439,7 @@ if test "$ac_x_libraries" = NO; then + # Don't add to $LIBS permanently. + ac_save_LIBS="$LIBS" + LIBS="-l$x_direct_test_library $LIBS" +-AC_TRY_LINK(, [${x_direct_test_function}()], ++AC_TRY_LINK([#include ], [${x_direct_test_function}(0)], + [LIBS="$ac_save_LIBS" + # We can link X programs with no special library path. + ac_x_libraries=], diff --git a/autoconf2.13/autoconf-2.13-K-R-decls-clang.patch b/autoconf2.13/autoconf-2.13-K-R-decls-clang.patch new file mode 100644 index 00000000..42c3018a --- /dev/null +++ b/autoconf2.13/autoconf-2.13-K-R-decls-clang.patch @@ -0,0 +1,346 @@ +https://bugs.gentoo.org/870412 +https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b + +Backport the K&R decls fix to 2.13 to avoid configure tests +failing (often "silently", i.e. doesn't fail the build of +the package overall, just leads to wrong results) with +newer compilers like the upcoming Clang 16. + +From d8ad1096be4352c588b9bc1e16b6758f4f32b96a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= +Date: Mon, 19 Sep 2022 01:38:29 +0200 +Subject: [PATCH] ac{general,specific}: declare void param lists, where apt + +--- a/acgeneral.m4 ++++ b/acgeneral.m4 +@@ -1542,7 +1542,7 @@ extern "C" + ])dnl + [/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +-char $1(); ++char $1(void); + ]), + [$1()], + [$2], +@@ -1597,7 +1597,7 @@ extern "C" + ])dnl + [/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +-char $2(); ++char $2(void); + ])), + [$2()], + eval "ac_cv_lib_$ac_lib_var=yes", +@@ -1733,7 +1733,7 @@ dnl [#]line __oline__ "[$]0" + [#]line __oline__ "configure" + #include "confdefs.h" + [$1] +-int main() { ++int main(void) { + [$2] + ; return 0; } + ])EOF +@@ -1777,7 +1777,7 @@ dnl [#]line __oline__ "[$]0" + [#]line __oline__ "configure" + #include "confdefs.h" + [$1] +-int main() { ++int main(void) { + [$2] + ; return 0; } + ])EOF +@@ -1934,7 +1934,7 @@ extern "C" + ])dnl + [/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +-char $1(); ++char $1(void); + ], [ + /* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named +@@ -1988,7 +1988,7 @@ changequote([, ])dnl + AC_MSG_CHECKING(size of $1) + AC_CACHE_VAL(AC_CV_NAME, + [AC_TRY_RUN([#include +-main() ++main(void) + { + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); +--- a/acspecific.m4 ++++ b/acspecific.m4 +@@ -202,7 +202,7 @@ AC_DEFUN(AC_PROG_CC_WORKS, + [AC_MSG_CHECKING([whether the C compiler ($CC $CFLAGS $LDFLAGS) works]) + AC_LANG_SAVE + AC_LANG_C +-AC_TRY_COMPILER([main(){return(0);}], ac_cv_prog_cc_works, ac_cv_prog_cc_cross) ++AC_TRY_COMPILER([int main(void){return(0);}], ac_cv_prog_cc_works, ac_cv_prog_cc_cross) + AC_LANG_RESTORE + AC_MSG_RESULT($ac_cv_prog_cc_works) + if test $ac_cv_prog_cc_works = no; then +@@ -217,7 +217,7 @@ AC_DEFUN(AC_PROG_CXX_WORKS, + [AC_MSG_CHECKING([whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS +-AC_TRY_COMPILER([int main(){return(0);}], ac_cv_prog_cxx_works, ac_cv_prog_cxx_cross) ++AC_TRY_COMPILER([int main(void){return(0);}], ac_cv_prog_cxx_works, ac_cv_prog_cxx_cross) + AC_LANG_RESTORE + AC_MSG_RESULT($ac_cv_prog_cxx_works) + if test $ac_cv_prog_cxx_works = no; then +@@ -300,7 +300,7 @@ fi])]) + + AC_DEFUN(AC_PROG_CC_G, + [AC_CACHE_CHECK(whether ${CC-cc} accepts -g, ac_cv_prog_cc_g, +-[echo 'void f(){}' > conftest.c ++[echo 'void f(void){}' > conftest.c + if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + ac_cv_prog_cc_g=yes + else +@@ -311,7 +311,7 @@ rm -f conftest* + + AC_DEFUN(AC_PROG_CXX_G, + [AC_CACHE_CHECK(whether ${CXX-g++} accepts -g, ac_cv_prog_cxx_g, +-[echo 'void f(){}' > conftest.cc ++[echo 'void f(void){}' > conftest.cc + if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then + ac_cv_prog_cxx_g=yes + else +@@ -371,7 +371,7 @@ changequote(, )dnl + sed -e 's/[^a-zA-Z0-9_]/_/g' -e 's/^[0-9]/_/'`" + changequote([, ])dnl + AC_CACHE_VAL(ac_cv_prog_cc_${ac_cc}_c_o, +-[echo 'foo(){}' > conftest.c ++[echo 'foo(void){}' > conftest.c + # Make sure it works both with $CC and with simple cc. + # We do the test twice because some compilers refuse to overwrite an + # existing .o file with -o, though they will create one. +@@ -709,7 +709,7 @@ AC_TRY_RUN([#include + #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') + #define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) + #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +-int main () { int i; for (i = 0; i < 256; i++) ++int main (void) { int i; for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); + exit (0); } + ], , ac_cv_header_stdc=no, :) +@@ -820,7 +820,7 @@ esac + AC_CACHE_CHECK(whether closedir returns void, ac_cv_func_closedir_void, + [AC_TRY_RUN([#include + #include <$ac_header_dirent> +-int closedir(); main() { exit(closedir(opendir(".")) != 0); }], ++int closedir(...); int main(void) { exit(closedir(opendir(".")) != 0); }], + ac_cv_func_closedir_void=no, ac_cv_func_closedir_void=yes, ac_cv_func_closedir_void=yes)]) + if test $ac_cv_func_closedir_void = yes; then + AC_DEFINE(VOID_CLOSEDIR) +@@ -911,7 +911,7 @@ changequote(<<, >>)dnl + #define NGID 256 + #undef MAX + #define MAX(x, y) ((x) > (y) ? (x) : (y)) +-main() ++int main(void) + { + gid_t gidset[NGID]; + int i, n; +@@ -973,7 +973,7 @@ AC_DEFUN(AC_TYPE_SIGNAL, + #ifdef __cplusplus + extern "C" void (*signal (int, void (*)(int)))(int); + #else +-void (*signal ()) (); ++void (*signal (void)) (void); + #endif + ], + [int i;], ac_cv_type_signal=void, ac_cv_type_signal=int)]) +@@ -989,7 +989,7 @@ AC_DEFUN(AC_FUNC_CLOSEDIR_VOID, + AC_CACHE_CHECK(whether closedir returns void, ac_cv_func_closedir_void, + [AC_TRY_RUN([#include + #include <$ac_header_dirent> +-int closedir(); main() { exit(closedir(opendir(".")) != 0); }], ++int closedir(...); int main(void) { exit(closedir(opendir(".")) != 0); }], + ac_cv_func_closedir_void=no, ac_cv_func_closedir_void=yes, ac_cv_func_closedir_void=yes)]) + if test $ac_cv_func_closedir_void = yes; then + AC_DEFINE(CLOSEDIR_VOID) +@@ -1001,7 +1001,7 @@ AC_DEFUN(AC_FUNC_FNMATCH, + # Some versions of Solaris or SCO have a broken fnmatch function. + # So we run a test program. If we are cross-compiling, take no chance. + # Thanks to John Oleynick and Franc,ois Pinard for this test. +-[AC_TRY_RUN([main() { exit (fnmatch ("a*", "abc", 0) != 0); }], ++[AC_TRY_RUN([int main(void) { exit (fnmatch ("a*", "abc", 0) != 0); }], + ac_cv_func_fnmatch_works=yes, ac_cv_func_fnmatch_works=no, + ac_cv_func_fnmatch_works=no)]) + if test $ac_cv_func_fnmatch_works = yes; then +@@ -1083,11 +1083,11 @@ AC_CACHE_CHECK(for working mmap, ac_cv_func_mmap_fixed_mapped, + #ifdef __cplusplus + extern "C" { void *malloc(unsigned); } + #else +-char *malloc(); ++char *malloc(...); + #endif + + int +-main() ++main(void) + { + char *data, *data2, *data3; + int i, pagesize; +@@ -1172,7 +1172,7 @@ int pid; + int pg1, pg2, pg3, pg4; + int ng, np, s, child; + +-main() ++int main(void) + { + pid = getpid(); + pg1 = getpgrp(0); +@@ -1228,7 +1228,7 @@ AC_TRY_RUN([ + * If this system has a BSD-style setpgrp, which takes arguments, exit + * successfully. + */ +-main() ++int main(void) + { + if (setpgrp(1,1) == -1) + exit(0); +@@ -1291,7 +1291,7 @@ sparc_address_test (arg) int arg; + } + } + } +-main() { ++int main(void) { + pid_t parent = getpid (); + pid_t child; + +@@ -1360,7 +1360,7 @@ AC_DEFUN(AC_FUNC_WAIT3, + #include + #include + /* HP-UX has wait3 but does not fill in rusage at all. */ +-main() { ++int main(void) { + struct rusage r; + int i; + /* Use a field that we can force nonzero -- +@@ -1416,7 +1416,7 @@ AC_CACHE_CHECK([for alloca], ac_cv_func_alloca_works, + #pragma alloca + # else + # ifndef alloca /* predefined by HP cc +Olibcalls */ +-char *alloca (); ++char *alloca (...); + # endif + # endif + # endif +@@ -1464,7 +1464,7 @@ AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction, + else + return (&dummy > addr) ? 1 : -1; + } +-main () ++int main (void) + { + exit (find_stack_direction() < 0); + }], ac_cv_c_stack_direction=1, ac_cv_c_stack_direction=-1, +@@ -1582,7 +1582,7 @@ AC_DEFUN(AC_FUNC_UTIME_NULL, + # Sequent interprets utime(file, 0) to mean use start of epoch. Wrong. + AC_TRY_RUN([#include + #include +-main() { ++int main(void) { + struct stat s, t; + exit(!(stat ("conftestdata", &s) == 0 && utime("conftestdata", (long *)0) == 0 + && stat("conftestdata", &t) == 0 && t.st_mtime >= s.st_mtime +@@ -1598,7 +1598,7 @@ fi + AC_DEFUN(AC_FUNC_STRCOLL, + [AC_CACHE_CHECK(for working strcoll, ac_cv_func_strcoll_works, + [AC_TRY_RUN([#include +-main () ++int main (void) + { + exit (strcoll ("abc", "def") >= 0 || + strcoll ("ABC", "DEF") >= 0 || +@@ -1615,7 +1615,7 @@ AC_DEFUN(AC_FUNC_SETVBUF_REVERSED, + ac_cv_func_setvbuf_reversed, + [AC_TRY_RUN([#include + /* If setvbuf has the reversed format, exit 0. */ +-main () { ++int main (void) { + /* This call has the arguments reversed. + A reversed system may check and see that the address of main + is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */ +@@ -1647,7 +1647,7 @@ LIBS="-lintl $LIBS"])])]) + AC_DEFUN(AC_FUNC_MEMCMP, + [AC_CACHE_CHECK(for 8-bit clean memcmp, ac_cv_func_memcmp_clean, + [AC_TRY_RUN([ +-main() ++int main(void) + { + char c0 = 0x40, c1 = 0x80, c2 = 0x81; + exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1); +@@ -1805,7 +1805,7 @@ AC_TRY_RUN( + #if !defined(__STDC__) || __STDC__ != 1 + #define volatile + #endif +-main() { ++int main(void) { + volatile char c = 255; exit(c < 0); + }], ac_cv_c_char_unsigned=yes, ac_cv_c_char_unsigned=no) + fi]) +@@ -1819,7 +1819,7 @@ AC_DEFUN(AC_C_LONG_DOUBLE, + [if test "$GCC" = yes; then + ac_cv_c_long_double=yes + else +-AC_TRY_RUN([int main() { ++AC_TRY_RUN([int main(void) { + /* The Stardent Vistra knows sizeof(long double), but does not support it. */ + long double foo = 0.0; + /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ +@@ -1834,7 +1834,7 @@ fi + AC_DEFUN(AC_INT_16_BITS, + [AC_OBSOLETE([$0], [; instead use AC_CHECK_SIZEOF(int)])dnl + AC_MSG_CHECKING(whether int is 16 bits) +-AC_TRY_RUN([main() { exit(sizeof(int) != 2); }], ++AC_TRY_RUN([int main(void) { exit(sizeof(int) != 2); }], + [AC_MSG_RESULT(yes) + AC_DEFINE(INT_16_BITS)], AC_MSG_RESULT(no)) + ]) +@@ -1842,7 +1842,7 @@ AC_TRY_RUN([main() { exit(sizeof(int) != 2); }], + AC_DEFUN(AC_LONG_64_BITS, + [AC_OBSOLETE([$0], [; instead use AC_CHECK_SIZEOF(long)])dnl + AC_MSG_CHECKING(whether long int is 64 bits) +-AC_TRY_RUN([main() { exit(sizeof(long int) != 8); }], ++AC_TRY_RUN([int main(void) { exit(sizeof(long int) != 8); }], + [AC_MSG_RESULT(yes) + AC_DEFINE(LONG_64_BITS)], AC_MSG_RESULT(no)) + ]) +@@ -1862,7 +1862,7 @@ AC_TRY_COMPILE([#include + not big endian + #endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)]) + if test $ac_cv_c_bigendian = unknown; then +-AC_TRY_RUN([main () { ++AC_TRY_RUN([int main (void) { + /* Are we little or big endian? From Harbison&Steele. */ + union + { +@@ -1885,7 +1885,7 @@ AC_DEFUN(AC_C_INLINE, + [AC_CACHE_CHECK([for inline], ac_cv_c_inline, + [ac_cv_c_inline=no + for ac_kw in inline __inline__ __inline; do +- AC_TRY_COMPILE(, [} $ac_kw foo() {], [ac_cv_c_inline=$ac_kw; break]) ++ AC_TRY_COMPILE(, [} $ac_kw foo(void) {], [ac_cv_c_inline=$ac_kw; break]) + done + ]) + case "$ac_cv_c_inline" in +@@ -2277,7 +2277,7 @@ AC_DEFUN(AC_SYS_RESTARTABLE_SYSCALLS, + #include + #include + ucatch (isig) { } +-main () { ++int main (void) { + int i = fork (), status; + if (i == 0) { sleep (3); kill (getppid (), SIGINT); sleep (3); exit (0); } + signal (SIGINT, ucatch); +@@ -2654,7 +2654,7 @@ AC_CACHE_VAL(ac_cv_exeext, + ac_cv_exeext=.exe + else + rm -f conftest* +- echo 'int main () { return 0; }' > conftest.$ac_ext ++ echo 'int main (void) { return 0; }' > conftest.$ac_ext + ac_cv_exeext= + if AC_TRY_EVAL(ac_link); then + for file in conftest.*; do diff --git a/autoconf2.13/autoconf-2.13-perl-5.26.patch b/autoconf2.13/autoconf-2.13-perl-5.26.patch new file mode 100644 index 00000000..6fbc0cd1 --- /dev/null +++ b/autoconf2.13/autoconf-2.13-perl-5.26.patch @@ -0,0 +1,12 @@ +diff -ruN autoconf-2.13.orig/autoscan.pl autoconf-2.13/autoscan.pl +--- autoconf-2.13.orig/autoscan.pl 1999-01-05 14:28:42.000000000 +0100 ++++ autoconf-2.13/autoscan.pl 2018-12-22 19:55:10.986732296 +0100 +@@ -232,7 +232,7 @@ + # Strip out comments and variable references. + s/#.*//; + s/\$\([^\)]*\)//g; +- s/\${[^\}]*}//g; ++ s/\$\{[^\}]*}//g; + s/@[^@]*@//g; + + # Variable assignments. diff --git a/autoconf2.13/autoconf-2.13-test-fixes.patch b/autoconf2.13/autoconf-2.13-test-fixes.patch new file mode 100644 index 00000000..b8a7e3b8 --- /dev/null +++ b/autoconf2.13/autoconf-2.13-test-fixes.patch @@ -0,0 +1,18 @@ +newer gcc versions don't provide g77, so if it doesn't exist, +don't bother trying to test it (and failing) + +http://bugs.gentoo.org/146592 + +--- autoconf-2.13/testsuite/autoconf.s/syntax.exp ++++ autoconf-2.13/testsuite/autoconf.s/syntax.exp +@@ -5,6 +5,10 @@ + set macros [exec sed -n $script $srcdir/../acspecific.m4] + + foreach mac $macros { ++ if { [string match "*F77*" "$mac"] && [catch {exec which g77} ignore_output] } then { ++ send_user "XFAIL: $mac\n" ++ continue ++ } + send_user "$mac\n" + autoconf_test $mac $mac + }