Previous: Particular Types, Up: Types


5.9.2 Generic Type Checks

These macros are used to check for types not covered by the “particular” test macros.

— Macro: AC_CHECK_TYPE (type, [action-if-found], [action-if-not-found], [includes = ‘default-includes])

Check whether type is defined. It may be a compiler builtin type or defined by the includes (see Default Includes).

— Macro: AC_CHECK_TYPES (types, [action-if-found], [action-if-not-found], [includes = ‘default-includes])

For each type of the types that is defined, define HAVE_type (in all capitals). If no includes are specified, the default includes are used (see Default Includes). If action-if-found is given, it is additional shell code to execute when one of the types is found. If action-if-not-found is given, it is executed when one of the types is not found.

This macro uses M4 lists:

          AC_CHECK_TYPES([ptrdiff_t])
          AC_CHECK_TYPES([unsigned long long int, uintmax_t])
     

Autoconf, up to 2.13, used to provide to another version of AC_CHECK_TYPE, broken by design. In order to keep backward compatibility, a simple heuristics, quite safe but not totally, is implemented. In case of doubt, read the documentation of the former AC_CHECK_TYPE, see Obsolete Macros.