Andrew Geissler | b7d2861 | 2020-07-24 16:15:54 -0500 | [diff] [blame^] | 1 | Upstream-Status: Backport |
| 2 | Signed-off-by: Ross Burton <ross.burton@arm.com> |
| 3 | |
| 4 | From c42de062bbdc7c31d7181c10a74202d493280ada Mon Sep 17 00:00:00 2001 |
| 5 | From: Explorer09 <explorer09@gmail.com> |
| 6 | Date: Tue, 27 Feb 2018 09:10:12 +0800 |
| 7 | Subject: [PATCH] build: Move dnl comments out of AC_CHECK_FUNCS |
| 8 | |
| 9 | Due to a bug, autoheader (2.69) will treat M4 dnl comments in a quoted |
| 10 | argument of AC_CHECK_FUNCS as function tokens and generate a lot of |
| 11 | redundant and useless HAVE_* macros in config.h.in. |
| 12 | (Examples: HAVE_DNL, HAVE_AVAILABLE_, HAVE_BY) |
| 13 | |
| 14 | It seems to be this commit dbb4e94dc7bacbcfd4acef4f085ef752fe1aa03f of |
| 15 | mine that revealed this autoheader bug, and the affected config.h.in |
| 16 | had been shipped within flex-2.6.4 release tarball. |
| 17 | |
| 18 | I have reported the autoheader bug here: |
| 19 | <https://lists.gnu.org/archive/html/bug-autoconf/2018-02/msg00005.html> |
| 20 | |
| 21 | As a workaround, let's move comments out of AC_CHECK_FUNCS. |
| 22 | |
| 23 | Signed-off-by: Kang-Che Sung <explorer09@gmail.com> |
| 24 | --- |
| 25 | configure.ac | 29 +++++++++++++---------------- |
| 26 | 1 file changed, 13 insertions(+), 16 deletions(-) |
| 27 | |
| 28 | diff --git a/configure.ac b/configure.ac |
| 29 | index 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 | |
| 40 | diff --git a/configure.ac b/configure.ac |
| 41 | index 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 |