Skip to content

Commit 167cf3a

Browse files
gh-115806: Don't mangle gdbm header dependency detection output (#129390)
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 d046421 commit 167cf3a

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
@@ -4430,29 +4430,21 @@ AS_CASE([$ac_cv_search_dbm_open],
44304430
AC_MSG_RESULT([$have_ndbm ($dbm_ndbm)])
44314431

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

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

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

0 commit comments

Comments
 (0)