havelib: Fix for Solaris 11 OpenIndiana and Solaris 11 OmniOS.
[gnulib.git] / m4 / search_h.m4
blob788bcd40c40d686cd2bf8a10bbfe1ea424b2966f
1 # search_h.m4 serial 12
2 dnl Copyright (C) 2007-2020 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
7 AC_DEFUN([gl_SEARCH_H],
9   AC_REQUIRE([gl_SEARCH_H_DEFAULTS])
10   gl_CHECK_NEXT_HEADERS([search.h])
11   if test $ac_cv_header_search_h = yes; then
12     HAVE_SEARCH_H=1
13   else
14     HAVE_SEARCH_H=0
15   fi
16   AC_SUBST([HAVE_SEARCH_H])
18   if test $HAVE_SEARCH_H = 1; then
19     AC_CACHE_CHECK([for type VISIT], [gl_cv_type_VISIT],
20       [AC_COMPILE_IFELSE(
21          [AC_LANG_PROGRAM(
22             [[#if HAVE_SEARCH_H
23                #include <search.h>
24               #endif
25             ]],
26             [[static VISIT x; x = postorder;]])],
27          [gl_cv_type_VISIT=yes],
28          [gl_cv_type_VISIT=no])])
29   else
30     gl_cv_type_VISIT=no
31   fi
32   if test $gl_cv_type_VISIT = yes; then
33     HAVE_TYPE_VISIT=1
34   else
35     HAVE_TYPE_VISIT=0
36   fi
37   AC_SUBST([HAVE_TYPE_VISIT])
39   dnl Check for declarations of anything we want to poison if the
40   dnl corresponding gnulib module is not in use.
41   gl_WARN_ON_USE_PREPARE([[#include <search.h>
42     ]], [tdelete tfind tsearch twalk])
44   AC_REQUIRE([AC_C_RESTRICT])
47 AC_DEFUN([gl_SEARCH_MODULE_INDICATOR],
49   dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
50   AC_REQUIRE([gl_SEARCH_H_DEFAULTS])
51   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
52   dnl Define it also as a C macro, for the benefit of the unit tests.
53   gl_MODULE_INDICATOR_FOR_TESTS([$1])
56 AC_DEFUN([gl_SEARCH_H_DEFAULTS],
58   GNULIB_TSEARCH=0; AC_SUBST([GNULIB_TSEARCH])
59   dnl Support Microsoft deprecated alias function names by default.
60   GNULIB_MDA_LFIND=1;   AC_SUBST([GNULIB_MDA_LFIND])
61   GNULIB_MDA_LSEARCH=1; AC_SUBST([GNULIB_MDA_LSEARCH])
62   dnl Assume proper GNU behavior unless another module says otherwise.
63   HAVE_TSEARCH=1;    AC_SUBST([HAVE_TSEARCH])
64   HAVE_TWALK=1;      AC_SUBST([HAVE_TWALK])
65   REPLACE_TSEARCH=0; AC_SUBST([REPLACE_TSEARCH])