blob: 037ca81fdc547a90fb451f0e7c0a60439a12c6a4 [file] [log] [blame]
Andrew Geisslerb7d28612020-07-24 16:15:54 -05001Upstream-Status: Backport
2Signed-off-by: Ross Burton <ross.burton@arm.com>
3
4From c42de062bbdc7c31d7181c10a74202d493280ada Mon Sep 17 00:00:00 2001
5From: Explorer09 <explorer09@gmail.com>
6Date: Tue, 27 Feb 2018 09:10:12 +0800
7Subject: [PATCH] build: Move dnl comments out of AC_CHECK_FUNCS
8
9Due to a bug, autoheader (2.69) will treat M4 dnl comments in a quoted
10argument of AC_CHECK_FUNCS as function tokens and generate a lot of
11redundant and useless HAVE_* macros in config.h.in.
12(Examples: HAVE_DNL, HAVE_AVAILABLE_, HAVE_BY)
13
14It seems to be this commit dbb4e94dc7bacbcfd4acef4f085ef752fe1aa03f of
15mine that revealed this autoheader bug, and the affected config.h.in
16had been shipped within flex-2.6.4 release tarball.
17
18I have reported the autoheader bug here:
19<https://lists.gnu.org/archive/html/bug-autoconf/2018-02/msg00005.html>
20
21As a workaround, let's move comments out of AC_CHECK_FUNCS.
22
23Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
24---
25 configure.ac | 29 +++++++++++++----------------
26 1 file changed, 13 insertions(+), 16 deletions(-)
27
28diff --git a/configure.ac b/configure.ac
29index 55e774b0..d0f3b7da 100644
30--- a/configure.ac
31+++ b/configure.ac
32@@ -166,6 +166,7 @@ strtol dnl
33 AC_CHECK_FUNCS([dnl
34 pow dnl Used only by "examples/manual/expr"
35 setlocale dnl Needed only if NLS is enabled
36+reallocarr dnl NetBSD function. Use reallocarray if not available.
37 reallocarray dnl OpenBSD function. We have replacement if not available.
38 ])
39
40diff --git a/configure.ac b/configure.ac
41index 3c977a4e..9c53590f 100644
42--- a/configure.ac
43+++ b/configure.ac
44@@ -158,22 +158,19 @@ AC_FUNC_REALLOC
45 AS_IF([test "$cross_compiling" = yes],
46 AC_MSG_WARN([result $ac_cv_func_realloc_0_nonnull guessed because of cross compilation]))
47
48-AC_CHECK_FUNCS([dup2 dnl
49-memset dnl
50-regcomp dnl
51-strcasecmp dnl
52-strchr dnl
53-strdup dnl
54-strtol dnl
55-], [], [AC_MSG_ERROR(required library function not found on your system)])
56-
57-# Optional library functions
58-AC_CHECK_FUNCS([dnl
59-pow dnl Used only by "examples/manual/expr"
60-setlocale dnl Needed only if NLS is enabled
61-reallocarr dnl NetBSD function. Use reallocarray if not available.
62-reallocarray dnl OpenBSD function. We have replacement if not available.
63-])
64+dnl Autoheader (<= 2.69) bug: "dnl" comments in a quoted argument of
65+dnl AC_CHECK_FUNCS will expand wierdly in config.h.in.
66+dnl (https://lists.gnu.org/archive/html/bug-autoconf/2018-02/msg00005.html)
67+
68+AC_CHECK_FUNCS([dup2 memset regcomp strcasecmp strchr strdup strtol], [],
69+ [AC_MSG_ERROR(required library function not found on your system)])
70+
71+# Optional library functions:
72+# pow - Used only by "examples/manual/expr".
73+# setlocale - Needed only if NLS is enabled.
74+# reallocarr - NetBSD function. Use reallocarray if not available.
75+# reallocarray - OpenBSD function. We have replacement if not available.
76+AC_CHECK_FUNCS([pow setlocale reallocarr reallocarray])
77
78 AC_CONFIG_FILES(
79 Makefile