diff options
-rw-r--r-- | source4/lib/replace/libreplace.m4 | 9 | ||||
-rw-r--r-- | source4/lib/replace/replace.h | 15 |
2 files changed, 22 insertions, 2 deletions
diff --git a/source4/lib/replace/libreplace.m4 b/source4/lib/replace/libreplace.m4 index cd9d171662..a734704ae8 100644 --- a/source4/lib/replace/libreplace.m4 +++ b/source4/lib/replace/libreplace.m4 @@ -81,6 +81,15 @@ AC_INCLUDES_DEFAULT #endif] ) +AC_CHECK_TYPE(_Bool, +[AC_DEFINE(HAVE__Bool, 1, [Whether the _Bool type is available])],, +[ +AC_INCLUDES_DEFAULT +#ifdef HAVE_STDBOOL_H +#include <stdbool.h> +#endif] +) + AC_CACHE_CHECK([for working mmap],samba_cv_HAVE_MMAP,[ AC_TRY_RUN([#include "$libreplacedir/test/shared_mmap.c"], diff --git a/source4/lib/replace/replace.h b/source4/lib/replace/replace.h index 3bf884c80c..88fec3f4d7 100644 --- a/source4/lib/replace/replace.h +++ b/source4/lib/replace/replace.h @@ -310,12 +310,23 @@ char *rep_mkdtemp(char *template); #ifdef HAVE_STDBOOL_H #include <stdbool.h> -#elif !defined(HAVE_BOOL) +#endif + +#if !defined(HAVE_BOOL) +#ifdef HAVE__Bool +#define bool _Bool +#else #define __bool_true_false_are_defined typedef int bool; -#define false (0) +#endif +#endif + +#ifndef true #define true (1) #endif +#ifndef false +#define false (0) +#endif #ifndef HAVE_FUNCTION_MACRO #ifdef HAVE_func_MACRO |