blob: d41899f6d012ebdcb74cdf9a91484a5c8418b918 [file] [log] [blame]
# stdbool.m4 serial 3 (gettext-0.12)
dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Bruno Haible.
dnl Test whether <stdbool.h> is supported or must be substituted.
AC_DEFUN([gt_STDBOOL_H],
[dnl gcc 2.95.2 has an <stdbool.h> for which both 'true' and 'false' evaluate
dnl to 0 in preprocessor expressions.
dnl HP-UX 11 cc has an <stdbool.h> but the compiler doesn't understand the
dnl type '_Bool' (to which 'bool' expands).
AC_MSG_CHECKING([for stdbool.h])
AC_CACHE_VAL(gt_cv_header_stdbool_h, [
AC_TRY_COMPILE([#include <stdbool.h>
#if false
int A[-1];
#endif
#define b -1
#if true
#undef b
#define b 1
#endif
int B[b];
bool c;
], [], gt_cv_header_stdbool_h=yes, gt_cv_header_stdbool_h=no)])
AC_MSG_RESULT([$gt_cv_header_stdbool_h])
if test $gt_cv_header_stdbool_h = yes; then
AC_DEFINE(HAVE_STDBOOL_H, 1,
[Define if you have a working <stdbool.h> header file.])
STDBOOL_H=''
else
STDBOOL_H='stdbool.h'
AC_MSG_CHECKING([for _Bool type])
AC_CACHE_VAL(gt_cv_type_Bool, [
AC_TRY_COMPILE([_Bool x = sizeof (_Bool);], [],
gt_cv_type_Bool=yes, gt_cv_type_Bool=no)])
AC_MSG_RESULT([$gt_cv_type_Bool])
if test $gt_cv_type_Bool = yes; then
HAVE__BOOL=1
else
HAVE__BOOL=0
fi
AC_SUBST(HAVE__BOOL)
fi
AC_SUBST(STDBOOL_H)
])