aboutsummaryrefslogtreecommitdiff
path: root/m4/search_h.m4
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2017-02-16 11:20:50 +0100
committerChristian Grothoff <christian@grothoff.org>2017-02-16 11:20:50 +0100
commit82d65c48edbccca45bd6851879aa69c629a024b7 (patch)
treec986a99abe827bfcf6c2ca6fbec2e9355241c6ff /m4/search_h.m4
parentf154b0ef8894185fd6c01888d10280049bed10c6 (diff)
downloadlibmicrohttpd-82d65c48edbccca45bd6851879aa69c629a024b7.tar.gz
libmicrohttpd-82d65c48edbccca45bd6851879aa69c629a024b7.zip
replace tsearch test with code from gnulib, to hopefully address silviprog's android problems
Diffstat (limited to 'm4/search_h.m4')
-rw-r--r--m4/search_h.m460
1 files changed, 60 insertions, 0 deletions
diff --git a/m4/search_h.m4 b/m4/search_h.m4
new file mode 100644
index 00000000..6aaaf36e
--- /dev/null
+++ b/m4/search_h.m4
@@ -0,0 +1,60 @@
1# search_h.m4 serial 9
2dnl Copyright (C) 2007-2017 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7AC_DEFUN([gl_SEARCH_H],
8[
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])
17
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])
38
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])
43])
44
45AC_DEFUN([gl_SEARCH_MODULE_INDICATOR],
46[
47 dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
48 AC_REQUIRE([gl_SEARCH_H_DEFAULTS])
49 gl_MODULE_INDICATOR_SET_VARIABLE([$1])
50 dnl Define it also as a C macro, for the benefit of the unit tests.
51 gl_MODULE_INDICATOR_FOR_TESTS([$1])
52])
53
54AC_DEFUN([gl_SEARCH_H_DEFAULTS],
55[
56 GNULIB_TSEARCH=0; AC_SUBST([GNULIB_TSEARCH])
57 dnl Assume proper GNU behavior unless another module says otherwise.
58 HAVE_TSEARCH=1; AC_SUBST([HAVE_TSEARCH])
59 REPLACE_TSEARCH=0; AC_SUBST([REPLACE_TSEARCH])
60])