mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-17 18:06:59 +02:00
sys-devel/autoconf: Sync with Gentoo
It's from Gentoo commit 541ccf270b9b9b5631072a654cd3add5ccd433e7.
This commit is contained in:
parent
c1aa5bf2ec
commit
26e8436314
@ -47,6 +47,7 @@ PATCHES=(
|
||||
"${FILESDIR}"/${P}-AC_C_BIGENDIAN-lto.patch
|
||||
"${FILESDIR}"/${P}-K-R-decls-clang.patch
|
||||
"${FILESDIR}"/${P}-make-4.4.patch
|
||||
"${FILESDIR}"/${P}-K-R-decls-clang-deux.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
@ -1,7 +1,7 @@
|
||||
https://bugs.gentoo.org/870412
|
||||
https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b
|
||||
|
||||
Backport the K&R decls fix to 2.69 to avoid configure tests
|
||||
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.
|
||||
|
@ -1,5 +1,6 @@
|
||||
https://bugs.gentoo.org/870412
|
||||
https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b
|
||||
(and contains a backport of https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=bf5a75953b6d504f0405b1ca33b039b8dd39eef4)
|
||||
|
||||
Backport the K&R decls fix to 2.69 to avoid configure tests
|
||||
failing (often "silently", i.e. doesn't fail the build of
|
||||
@ -363,3 +364,31 @@ Subject: [PATCH] backport K&R decl fixes
|
||||
#define mymacro1(arg) arg
|
||||
#define mymacro2]])
|
||||
# The difference in space-before-open-paren is intentional.
|
||||
--- a/lib/autoconf/c.m4
|
||||
+++ b/lib/autoconf/c.m4
|
||||
@@ -1106,9 +1106,7 @@ struct stat;
|
||||
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
|
||||
struct buf { int x; };
|
||||
FILE * (*rcsopen) (struct buf *, struct stat *, int);
|
||||
-static char *e (p, i)
|
||||
- char **p;
|
||||
- int i;
|
||||
+static char *e (char **p, int i)
|
||||
{
|
||||
return p[i];
|
||||
}
|
||||
--- a/lib/autoconf/specific.m4
|
||||
+++ b/lib/autoconf/specific.m4
|
||||
@@ -251,10 +251,9 @@ AC_INCLUDES_DEFAULT
|
||||
/* Some platforms explicitly require an extern "C" signal handler
|
||||
when using C++. */
|
||||
#ifdef __cplusplus
|
||||
-extern "C" void ucatch (int dummy) { }
|
||||
-#else
|
||||
-void ucatch (dummy) int dummy; { }
|
||||
+extern "C"
|
||||
#endif
|
||||
+void ucatch (int dummy) { }
|
||||
|
||||
int
|
||||
main (void)
|
||||
|
@ -0,0 +1,94 @@
|
||||
https://bugs.gentoo.org/870412
|
||||
https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=bf5a75953b6d504f0405b1ca33b039b8dd39eef4
|
||||
|
||||
Backport the K&R decls fix to 2.71 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 bf5a75953b6d504f0405b1ca33b039b8dd39eef4 Mon Sep 17 00:00:00 2001
|
||||
From: Zack Weinberg <zackw@panix.com>
|
||||
Date: Thu, 10 Nov 2022 12:05:30 -0500
|
||||
Subject: More fixes for compilers that reject K&R function definitions.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This fixes all of the remaining failures exposed by running the
|
||||
testsuite with GCC 12 and
|
||||
CC='cc -Wimplicit-function-declaration -Wold-style-definition
|
||||
-Wimplicit-int -Werror'
|
||||
.
|
||||
|
||||
* lib/autoconf/c.m4 (_AC_C_C89_TEST_GLOBALS): Don’t use K&R function
|
||||
definitions.
|
||||
* lib/autoconf/specific.m4 (AC_SYS_RESTARTABLE_SYSCALLS): Likewise.
|
||||
(AC_FUNC_MKTIME): Declare functions taking no arguments as ‘fn (void)’
|
||||
not ‘fn ()’.
|
||||
* lib/autoconf/c.m4 (_AC_C_C99_TEST_GLOBALS): Declare free().
|
||||
--- a/lib/autoconf/c.m4
|
||||
+++ b/lib/autoconf/c.m4
|
||||
@@ -1153,9 +1153,7 @@ struct stat;
|
||||
/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
|
||||
struct buf { int x; };
|
||||
struct buf * (*rcsopen) (struct buf *, struct stat *, int);
|
||||
-static char *e (p, i)
|
||||
- char **p;
|
||||
- int i;
|
||||
+static char *e (char **p, int i)
|
||||
{
|
||||
return p[i];
|
||||
}
|
||||
@@ -1212,6 +1210,7 @@ extern int puts (const char *);
|
||||
extern int printf (const char *, ...);
|
||||
extern int dprintf (int, const char *, ...);
|
||||
extern void *malloc (size_t);
|
||||
+extern void free (void *);
|
||||
|
||||
// Check varargs macros. These examples are taken from C99 6.10.3.5.
|
||||
// dprintf is used instead of fprintf to avoid needing to declare
|
||||
--- a/lib/autoconf/functions.m4
|
||||
+++ b/lib/autoconf/functions.m4
|
||||
@@ -1091,7 +1091,7 @@ static const char *tz_strings[] = {
|
||||
/* Return 0 if mktime fails to convert a date in the spring-forward gap.
|
||||
Based on a problem report from Andreas Jaeger. */
|
||||
static int
|
||||
-spring_forward_gap ()
|
||||
+spring_forward_gap (void)
|
||||
{
|
||||
/* glibc (up to about 1998-10-07) failed this test. */
|
||||
struct tm tm;
|
||||
@@ -1128,7 +1128,7 @@ mktime_test (time_t now)
|
||||
}
|
||||
|
||||
static int
|
||||
-irix_6_4_bug ()
|
||||
+irix_6_4_bug (void)
|
||||
{
|
||||
/* Based on code from Ariel Faigon. */
|
||||
struct tm tm;
|
||||
@@ -1170,7 +1170,7 @@ bigtime_test (int j)
|
||||
}
|
||||
|
||||
static int
|
||||
-year_2050_test ()
|
||||
+year_2050_test (void)
|
||||
{
|
||||
/* The correct answer for 2050-02-01 00:00:00 in Pacific time,
|
||||
ignoring leap seconds. */
|
||||
--- a/lib/autoconf/specific.m4
|
||||
+++ b/lib/autoconf/specific.m4
|
||||
@@ -361,10 +361,9 @@ AC_INCLUDES_DEFAULT
|
||||
/* Some platforms explicitly require an extern "C" signal handler
|
||||
when using C++. */
|
||||
#ifdef __cplusplus
|
||||
-extern "C" void ucatch (int dummy) { }
|
||||
-#else
|
||||
-void ucatch (dummy) int dummy; { }
|
||||
+extern "C"
|
||||
#endif
|
||||
+void ucatch (int dummy) { }
|
||||
|
||||
int
|
||||
main (void)
|
||||
cgit v1.1
|
@ -1,7 +1,7 @@
|
||||
https://bugs.gentoo.org/870412
|
||||
https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=8b5e2016c7ed2d67f31b03a3d2e361858ff5299b
|
||||
|
||||
Backport the K&R decls fix to 2.69 to avoid configure tests
|
||||
Backport the K&R decls fix to 2.71 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.
|
||||
|
Loading…
Reference in New Issue
Block a user