123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- # stdlib_h.m4 serial 66
- dnl Copyright (C) 2007-2023 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_ONCE([gl_STDLIB_H],
- [
- AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
- gl_NEXT_HEADERS([stdlib.h])
- dnl Check for declarations of anything we want to poison if the
- dnl corresponding gnulib module is not in use, and which is not
- dnl guaranteed by C89.
- gl_WARN_ON_USE_PREPARE([[#include <stdlib.h>
- #if HAVE_SYS_LOADAVG_H
- /* OpenIndiana has a bug: <sys/time.h> must be included before
- <sys/loadavg.h>. */
- # include <sys/time.h>
- # include <sys/loadavg.h>
- #endif
- #if HAVE_RANDOM_H
- # include <random.h>
- #endif
- ]], [_Exit aligned_alloc atoll canonicalize_file_name free
- getloadavg getsubopt grantpt
- initstate initstate_r mbtowc mkdtemp mkostemp mkostemps mkstemp mkstemps
- posix_memalign posix_openpt ptsname ptsname_r qsort_r
- random random_r reallocarray realpath rpmatch secure_getenv setenv
- setstate setstate_r srandom srandom_r
- strtod strtol strtold strtoll strtoul strtoull unlockpt unsetenv])
- AC_REQUIRE([AC_C_RESTRICT])
- AC_CHECK_DECLS_ONCE([ecvt])
- if test $ac_cv_have_decl_ecvt = no; then
- HAVE_DECL_ECVT=0
- fi
- AC_CHECK_DECLS_ONCE([fcvt])
- if test $ac_cv_have_decl_fcvt = no; then
- HAVE_DECL_FCVT=0
- fi
- AC_CHECK_DECLS_ONCE([gcvt])
- if test $ac_cv_have_decl_gcvt = no; then
- HAVE_DECL_GCVT=0
- fi
- ])
- # gl_STDLIB_MODULE_INDICATOR([modulename])
- # sets the shell variable that indicates the presence of the given module
- # to a C preprocessor expression that will evaluate to 1.
- # This macro invocation must not occur in macros that are AC_REQUIREd.
- AC_DEFUN([gl_STDLIB_MODULE_INDICATOR],
- [
- dnl Ensure to expand the default settings once only.
- gl_STDLIB_H_REQUIRE_DEFAULTS
- gl_MODULE_INDICATOR_SET_VARIABLE([$1])
- dnl Define it also as a C macro, for the benefit of the unit tests.
- gl_MODULE_INDICATOR_FOR_TESTS([$1])
- ])
- # Initializes the default values for AC_SUBSTed shell variables.
- # This macro must not be AC_REQUIREd. It must only be invoked, and only
- # outside of macros or in macros that are not AC_REQUIREd.
- AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS],
- [
- m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDLIB_H_MODULE_INDICATOR_DEFAULTS], [
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB__EXIT])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ALIGNED_ALLOC])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATOLL])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CALLOC_GNU])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CALLOC_POSIX])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CANONICALIZE_FILE_NAME])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREE_POSIX])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOADAVG])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSUBOPT])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GRANTPT])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_GNU])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_POSIX])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBTOWC])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDTEMP])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMP])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMPS])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKSTEMP])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKSTEMPS])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POSIX_MEMALIGN])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POSIX_OPENPT])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME_R])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTENV])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_QSORT_R])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM_R])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOCARRAY])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_GNU])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_POSIX])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALPATH])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RPMATCH])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SECURE_GETENV])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETENV])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOD])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOL])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLD])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOLL])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOUL])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOULL])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SYSTEM_POSIX])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNLOCKPT])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNSETENV])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTOMB])
- dnl Support Microsoft deprecated alias function names by default.
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_ECVT], [1])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FCVT], [1])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_GCVT], [1])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_MKTEMP], [1])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_PUTENV], [1])
- ])
- m4_require(GL_MODULE_INDICATOR_PREFIX[_STDLIB_H_MODULE_INDICATOR_DEFAULTS])
- AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
- ])
- AC_DEFUN([gl_STDLIB_H_DEFAULTS],
- [
- dnl Assume proper GNU behavior unless another module says otherwise.
- HAVE__EXIT=1; AC_SUBST([HAVE__EXIT])
- HAVE_ALIGNED_ALLOC=1; AC_SUBST([HAVE_ALIGNED_ALLOC])
- HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL])
- HAVE_CANONICALIZE_FILE_NAME=1; AC_SUBST([HAVE_CANONICALIZE_FILE_NAME])
- HAVE_DECL_ECVT=1; AC_SUBST([HAVE_DECL_ECVT])
- HAVE_DECL_FCVT=1; AC_SUBST([HAVE_DECL_FCVT])
- HAVE_DECL_GCVT=1; AC_SUBST([HAVE_DECL_GCVT])
- HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG])
- HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT])
- HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT])
- HAVE_INITSTATE=1; AC_SUBST([HAVE_INITSTATE])
- HAVE_DECL_INITSTATE=1; AC_SUBST([HAVE_DECL_INITSTATE])
- HAVE_MBTOWC=1; AC_SUBST([HAVE_MBTOWC])
- HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP])
- HAVE_MKOSTEMP=1; AC_SUBST([HAVE_MKOSTEMP])
- HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS])
- HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP])
- HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS])
- HAVE_POSIX_MEMALIGN=1; AC_SUBST([HAVE_POSIX_MEMALIGN])
- HAVE_POSIX_OPENPT=1; AC_SUBST([HAVE_POSIX_OPENPT])
- HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME])
- HAVE_PTSNAME_R=1; AC_SUBST([HAVE_PTSNAME_R])
- HAVE_QSORT_R=1; AC_SUBST([HAVE_QSORT_R])
- HAVE_RANDOM=1; AC_SUBST([HAVE_RANDOM])
- HAVE_RANDOM_H=1; AC_SUBST([HAVE_RANDOM_H])
- HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R])
- HAVE_REALLOCARRAY=1; AC_SUBST([HAVE_REALLOCARRAY])
- HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH])
- HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH])
- HAVE_SECURE_GETENV=1; AC_SUBST([HAVE_SECURE_GETENV])
- HAVE_SETENV=1; AC_SUBST([HAVE_SETENV])
- HAVE_DECL_SETENV=1; AC_SUBST([HAVE_DECL_SETENV])
- HAVE_SETSTATE=1; AC_SUBST([HAVE_SETSTATE])
- HAVE_DECL_SETSTATE=1; AC_SUBST([HAVE_DECL_SETSTATE])
- HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD])
- HAVE_STRTOL=1; AC_SUBST([HAVE_STRTOL])
- HAVE_STRTOLD=1; AC_SUBST([HAVE_STRTOLD])
- HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL])
- HAVE_STRTOUL=1; AC_SUBST([HAVE_STRTOUL])
- HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL])
- HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA])
- HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H])
- HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT])
- HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV])
- REPLACE_ALIGNED_ALLOC=0; AC_SUBST([REPLACE_ALIGNED_ALLOC])
- REPLACE_CALLOC_FOR_CALLOC_GNU=0; AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_GNU])
- REPLACE_CALLOC_FOR_CALLOC_POSIX=0; AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_POSIX])
- REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME])
- REPLACE_FREE=0; AC_SUBST([REPLACE_FREE])
- REPLACE_INITSTATE=0; AC_SUBST([REPLACE_INITSTATE])
- REPLACE_MALLOC_FOR_MALLOC_GNU=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_GNU])
- REPLACE_MALLOC_FOR_MALLOC_POSIX=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_POSIX])
- REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC])
- REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP])
- REPLACE_POSIX_MEMALIGN=0; AC_SUBST([REPLACE_POSIX_MEMALIGN])
- REPLACE_PTSNAME=0; AC_SUBST([REPLACE_PTSNAME])
- REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R])
- REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV])
- REPLACE_QSORT_R=0; AC_SUBST([REPLACE_QSORT_R])
- REPLACE_RANDOM=0; AC_SUBST([REPLACE_RANDOM])
- REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R])
- REPLACE_REALLOC_FOR_REALLOC_GNU=0; AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_GNU])
- REPLACE_REALLOC_FOR_REALLOC_POSIX=0; AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_POSIX])
- REPLACE_REALLOCARRAY=0; AC_SUBST([REPLACE_REALLOCARRAY])
- REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH])
- REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV])
- REPLACE_SETSTATE=0; AC_SUBST([REPLACE_SETSTATE])
- REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD])
- REPLACE_STRTOL=0; AC_SUBST([REPLACE_STRTOL])
- REPLACE_STRTOLD=0; AC_SUBST([REPLACE_STRTOLD])
- REPLACE_STRTOLL=0; AC_SUBST([REPLACE_STRTOLL])
- REPLACE_STRTOUL=0; AC_SUBST([REPLACE_STRTOUL])
- REPLACE_STRTOULL=0; AC_SUBST([REPLACE_STRTOULL])
- REPLACE_UNSETENV=0; AC_SUBST([REPLACE_UNSETENV])
- REPLACE_WCTOMB=0; AC_SUBST([REPLACE_WCTOMB])
- ])
|