nasm/aclocal.m4
H. Peter Anvin 1fb908c0db autoconf: detect the broken bool in OpenWatcom 1.8
OpenWatcom 1.8 has a C99 mode, which implements _Bool and
<stdbool.h>.  Unfortunately the implementation is broken, and doesn't
let _Bool be implicitly converted to integer (as required by the C99
spec).  Detect this case in autoconf.
2009-03-01 13:57:40 -08:00

39 lines
1.2 KiB
Text

dnl --------------------------------------------------------------------------
dnl PA_ADD_CFLAGS()
dnl
dnl Attempt to add the given option to CFLAGS, if it doesn't break compilation
dnl --------------------------------------------------------------------------
AC_DEFUN(PA_ADD_CFLAGS,
[AC_MSG_CHECKING([if $CC accepts $1])
pa_add_cflags__old_cflags="$CFLAGS"
CFLAGS="$CFLAGS $1"
AC_TRY_LINK([#include <stdio.h>],
[printf("Hello, World!\n");],
AC_MSG_RESULT([yes]),
AC_MSG_RESULT([no])
CFLAGS="$pa_add_cflags__old_cflags")])
dnl --------------------------------------------------------------------------
dnl PA_WORKING_STDBOOL
dnl
dnl See if we have a working <stdbool.h> and bool support; in particular,
dnl OpenWatcom 1.8 has a broken _Bool type that we don't want to use.
dnl --------------------------------------------------------------------------
AC_DEFUN(PA_WORKING_BOOL,
[AC_MSG_CHECKING([if $CC has a working bool type])
AC_COMPILE_IFELSE(
[
#ifndef __cplusplus
#include <stdbool.h>
#endif
int foo(bool x, int y)
{
return x+y;
}
],
[AC_MSG_RESULT([yes])
AC_DEFINE(HAVE_WORKING_BOOL, 1,
[Define to 1 if your compiler has a correct implementation of bool])],
[AC_MSG_RESULT([no])])
])