summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/flex/flex/check-funcs.patch
blob: 762275e7f8720ec3901588274525375633d58ebb (plain)
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
Subject: build: Move dnl comments out of AC_CHECK_FUNCS

Due to a bug, autoheader (2.69) will treat M4 dnl comments in a quoted
argument of AC_CHECK_FUNCS as function tokens and generate a lot of
redundant and useless HAVE_* macros in config.h.in.
(Examples: HAVE_DNL, HAVE_AVAILABLE_, HAVE_BY)

It seems to be this commit dbb4e94dc7bacbcfd4acef4f085ef752fe1aa03f of
mine that revealed this autoheader bug, and the affected config.h.in
had been shipped within flex-2.6.4 release tarball.

I have reported the autoheader bug here:
<https://lists.gnu.org/archive/html/bug-autoconf/2018-02/msg00005.html>

As a workaround, let's move comments out of AC_CHECK_FUNCS.

Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>

Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
---
 configure.ac | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)

diff --git a/configure.ac b/configure.ac
index 55e774b..5ea3a93 100644
--- a/configure.ac
+++ b/configure.ac
@@ -153,21 +153,19 @@ AC_FUNC_REALLOC
 AS_IF([test "$cross_compiling" = yes],
    AC_MSG_WARN([result $ac_cv_func_realloc_0_nonnull guessed because of cross compilation]))
 
-AC_CHECK_FUNCS([dup2 dnl
-memset dnl
-regcomp dnl
-strcasecmp dnl
-strchr dnl
-strdup dnl
-strtol dnl
-], [], [AC_MSG_ERROR(required library function not found on your system)])
-
-# Optional library functions
-AC_CHECK_FUNCS([dnl
-pow dnl           Used only by "examples/manual/expr"
-setlocale dnl     Needed only if NLS is enabled
-reallocarray dnl  OpenBSD function. We have replacement if not available.
-])
+dnl Autoheader (<= 2.69) bug: "dnl" comments in a quoted argument of
+dnl AC_CHECK_FUNCS will expand wierdly in config.h.in.
+dnl (https://lists.gnu.org/archive/html/bug-autoconf/2018-02/msg00005.html)
+
+AC_CHECK_FUNCS([dup2 memset regcomp strcasecmp strchr strdup strtol], [],
+  [AC_MSG_ERROR(required library function not found on your system)])
+
+# Optional library functions:
+# pow - Used only by "examples/manual/expr".
+# setlocale - Needed only if NLS is enabled.
+# reallocarr - NetBSD function. Use reallocarray if not available.
+# reallocarray - OpenBSD function. We have replacement if not available.
+AC_CHECK_FUNCS([pow setlocale reallocarr reallocarray])
 
 AC_CONFIG_FILES(
 Makefile
-- 
2.25.1