From 677e6e431aa1b1ccd1cd61ba69cbc1a1c1201970 Mon Sep 17 00:00:00 2001 From: "Evgeny Grin (Karlson2k)" Date: Fri, 3 Mar 2023 13:23:01 +0300 Subject: 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. --- m4/tsearch.m4 | 64 ----------------------------------------------------------- 1 file changed, 64 deletions(-) delete mode 100644 m4/tsearch.m4 (limited to 'm4/tsearch.m4') 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 @@ -# tsearch.m4 serial 8 -dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_DEFUN([gl_FUNC_TSEARCH], -[ - AC_REQUIRE([gl_SEARCH_H_DEFAULTS]) - AC_CHECK_FUNCS([tsearch twalk]) - if test $ac_cv_func_tsearch = yes; then - dnl On OpenBSD 4.0, the return value of tdelete() is incorrect. - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - AC_CACHE_CHECK([whether tdelete works], [gl_cv_func_tdelete_works], - [ - AC_RUN_IFELSE([AC_LANG_SOURCE([[ -#include -#include -static int -cmp_fn (const void *a, const void *b) -{ - return *(const int *) a - *(const int *) b; -} -int -main () -{ - int result = 0; - int x = 0; - void *root = NULL; - if (!(tfind (&x, &root, cmp_fn) == NULL)) - result |= 1; - tsearch (&x, &root, cmp_fn); - if (!(tfind (&x, &root, cmp_fn) != NULL)) - result |= 2; - if (!(tdelete (&x, &root, cmp_fn) != NULL)) - result |= 4; - return result; -}]])], [gl_cv_func_tdelete_works=yes], [gl_cv_func_tdelete_works=no], - [case "$host_os" in - openbsd*) gl_cv_func_tdelete_works="guessing no" ;; - # Guess yes on native Windows. - mingw*) gl_cv_func_tdelete_works="guessing yes" ;; - *) gl_cv_func_tdelete_works="guessing yes" ;; - esac - ]) - ]) - case "$gl_cv_func_tdelete_works" in - *no) - REPLACE_TSEARCH=1 - ;; - esac - else - HAVE_TSEARCH=0 - fi - if test $ac_cv_func_twalk != yes; then - HAVE_TWALK=0 - fi -]) - -# Prerequisites of lib/tsearch.c. -AC_DEFUN([gl_PREREQ_TSEARCH], [ - : -]) -- cgit v1.2.3