Skip to content

Commit 1ecf13d

Browse files
gh-115806: Don't mangle gdbm header dependency detection output
Replace AC_CACHE_VAL/AC_CHECK_HEADER with a cleaner variant using AC_CACHE_CHECK/AC_PREPROC_IFELSE. The former would produce garbled output when config.cache was reused. It also required directly manipulating GNU Autoconf cache variables.
1 parent 8e57877 commit 1ecf13d

File tree

2 files changed

+30
-35
lines changed

2 files changed

+30
-35
lines changed

configure

Lines changed: 22 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

configure.ac

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4429,29 +4429,21 @@ AS_CASE([$ac_cv_search_dbm_open],
44294429
AC_MSG_RESULT([$have_ndbm ($dbm_ndbm)])
44304430

44314431
dnl "gdbm-ndbm.h" and "gdbm/ndbm.h" are both normalized to "gdbm_ndbm_h"
4432-
dnl unset ac_cv_header_gdbm_ndbm_h to prevent false positive cache hits.
4433-
AS_UNSET([ac_cv_header_gdbm_ndbm_h])
4434-
AC_CACHE_VAL([ac_cv_header_gdbm_slash_ndbm_h], [
4435-
AC_CHECK_HEADER(
4436-
[gdbm/ndbm.h],
4437-
[ac_cv_header_gdbm_slash_ndbm_h=yes], [ac_cv_header_gdbm_slash_ndbm_h=no]
4438-
)
4439-
])
4432+
AC_CACHE_CHECK([for gdbm/ndbm.h], [ac_cv_header_gdbm_slash_ndbm_h],
4433+
[AC_PREPROC_IFELSE([AC_LANG_SOURCE([@%:@include <gdbm/ndbm.h>])],
4434+
[ac_cv_header_gdbm_slash_ndbm_h=yes],
4435+
[ac_cv_header_gdbm_slash_ndbm_h=no])])
44404436
AS_VAR_IF([ac_cv_header_gdbm_slash_ndbm_h], [yes], [
44414437
AC_DEFINE([HAVE_GDBM_NDBM_H], [1], [Define to 1 if you have the <gdbm/ndbm.h> header file.])
44424438
])
44434439

4444-
AS_UNSET([ac_cv_header_gdbm_ndbm_h])
4445-
AC_CACHE_VAL([ac_cv_header_gdbm_dash_ndbm_h], [
4446-
AC_CHECK_HEADER(
4447-
[gdbm-ndbm.h],
4448-
[ac_cv_header_gdbm_dash_ndbm_h=yes], [ac_cv_header_gdbm_dash_ndbm_h=no]
4449-
)
4450-
])
4440+
AC_CACHE_CHECK([for gdbm-ndbm.h], [ac_cv_header_gdbm_dash_ndbm_h],
4441+
[AC_PREPROC_IFELSE([AC_LANG_SOURCE([@%:@include <gdbm-ndbm.h>])],
4442+
[ac_cv_header_gdbm_dash_ndbm_h=yes],
4443+
[ac_cv_header_gdbm_dash_ndbm_h=no])])
44514444
AS_VAR_IF([ac_cv_header_gdbm_dash_ndbm_h], [yes], [
44524445
AC_DEFINE([HAVE_GDBM_DASH_NDBM_H], [1], [Define to 1 if you have the <gdbm-ndbm.h> header file.])
44534446
])
4454-
AS_UNSET([ac_cv_header_gdbm_ndbm_h])
44554447

44564448
if test "$ac_cv_header_gdbm_slash_ndbm_h" = yes -o "$ac_cv_header_gdbm_dash_ndbm_h" = yes; then
44574449
AS_UNSET([ac_cv_search_dbm_open])

0 commit comments

Comments
 (0)