| 1 | # stdlib_h.m4 serial 48 |
| 2 | dnl Copyright (C) 2007-2019 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_STDLIB_H], |
| 8 | [ |
| 9 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
| 10 | gl_NEXT_HEADERS([stdlib.h]) |
| 11 | |
| 12 | dnl Check for declarations of anything we want to poison if the |
| 13 | dnl corresponding gnulib module is not in use, and which is not |
| 14 | dnl guaranteed by C89. |
| 15 | gl_WARN_ON_USE_PREPARE([[#include <stdlib.h> |
| 16 | #if HAVE_SYS_LOADAVG_H |
| 17 | /* OpenIndiana has a bug: <sys/time.h> must be included before |
| 18 | <sys/loadavg.h>. */ |
| 19 | # include <sys/time.h> |
| 20 | # include <sys/loadavg.h> |
| 21 | #endif |
| 22 | #if HAVE_RANDOM_H |
| 23 | # include <random.h> |
| 24 | #endif |
| 25 | ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt |
| 26 | initstate initstate_r mbtowc mkdtemp mkostemp mkostemps mkstemp mkstemps |
| 27 | posix_openpt ptsname ptsname_r qsort_r random random_r reallocarray |
| 28 | realpath rpmatch secure_getenv setenv setstate setstate_r srandom |
| 29 | srandom_r strtod strtold strtoll strtoull unlockpt unsetenv]) |
| 30 | ]) |
| 31 | |
| 32 | AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], |
| 33 | [ |
| 34 | dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
| 35 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
| 36 | gl_MODULE_INDICATOR_SET_VARIABLE([$1]) |
| 37 | dnl Define it also as a C macro, for the benefit of the unit tests. |
| 38 | gl_MODULE_INDICATOR_FOR_TESTS([$1]) |
| 39 | ]) |
| 40 | |
| 41 | AC_DEFUN([gl_STDLIB_H_DEFAULTS], |
| 42 | [ |
| 43 | GNULIB__EXIT=0; AC_SUBST([GNULIB__EXIT]) |
| 44 | GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL]) |
| 45 | GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) |
| 46 | GNULIB_CANONICALIZE_FILE_NAME=0; AC_SUBST([GNULIB_CANONICALIZE_FILE_NAME]) |
| 47 | GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG]) |
| 48 | GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) |
| 49 | GNULIB_GRANTPT=0; AC_SUBST([GNULIB_GRANTPT]) |
| 50 | GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) |
| 51 | GNULIB_MBTOWC=0; AC_SUBST([GNULIB_MBTOWC]) |
| 52 | GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) |
| 53 | GNULIB_MKOSTEMP=0; AC_SUBST([GNULIB_MKOSTEMP]) |
| 54 | GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS]) |
| 55 | GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) |
| 56 | GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS]) |
| 57 | GNULIB_POSIX_OPENPT=0; AC_SUBST([GNULIB_POSIX_OPENPT]) |
| 58 | GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME]) |
| 59 | GNULIB_PTSNAME_R=0; AC_SUBST([GNULIB_PTSNAME_R]) |
| 60 | GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) |
| 61 | GNULIB_QSORT_R=0; AC_SUBST([GNULIB_QSORT_R]) |
| 62 | GNULIB_RANDOM=0; AC_SUBST([GNULIB_RANDOM]) |
| 63 | GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R]) |
| 64 | GNULIB_REALLOCARRAY=0; AC_SUBST([GNULIB_REALLOCARRAY]) |
| 65 | GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) |
| 66 | GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH]) |
| 67 | GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) |
| 68 | GNULIB_SECURE_GETENV=0; AC_SUBST([GNULIB_SECURE_GETENV]) |
| 69 | GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) |
| 70 | GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) |
| 71 | GNULIB_STRTOLD=0; AC_SUBST([GNULIB_STRTOLD]) |
| 72 | GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) |
| 73 | GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) |
| 74 | GNULIB_SYSTEM_POSIX=0; AC_SUBST([GNULIB_SYSTEM_POSIX]) |
| 75 | GNULIB_UNLOCKPT=0; AC_SUBST([GNULIB_UNLOCKPT]) |
| 76 | GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) |
| 77 | GNULIB_WCTOMB=0; AC_SUBST([GNULIB_WCTOMB]) |
| 78 | dnl Assume proper GNU behavior unless another module says otherwise. |
| 79 | HAVE__EXIT=1; AC_SUBST([HAVE__EXIT]) |
| 80 | HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL]) |
| 81 | HAVE_CANONICALIZE_FILE_NAME=1; AC_SUBST([HAVE_CANONICALIZE_FILE_NAME]) |
| 82 | HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) |
| 83 | HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) |
| 84 | HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT]) |
| 85 | HAVE_INITSTATE=1; AC_SUBST([HAVE_INITSTATE]) |
| 86 | HAVE_DECL_INITSTATE=1; AC_SUBST([HAVE_DECL_INITSTATE]) |
| 87 | HAVE_MBTOWC=1; AC_SUBST([HAVE_MBTOWC]) |
| 88 | HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP]) |
| 89 | HAVE_MKOSTEMP=1; AC_SUBST([HAVE_MKOSTEMP]) |
| 90 | HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS]) |
| 91 | HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP]) |
| 92 | HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS]) |
| 93 | HAVE_POSIX_OPENPT=1; AC_SUBST([HAVE_POSIX_OPENPT]) |
| 94 | HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME]) |
| 95 | HAVE_PTSNAME_R=1; AC_SUBST([HAVE_PTSNAME_R]) |
| 96 | HAVE_QSORT_R=1; AC_SUBST([HAVE_QSORT_R]) |
| 97 | HAVE_RANDOM=1; AC_SUBST([HAVE_RANDOM]) |
| 98 | HAVE_RANDOM_H=1; AC_SUBST([HAVE_RANDOM_H]) |
| 99 | HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R]) |
| 100 | HAVE_REALLOCARRAY=1; AC_SUBST([HAVE_REALLOCARRAY]) |
| 101 | HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH]) |
| 102 | HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) |
| 103 | HAVE_SECURE_GETENV=1; AC_SUBST([HAVE_SECURE_GETENV]) |
| 104 | HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) |
| 105 | HAVE_DECL_SETENV=1; AC_SUBST([HAVE_DECL_SETENV]) |
| 106 | HAVE_SETSTATE=1; AC_SUBST([HAVE_SETSTATE]) |
| 107 | HAVE_DECL_SETSTATE=1; AC_SUBST([HAVE_DECL_SETSTATE]) |
| 108 | HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) |
| 109 | HAVE_STRTOLD=1; AC_SUBST([HAVE_STRTOLD]) |
| 110 | HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) |
| 111 | HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) |
| 112 | HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) |
| 113 | HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) |
| 114 | HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT]) |
| 115 | HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV]) |
| 116 | REPLACE_CALLOC=0; AC_SUBST([REPLACE_CALLOC]) |
| 117 | REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME]) |
| 118 | REPLACE_INITSTATE=0; AC_SUBST([REPLACE_INITSTATE]) |
| 119 | REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC]) |
| 120 | REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC]) |
| 121 | REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) |
| 122 | REPLACE_PTSNAME=0; AC_SUBST([REPLACE_PTSNAME]) |
| 123 | REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R]) |
| 124 | REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) |
| 125 | REPLACE_QSORT_R=0; AC_SUBST([REPLACE_QSORT_R]) |
| 126 | REPLACE_RANDOM=0; AC_SUBST([REPLACE_RANDOM]) |
| 127 | REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R]) |
| 128 | REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC]) |
| 129 | REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) |
| 130 | REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) |
| 131 | REPLACE_SETSTATE=0; AC_SUBST([REPLACE_SETSTATE]) |
| 132 | REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) |
| 133 | REPLACE_STRTOLD=0; AC_SUBST([REPLACE_STRTOLD]) |
| 134 | REPLACE_UNSETENV=0; AC_SUBST([REPLACE_UNSETENV]) |
| 135 | REPLACE_WCTOMB=0; AC_SUBST([REPLACE_WCTOMB]) |
| 136 | ]) |