File: autoconf.info, Node: Generic Types, Prev: Types.php">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 = AC_INCLUDES_DEFAULT]) Check whether TYPE is defined. It may be a compiler builtin type or defined by the INCLUDES. INCLUDES is a series of include directives, defaulting to ‘AC_INCLUDES_DEFAULT’ (*note Default Includes::), which are used prior to the type under test. In C, TYPE must be a type-name, so that the expression ‘sizeof (TYPE)’ is valid (but ‘sizeof ((TYPE))’ is not). The same test is applied when compiling for C++, which means that in C++ TYPE should be a type-id and should not be an anonymous ‘struct’ or ‘union’. This macro caches its result in the ‘ac_cv_type_TYPE’ variable, with ‘*’ mapped to ‘p’ and other characters not suitable for a variable name mapped to underscores. -- Macro: AC_CHECK_TYPES (TYPES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], [INCLUDES = AC_INCLUDES_DEFAULT]) For each TYPE of the TYPES that is defined, define ‘HAVE_TYPE’ (in all capitals). Each TYPE must follow the rules of ‘AC_CHECK_TYPE’. If no INCLUDES are specified, the default includes are used (*note 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]) AC_CHECK_TYPES([float_t], [], [], [[#include]]) 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 heuristic, quite safe but not totally, is implemented. In case of doubt, read the documentation of the former ‘AC_CHECK_TYPE’, see *note Obsolete Macros::.