You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.9 KiB
65 lines
1.9 KiB
From 5593f23e8e062da108ed585535e7281b87346ee1 Mon Sep 17 00:00:00 2001
|
|
From: Sergei Trofimovich <slyfox@gentoo.org>
|
|
Date: Wed, 25 Nov 2020 09:36:25 +0000
|
|
Subject: [PATCH] build/apr_common.m4: avoid explicit inclusion of
|
|
'"confdefs.h"'
|
|
|
|
The failure is observed on `autoconf-2.69d` (soon to be released
|
|
as `autoconf-2.70`). There `int64_t` detection fails as:
|
|
|
|
```
|
|
$ autoreconf && ./configure
|
|
...
|
|
checking whether int64_t and int use fmt %d... no
|
|
checking whether int64_t and long use fmt %ld... no
|
|
checking whether int64_t and long long use fmt %lld... no
|
|
configure: error: could not determine the string function for int64_t
|
|
```
|
|
|
|
This happens because `./configure` always stumbles on warning:
|
|
|
|
```
|
|
configure:3350: gcc -c -g -O2 -Werror conftest.c >&5
|
|
In file included from conftest.c:31:
|
|
confdefs.h:22: error: "__STDC_WANT_IEC_60559_ATTRIBS_EXT__" redefined [-Werror]
|
|
22 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
|
|
|
|
|
```
|
|
|
|
It's triggered by double inclusion of `"confdefs.h"` contents:
|
|
explicitly in `APR_TRY_COMPILE_NO_WARNING` macro and implicitly
|
|
via `AC_LANG_SOURCE` use.
|
|
|
|
To fix it and avoid having to define `main()` declaration the change
|
|
uses `AC_LANG_PROGRAM` instead.
|
|
|
|
Tested on both `autoconf-2.69` and `autoconf-2.69d`.
|
|
|
|
Bug: https://bugs.gentoo.org/738156
|
|
Bug: https://bugs.gentoo.org/750353
|
|
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
---
|
|
build/apr_common.m4 | 8 ++------
|
|
1 file changed, 2 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/build/apr_common.m4 b/build/apr_common.m4
|
|
index f4e2dfd0a7..6f5782e674 100644
|
|
--- a/build/apr_common.m4
|
|
+++ b/build/apr_common.m4
|
|
@@ -504,13 +504,9 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING],
|
|
CFLAGS="$CFLAGS -Werror"
|
|
fi
|
|
AC_COMPILE_IFELSE(
|
|
- [AC_LANG_SOURCE(
|
|
- [#include "confdefs.h"
|
|
- ]
|
|
- [[$1]]
|
|
- [int main(int argc, const char *const *argv) {]
|
|
+ [AC_LANG_PROGRAM(
|
|
+ [[$1]],
|
|
[[$2]]
|
|
- [ return 0; }]
|
|
)], [CFLAGS=$apr_save_CFLAGS
|
|
$3], [CFLAGS=$apr_save_CFLAGS
|
|
$4])
|