blob: 45c69ca067fd201b284b42b680c37f5f0111d941 [file] [log] [blame]
From 6df092a4153c6c37cfaddcabf2cd25a910a7f6e1 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Sep 2019 15:40:52 -0700
Subject: [PATCH] Detect bool definition considering stdbool.h being present
This helps in defining the value correctly on different platforms e.g.
clang/libc++ depends on the definition coming from stdbool.h
current builds fail to compile therefore
TMPDIR/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/iperf2/2.0.13-r0/recipe-sysroot/usr/include/c++/v1/type_traits:742:29: error: redefinition of '__libcpp_is_integral<int>'
template <> struct __libcpp_is_integral<int> : public true_type {};
^~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
m4/dast.m4 | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
--- a/m4/dast.m4
+++ b/m4/dast.m4
@@ -11,7 +11,12 @@ AH_TEMPLATE([false])
AC_DEFUN(DAST_CHECK_BOOL, [
-AC_CHECK_SIZEOF(bool)
+if test "$ac_cv_header_stdbool_h" = yes; then
+ AC_CHECK_SIZEOF(bool,,[#include <stdbool.h>])
+else
+ AC_CHECK_SIZEOF(bool)
+fi
+
if test "$ac_cv_sizeof_bool" = 0 ; then
AC_DEFINE(bool, int)
fi
--- a/configure.ac
+++ b/configure.ac
@@ -113,7 +113,7 @@ AC_SEARCH_LIBS([socket], [socket], [],
dnl Checks for header files.
AC_HEADER_STDC
-AC_CHECK_HEADERS([arpa/inet.h libintl.h net/ethernet.h net/if.h linux/ip.h linux/udp.h linux/if_packet.h linux/filter.h netdb.h netinet/in.h stdlib.h string.h strings.h sys/socket.h sys/time.h syslog.h unistd.h signal.h ifaddrs.h])
+AC_CHECK_HEADERS([arpa/inet.h libintl.h net/ethernet.h net/if.h linux/ip.h linux/udp.h linux/if_packet.h linux/filter.h netdb.h netinet/in.h stdbool.h stdlib.h string.h strings.h sys/socket.h sys/time.h syslog.h unistd.h signal.h ifaddrs.h])
dnl ===================================================================
dnl Checks for typedefs, structures
--- a/include/util.h
+++ b/include/util.h
@@ -56,7 +56,9 @@
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
-
+#ifdef HAVE_STDBOOL_H
+# include <stdbool.h>
+#endif
#ifdef __cplusplus
extern "C" {
#endif