2016-09-15 18:50:23 +00:00
|
|
|
dnl Check whether limits.h has needed features.
|
|
|
|
|
2021-01-01 09:13:56 +00:00
|
|
|
dnl Copyright 2016-2021 Free Software Foundation, Inc.
|
2016-09-15 18:50:23 +00:00
|
|
|
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.
|
|
|
|
|
|
|
|
dnl From Paul Eggert.
|
|
|
|
|
|
|
|
AC_DEFUN_ONCE([gl_LIMITS_H],
|
|
|
|
[
|
|
|
|
gl_CHECK_NEXT_HEADERS([limits.h])
|
|
|
|
|
Update from Gnulib
This incorporates:
2018-09-10 timespec: fix resolution confusion
2018-09-09 mktime: simplify in prep for glibc merge
2018-09-07 intprops: minor clarification of code
2018-09-06 stddef: Override max_align_t on NetBSD 8.0/x86
2018-09-06 fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku
2018-09-06 strtoll, strtoull: Rely on limits-h module
2018-09-06 limits-h: Provide numerical limits macros
2018-09-06 fcntl: Don't access nonexistent optional argument
2018-09-02 mktime: fix unlikely race+overflow bug
2018-08-31 mktime, timegm: simplify glibc time64_t
2018-08-31 mktime, timegm: simplify merge to glibc
* build-aux/config.guess, build-aux/config.sub:
* lib/dtotimespec.c, lib/fcntl.c, lib/intprops.h:
* lib/limits.in.h, lib/mktime-internal.h, lib/mktime.c:
* lib/stat-time.h, lib/strtol.c, lib/timegm.c:
* lib/timespec-add.c, lib/timespec-sub.c, lib/timespec.h:
* lib/utimens.c, m4/limits-h.m4, m4/stddef_h.m4:
Copy from Gnulib.
2018-09-11 04:16:03 +00:00
|
|
|
AC_CACHE_CHECK([whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc.],
|
2016-09-15 18:50:23 +00:00
|
|
|
[gl_cv_header_limits_width],
|
|
|
|
[AC_COMPILE_IFELSE(
|
Update from Gnulib
This incorporates:
2018-09-10 timespec: fix resolution confusion
2018-09-09 mktime: simplify in prep for glibc merge
2018-09-07 intprops: minor clarification of code
2018-09-06 stddef: Override max_align_t on NetBSD 8.0/x86
2018-09-06 fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku
2018-09-06 strtoll, strtoull: Rely on limits-h module
2018-09-06 limits-h: Provide numerical limits macros
2018-09-06 fcntl: Don't access nonexistent optional argument
2018-09-02 mktime: fix unlikely race+overflow bug
2018-08-31 mktime, timegm: simplify glibc time64_t
2018-08-31 mktime, timegm: simplify merge to glibc
* build-aux/config.guess, build-aux/config.sub:
* lib/dtotimespec.c, lib/fcntl.c, lib/intprops.h:
* lib/limits.in.h, lib/mktime-internal.h, lib/mktime.c:
* lib/stat-time.h, lib/strtol.c, lib/timegm.c:
* lib/timespec-add.c, lib/timespec-sub.c, lib/timespec.h:
* lib/utimens.c, m4/limits-h.m4, m4/stddef_h.m4:
Copy from Gnulib.
2018-09-11 04:16:03 +00:00
|
|
|
[AC_LANG_PROGRAM(
|
|
|
|
[[#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
|
|
|
|
#define __STDC_WANT_IEC_60559_BFP_EXT__ 1
|
|
|
|
#endif
|
|
|
|
#include <limits.h>
|
|
|
|
long long llm = LLONG_MAX;
|
|
|
|
int wb = WORD_BIT;
|
|
|
|
int ullw = ULLONG_WIDTH;
|
|
|
|
]])],
|
2016-09-15 18:50:23 +00:00
|
|
|
[gl_cv_header_limits_width=yes],
|
|
|
|
[gl_cv_header_limits_width=no])])
|
|
|
|
if test "$gl_cv_header_limits_width" = yes; then
|
|
|
|
LIMITS_H=
|
|
|
|
else
|
|
|
|
LIMITS_H=limits.h
|
|
|
|
fi
|
|
|
|
AC_SUBST([LIMITS_H])
|
|
|
|
AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"])
|
|
|
|
])
|
2018-08-28 01:59:46 +00:00
|
|
|
|
|
|
|
dnl Unconditionally enables the replacement of <limits.h>.
|
|
|
|
AC_DEFUN([gl_REPLACE_LIMITS_H],
|
|
|
|
[
|
|
|
|
AC_REQUIRE([gl_LIMITS_H])
|
|
|
|
LIMITS_H='limits.h'
|
|
|
|
AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"])
|
|
|
|
])
|