2N/A# stdlib_h.m4 serial 30
2N/Adnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
2N/Adnl This file is free software; the Free Software Foundation
2N/Adnl gives unlimited permission to copy and/or distribute it,
2N/Adnl with or without modifications, as long as this notice is preserved.
2N/A
2N/AAC_DEFUN([gl_STDLIB_H],
2N/A[
2N/A AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
2N/A gl_CHECK_NEXT_HEADERS([stdlib.h])
2N/A AC_CHECK_HEADERS([random.h], [], [], [AC_INCLUDES_DEFAULT])
2N/A if test $ac_cv_header_random_h = yes; then
2N/A HAVE_RANDOM_H=1
2N/A else
2N/A HAVE_RANDOM_H=0
2N/A fi
2N/A AC_SUBST([HAVE_RANDOM_H])
2N/A AC_CHECK_TYPES([struct random_data],
2N/A [], [HAVE_STRUCT_RANDOM_DATA=0],
2N/A [[#include <stdlib.h>
2N/A #if HAVE_RANDOM_H
2N/A # include <random.h>
2N/A #endif
2N/A ]])
2N/A
2N/A dnl Check for declarations of anything we want to poison if the
2N/A dnl corresponding gnulib module is not in use, and which is not
2N/A dnl guaranteed by C89.
2N/A gl_WARN_ON_USE_PREPARE([[#include <stdlib.h>
2N/A#if HAVE_SYS_LOADAVG_H
2N/A# include <sys/loadavg.h>
2N/A#endif
2N/A#if HAVE_RANDOM_H
2N/A# include <random.h>
2N/A#endif
2N/A ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt mkdtemp
2N/A mkostemp mkostemps mkstemp mkstemps ptsname random_r initstat_r srandom_r
2N/A setstate_r realpath rpmatch setenv strtod strtoll strtoull unlockpt
2N/A unsetenv])
2N/A])
2N/A
2N/AAC_DEFUN([gl_STDLIB_MODULE_INDICATOR],
2N/A[
2N/A dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
2N/A AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
2N/A gl_MODULE_INDICATOR_SET_VARIABLE([$1])
2N/A dnl Define it also as a C macro, for the benefit of the unit tests.
2N/A gl_MODULE_INDICATOR_FOR_TESTS([$1])
2N/A])
2N/A
2N/AAC_DEFUN([gl_STDLIB_H_DEFAULTS],
2N/A[
2N/A GNULIB__EXIT=0; AC_SUBST([GNULIB__EXIT])
2N/A GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL])
2N/A GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX])
2N/A GNULIB_CANONICALIZE_FILE_NAME=0; AC_SUBST([GNULIB_CANONICALIZE_FILE_NAME])
2N/A GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG])
2N/A GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT])
2N/A GNULIB_GRANTPT=0; AC_SUBST([GNULIB_GRANTPT])
2N/A GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX])
2N/A GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP])
2N/A GNULIB_MKOSTEMP=0; AC_SUBST([GNULIB_MKOSTEMP])
2N/A GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS])
2N/A GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP])
2N/A GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS])
2N/A GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME])
2N/A GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV])
2N/A GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R])
2N/A GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
2N/A GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH])
2N/A GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH])
2N/A GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV])
2N/A GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD])
2N/A GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL])
2N/A GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL])
2N/A GNULIB_UNLOCKPT=0; AC_SUBST([GNULIB_UNLOCKPT])
2N/A GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV])
2N/A dnl Assume proper GNU behavior unless another module says otherwise.
2N/A HAVE__EXIT=1; AC_SUBST([HAVE__EXIT])
2N/A HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL])
2N/A HAVE_CANONICALIZE_FILE_NAME=1; AC_SUBST([HAVE_CANONICALIZE_FILE_NAME])
2N/A HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG])
2N/A HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT])
2N/A HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT])
2N/A HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP])
2N/A HAVE_MKOSTEMP=1; AC_SUBST([HAVE_MKOSTEMP])
2N/A HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS])
2N/A HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP])
2N/A HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS])
2N/A HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME])
2N/A HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R])
2N/A HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH])
2N/A HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH])
2N/A HAVE_SETENV=1; AC_SUBST([HAVE_SETENV])
2N/A HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD])
2N/A HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL])
2N/A HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL])
2N/A HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA])
2N/A HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H])
2N/A HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT])
2N/A HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV])
2N/A REPLACE_CALLOC=0; AC_SUBST([REPLACE_CALLOC])
2N/A REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME])
2N/A REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC])
2N/A REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP])
2N/A REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV])
2N/A REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC])
2N/A REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH])
2N/A REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV])
2N/A REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD])
2N/A REPLACE_UNSETENV=0; AC_SUBST([REPLACE_UNSETENV])
2N/A])