diff options
author | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2023-03-03 13:23:01 +0300 |
---|---|---|
committer | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2023-03-03 13:23:01 +0300 |
commit | 677e6e431aa1b1ccd1cd61ba69cbc1a1c1201970 (patch) | |
tree | 0d80d108a625ef1b96748b68b68c0e78bf15f134 /m4/tsearch.m4 | |
parent | 29311f409720f69873f7e58bfcad6a21ba0521ad (diff) | |
download | libmicrohttpd-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.m4 | 64 |
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 | ||
2 | dnl Copyright (C) 2006-2021 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. | ||
6 | |||
7 | AC_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> | ||
20 | static int | ||
21 | cmp_fn (const void *a, const void *b) | ||
22 | { | ||
23 | return *(const int *) a - *(const int *) b; | ||
24 | } | ||
25 | int | ||
26 | main () | ||
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. | ||
62 | AC_DEFUN([gl_PREREQ_TSEARCH], [ | ||
63 | : | ||
64 | ]) | ||