hc
2024-08-16 94ba65e25ce534ec0515708c9e0835242345bc7b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
From a15958a37a06f71c42c690278f9c958b93b7ee20 Mon Sep 17 00:00:00 2001
From: Yann Ylavic <ylavic@apache.org>
Date: Thu, 11 Mar 2021 14:10:21 +0000
Subject: [PATCH] Merge r1887279 from trunk:
 
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`.
 
 
Github: closes #25
Submitted by: Sergei Trofimovich <slyfox gentoo.org>
Reviewed by: ylavic
 
 
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1887485 13f79535-47bb-0310-9956-ffa450edef68
 
[Retrieved from:
https://github.com/apache/apr/commit/0a763c5e500f4304b7c534fae0fad430d64982e8]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 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 297dd32cf75..b67a8608abe 100644
--- a/build/apr_common.m4
+++ b/build/apr_common.m4
@@ -467,13 +467,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])