aboutsummaryrefslogtreecommitdiff
path: root/m4/tsearch.m4
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2023-03-03 13:23:01 +0300
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2023-03-03 13:23:01 +0300
commit677e6e431aa1b1ccd1cd61ba69cbc1a1c1201970 (patch)
tree0d80d108a625ef1b96748b68b68c0e78bf15f134 /m4/tsearch.m4
parent29311f409720f69873f7e58bfcad6a21ba0521ad (diff)
downloadlibmicrohttpd-677e6e431aa1b1ccd1cd61ba69cbc1a1c1201970.tar.gz
libmicrohttpd-677e6e431aa1b1ccd1cd61ba69cbc1a1c1201970.zip
configure: fixed checks for tsearch() and related
New check works correctly with new compilers. Added known problematic implementations. Added more checks for correct behaviour. Removed some m4 macros.
Diffstat (limited to 'm4/tsearch.m4')
-rw-r--r--m4/tsearch.m464
1 files changed, 0 insertions, 64 deletions
diff --git a/m4/tsearch.m4 b/m4/tsearch.m4
deleted file mode 100644
index 9f8782e4..00000000
--- a/m4/tsearch.m4
+++ /dev/null
@@ -1,64 +0,0 @@
1# tsearch.m4 serial 8
2dnl Copyright (C) 2006-2021 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_FUNC_TSEARCH],
8[
9 AC_REQUIRE([gl_SEARCH_H_DEFAULTS])
10 AC_CHECK_FUNCS([tsearch twalk])
11 if test $ac_cv_func_tsearch = yes; then
12 dnl On OpenBSD 4.0, the return value of tdelete() is incorrect.
13 AC_REQUIRE([AC_PROG_CC])
14 AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
15 AC_CACHE_CHECK([whether tdelete works], [gl_cv_func_tdelete_works],
16 [
17 AC_RUN_IFELSE([AC_LANG_SOURCE([[
18#include <stddef.h>
19#include <search.h>
20static int
21cmp_fn (const void *a, const void *b)
22{
23 return *(const int *) a - *(const int *) b;
24}
25int
26main ()
27{
28 int result = 0;
29 int x = 0;
30 void *root = NULL;
31 if (!(tfind (&x, &root, cmp_fn) == NULL))
32 result |= 1;
33 tsearch (&x, &root, cmp_fn);
34 if (!(tfind (&x, &root, cmp_fn) != NULL))
35 result |= 2;
36 if (!(tdelete (&x, &root, cmp_fn) != NULL))
37 result |= 4;
38 return result;
39}]])], [gl_cv_func_tdelete_works=yes], [gl_cv_func_tdelete_works=no],
40 [case "$host_os" in
41 openbsd*) gl_cv_func_tdelete_works="guessing no" ;;
42 # Guess yes on native Windows.
43 mingw*) gl_cv_func_tdelete_works="guessing yes" ;;
44 *) gl_cv_func_tdelete_works="guessing yes" ;;
45 esac
46 ])
47 ])
48 case "$gl_cv_func_tdelete_works" in
49 *no)
50 REPLACE_TSEARCH=1
51 ;;
52 esac
53 else
54 HAVE_TSEARCH=0
55 fi
56 if test $ac_cv_func_twalk != yes; then
57 HAVE_TWALK=0
58 fi
59])
60
61# Prerequisites of lib/tsearch.c.
62AC_DEFUN([gl_PREREQ_TSEARCH], [
63 :
64])