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