autoconf: Particular Types
1
1 5.9.1 Particular Type Checks
1 ----------------------------
1
1 These macros check for particular C types in `sys/types.h', `stdlib.h',
1 `stdint.h', `inttypes.h' and others, if they exist.
1
1 The Gnulib `stdint' module is an alternate way to define many of
1 these symbols; it is useful if you prefer your code to assume a
1 C99-or-better environment. ⇒Gnulib.
1
1 -- Macro: AC_TYPE_GETGROUPS
1 Define `GETGROUPS_T' to be whichever of `gid_t' or `int' is the
1 base type of the array argument to `getgroups'.
1
1 This macro caches the base type in the `ac_cv_type_getgroups'
1 variable.
1
1 -- Macro: AC_TYPE_INT8_T
1 If `stdint.h' or `inttypes.h' does not define the type `int8_t',
1 define `int8_t' to a signed integer type that is exactly 8 bits
1 wide and that uses two's complement representation, if such a type
1 exists. If you are worried about porting to hosts that lack such
1 a type, you can use the results of this macro in C89-or-later code
1 as follows:
1
1 #if HAVE_STDINT_H
1 # include <stdint.h>
1 #endif
1 #if defined INT8_MAX || defined int8_t
1 _code using int8_t_
1 #else
1 _complicated alternative using >8-bit 'signed char'_
1 #endif
1
1 This macro caches the type in the `ac_cv_c_int8_t' variable.
1
1 -- Macro: AC_TYPE_INT16_T
1 This is like `AC_TYPE_INT8_T', except for 16-bit integers.
1
1 -- Macro: AC_TYPE_INT32_T
1 This is like `AC_TYPE_INT8_T', except for 32-bit integers.
1
1 -- Macro: AC_TYPE_INT64_T
1 This is like `AC_TYPE_INT8_T', except for 64-bit integers.
1
1 -- Macro: AC_TYPE_INTMAX_T
1 If `stdint.h' or `inttypes.h' defines the type `intmax_t', define
1 `HAVE_INTMAX_T'. Otherwise, define `intmax_t' to the widest
1 signed integer type.
1
1 -- Macro: AC_TYPE_INTPTR_T
1 If `stdint.h' or `inttypes.h' defines the type `intptr_t', define
1 `HAVE_INTPTR_T'. Otherwise, define `intptr_t' to a signed integer
1 type wide enough to hold a pointer, if such a type exists.
1
1 -- Macro: AC_TYPE_LONG_DOUBLE
1 If the C compiler supports a working `long double' type, define
1 `HAVE_LONG_DOUBLE'. The `long double' type might have the same
1 range and precision as `double'.
1
1 This macro caches its result in the `ac_cv_type_long_double'
1 variable.
1
1 This macro is obsolescent, as current C compilers support `long
1 double'. New programs need not use this macro.
1
1 -- Macro: AC_TYPE_LONG_DOUBLE_WIDER
1 If the C compiler supports a working `long double' type with more
1 range or precision than the `double' type, define
1 `HAVE_LONG_DOUBLE_WIDER'.
1
1 This macro caches its result in the `ac_cv_type_long_double_wider'
1 variable.
1
1 -- Macro: AC_TYPE_LONG_LONG_INT
1 If the C compiler supports a working `long long int' type, define
1 `HAVE_LONG_LONG_INT'. However, this test does not test `long long
1 int' values in preprocessor `#if' expressions, because too many
11 compilers mishandle such expressions. ⇒Preprocessor
Arithmetic.
1
1 This macro caches its result in the `ac_cv_type_long_long_int'
1 variable.
1
1 -- Macro: AC_TYPE_MBSTATE_T
1 Define `HAVE_MBSTATE_T' if `<wchar.h>' declares the `mbstate_t'
1 type. Also, define `mbstate_t' to be a type if `<wchar.h>' does
1 not declare it.
1
1 This macro caches its result in the `ac_cv_type_mbstate_t'
1 variable.
1
1 -- Macro: AC_TYPE_MODE_T
1 Define `mode_t' to a suitable type, if standard headers do not
1 define it.
1
1 This macro caches its result in the `ac_cv_type_mode_t' variable.
1
1 -- Macro: AC_TYPE_OFF_T
1 Define `off_t' to a suitable type, if standard headers do not
1 define it.
1
1 This macro caches its result in the `ac_cv_type_off_t' variable.
1
1 -- Macro: AC_TYPE_PID_T
1 Define `pid_t' to a suitable type, if standard headers do not
1 define it.
1
1 This macro caches its result in the `ac_cv_type_pid_t' variable.
1
1 -- Macro: AC_TYPE_SIZE_T
1 Define `size_t' to a suitable type, if standard headers do not
1 define it.
1
1 This macro caches its result in the `ac_cv_type_size_t' variable.
1
1 -- Macro: AC_TYPE_SSIZE_T
1 Define `ssize_t' to a suitable type, if standard headers do not
1 define it.
1
1 This macro caches its result in the `ac_cv_type_ssize_t' variable.
1
1 -- Macro: AC_TYPE_UID_T
1 Define `uid_t' and `gid_t' to suitable types, if standard headers
1 do not define them.
1
1 This macro caches its result in the `ac_cv_type_uid_t' variable.
1
1 -- Macro: AC_TYPE_UINT8_T
1 If `stdint.h' or `inttypes.h' does not define the type `uint8_t',
1 define `uint8_t' to an unsigned integer type that is exactly 8
1 bits wide, if such a type exists. This is like `AC_TYPE_INT8_T',
1 except for unsigned integers.
1
1 -- Macro: AC_TYPE_UINT16_T
1 This is like `AC_TYPE_UINT8_T', except for 16-bit integers.
1
1 -- Macro: AC_TYPE_UINT32_T
1 This is like `AC_TYPE_UINT8_T', except for 32-bit integers.
1
1 -- Macro: AC_TYPE_UINT64_T
1 This is like `AC_TYPE_UINT8_T', except for 64-bit integers.
1
1 -- Macro: AC_TYPE_UINTMAX_T
1 If `stdint.h' or `inttypes.h' defines the type `uintmax_t', define
1 `HAVE_UINTMAX_T'. Otherwise, define `uintmax_t' to the widest
1 unsigned integer type.
1
1 -- Macro: AC_TYPE_UINTPTR_T
1 If `stdint.h' or `inttypes.h' defines the type `uintptr_t', define
1 `HAVE_UINTPTR_T'. Otherwise, define `uintptr_t' to an unsigned
1 integer type wide enough to hold a pointer, if such a type exists.
1
1 -- Macro: AC_TYPE_UNSIGNED_LONG_LONG_INT
1 If the C compiler supports a working `unsigned long long int' type,
1 define `HAVE_UNSIGNED_LONG_LONG_INT'. However, this test does not
1 test `unsigned long long int' values in preprocessor `#if'
1 expressions, because too many compilers mishandle such expressions.
1 ⇒Preprocessor Arithmetic.
1
1 This macro caches its result in the
1 `ac_cv_type_unsigned_long_long_int' variable.
1