The following macros check for C compiler or machine architecture
features. To check for characteristics not listed here, use
AC_TRY_COMPILE
(see section Examining Syntax) or AC_TRY_RUN
(see section Checking Run Time Behavior)
WORDS_BIGENDIAN
.
const
,
define const
to be empty. Some C compilers that do not define
__STDC__
do support const
; some compilers that define
__STDC__
do not completely support const
. Programs can
simply use const
as if every C compiler supported it; for those
that don't, the `Makefile' or configuration header file will define
it as empty.
inline
, do nothing.
Otherwise define inline
to __inline__
or __inline
if it accepts one of those, otherwise define inline
to be empty.
char
is unsigned, define __CHAR_UNSIGNED__
,
unless the C compiler predefines it.
long double
type, define
HAVE_LONG_DOUBLE
. Some C compilers that do not define
__STDC__
do support the long double
type; some compilers
that define __STDC__
do not support long double
.
HAVE_STRINGIZE
. The stringizing operator is `#' and is
found in macros such as this:
#define x(y) #y
SIZEOF_uctype
to be the size in bytes of the C (or
C++) builtin type type, e.g. `int' or `char *'. If
`type' is unknown to the compiler, it gets a size of 0. uctype
is type, with lowercase converted to uppercase, spaces changed to
underscores, and asterisks changed to `P'. If cross-compiling, the
value cross-size is used if given, otherwise configure
exits with an error message.
For example, the call
AC_CHECK_SIZEOF(int *)
defines SIZEOF_INT_P
to be 8 on DEC Alpha AXP systems.
int
is 16 bits wide, define INT_16_BITS
.
This macro is obsolete; it is more general to use
`AC_CHECK_SIZEOF(int)' instead.
long int
is 64 bits wide, define
LONG_64_BITS
. This macro is obsolete; it is more general to use
`AC_CHECK_SIZEOF(long)' instead.
Go to the first, previous, next, last section, table of contents.