manpagez: man pages & more
info autoconf
Home | html | info | man

File: autoconf.info,  Node: Particular Types,  Next: Types.php">Generic Types,  Up: Types

5.9.1 Particular Type Checks
----------------------------

These macros check for particular C types in ‘sys/types.h’, ‘stdlib.h’,
‘stdint.h’, ‘inttypes.h’ and others, if they exist.

   The Gnulib ‘stdint’ module is an alternate way to define many of
these symbols; it is useful if you prefer your code to assume a
C99-or-better environment.  *Note Gnulib::.

 -- Macro: AC_TYPE_GETGROUPS
     Define ‘GETGROUPS_T’ to be whichever of ‘gid_t’ or ‘int’ is the
     base type of the array argument to ‘getgroups’.

     This macro caches the base type in the ‘ac_cv_type_getgroups’
     variable.

 -- Macro: AC_TYPE_INT8_T
     If ‘stdint.h’ or ‘inttypes.h’ does not define the type ‘int8_t’,
     define ‘int8_t’ to a signed integer type that is exactly 8 bits
     wide and that uses two's complement representation, if such a type
     exists.  If you are worried about porting to hosts that lack such a
     type, you can use the results of this macro as follows:

          #if HAVE_STDINT_H
          # include 
          #endif
          #if defined INT8_MAX || defined int8_t
           _code using int8_t_
          #else
           _complicated alternative using >8-bit 'signed char'_
          #endif

     This macro caches the type in the ‘ac_cv_c_int8_t’ variable.

 -- Macro: AC_TYPE_INT16_T
     This is like ‘AC_TYPE_INT8_T’, except for 16-bit integers.

 -- Macro: AC_TYPE_INT32_T
     This is like ‘AC_TYPE_INT8_T’, except for 32-bit integers.

 -- Macro: AC_TYPE_INT64_T
     This is like ‘AC_TYPE_INT8_T’, except for 64-bit integers.

 -- Macro: AC_TYPE_INTMAX_T
     If ‘stdint.h’ or ‘inttypes.h’ defines the type ‘intmax_t’, define
     ‘HAVE_INTMAX_T’.  Otherwise, define ‘intmax_t’ to the widest signed
     integer type.

 -- Macro: AC_TYPE_INTPTR_T
     If ‘stdint.h’ or ‘inttypes.h’ defines the type ‘intptr_t’, define
     ‘HAVE_INTPTR_T’.  Otherwise, define ‘intptr_t’ to a signed integer
     type wide enough to hold a pointer, if such a type exists.

 -- Macro: AC_TYPE_LONG_DOUBLE
     If the C compiler supports a working ‘long double’ type, define
     ‘HAVE_LONG_DOUBLE’.  The ‘long double’ type might have the same
     range and precision as ‘double’.

     This macro caches its result in the ‘ac_cv_type_long_double’
     variable.

     This macro is obsolescent, as current C compilers support ‘long
     double’.  New programs need not use this macro.

 -- Macro: AC_TYPE_LONG_DOUBLE_WIDER
     If the C compiler supports a working ‘long double’ type with more
     range or precision than the ‘double’ type, define
     ‘HAVE_LONG_DOUBLE_WIDER’.

     This macro caches its result in the ‘ac_cv_type_long_double_wider’
     variable.

 -- Macro: AC_TYPE_LONG_LONG_INT
     If the C compiler supports a working ‘long long int’ type, define
     ‘HAVE_LONG_LONG_INT’.  However, this test does not test ‘long long
     int’ values in preprocessor ‘#if’ expressions, because too many
     compilers mishandle such expressions.  *Note Preprocessor
     Arithmetic::.

     This macro caches its result in the ‘ac_cv_type_long_long_int’
     variable.

 -- Macro: AC_TYPE_MBSTATE_T
     Define ‘HAVE_MBSTATE_T’ if ‘’ declares the ‘mbstate_t’
     type.  Also, define ‘mbstate_t’ to be a type if ‘’ does
     not declare it.

     This macro caches its result in the ‘ac_cv_type_mbstate_t’
     variable.

 -- Macro: AC_TYPE_MODE_T
     Define ‘mode_t’ to a suitable type, if standard headers do not
     define it.

     This macro caches its result in the ‘ac_cv_type_mode_t’ variable.

 -- Macro: AC_TYPE_OFF_T
     Define ‘off_t’ to a suitable type, if standard headers do not
     define it.

     This macro caches its result in the ‘ac_cv_type_off_t’ variable.

 -- Macro: AC_TYPE_PID_T
     Define ‘pid_t’ to a suitable type, if standard headers do not
     define it.

     This macro caches its result in the ‘ac_cv_type_pid_t’ variable.

 -- Macro: AC_TYPE_SIZE_T
     Define ‘size_t’ to a suitable type, if standard headers do not
     define it.

     This macro caches its result in the ‘ac_cv_type_size_t’ variable.

 -- Macro: AC_TYPE_SSIZE_T
     Define ‘ssize_t’ to a suitable type, if standard headers do not
     define it.

     This macro caches its result in the ‘ac_cv_type_ssize_t’ variable.

 -- Macro: AC_TYPE_UID_T
     Define ‘uid_t’ and ‘gid_t’ to suitable types, if standard headers
     do not define them.

     This macro caches its result in the ‘ac_cv_type_uid_t’ variable.

 -- Macro: AC_TYPE_UINT8_T
     If ‘stdint.h’ or ‘inttypes.h’ does not define the type ‘uint8_t’,
     define ‘uint8_t’ to an unsigned integer type that is exactly 8 bits
     wide, if such a type exists.  This is like ‘AC_TYPE_INT8_T’, except
     for unsigned integers.

 -- Macro: AC_TYPE_UINT16_T
     This is like ‘AC_TYPE_UINT8_T’, except for 16-bit integers.

 -- Macro: AC_TYPE_UINT32_T
     This is like ‘AC_TYPE_UINT8_T’, except for 32-bit integers.

 -- Macro: AC_TYPE_UINT64_T
     This is like ‘AC_TYPE_UINT8_T’, except for 64-bit integers.

 -- Macro: AC_TYPE_UINTMAX_T
     If ‘stdint.h’ or ‘inttypes.h’ defines the type ‘uintmax_t’, define
     ‘HAVE_UINTMAX_T’.  Otherwise, define ‘uintmax_t’ to the widest
     unsigned integer type.

 -- Macro: AC_TYPE_UINTPTR_T
     If ‘stdint.h’ or ‘inttypes.h’ defines the type ‘uintptr_t’, define
     ‘HAVE_UINTPTR_T’.  Otherwise, define ‘uintptr_t’ to an unsigned
     integer type wide enough to hold a pointer, if such a type exists.

 -- Macro: AC_TYPE_UNSIGNED_LONG_LONG_INT
     If the C compiler supports a working ‘unsigned long long int’ type,
     define ‘HAVE_UNSIGNED_LONG_LONG_INT’.  However, this test does not
     test ‘unsigned long long int’ values in preprocessor ‘#if’
     expressions, because too many compilers mishandle such expressions.
     *Note Preprocessor Arithmetic::.

     This macro caches its result in the
     ‘ac_cv_type_unsigned_long_long_int’ variable.

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.