Fix compilation issue when using bluetooth/bluetooth.h in C++ 89/4189/1
authorTadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
Wed, 28 Oct 2015 08:05:47 +0000 (17:05 +0900)
committerTadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
Wed, 28 Oct 2015 08:24:38 +0000 (17:24 +0900)
Fix compilation issue when building qtsystems-examples in Qt5.5.1.
The reason is because Bluetooth header (/usr/include/bluetooth/bluetooth.h)
is not valid in strict C syntax (e.g. c++11).

Change-Id: Ie6d48faf27047833faed8c1eec1c09240dc7b7e1
Signed-off-by: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
recipes-connectivity/bluez5/bluez5/0001_fix_compile_issue_when_using_in_c++.patch [new file with mode: 0644]
recipes-connectivity/bluez5/bluez5_%.bbappend [new file with mode: 0644]

diff --git a/recipes-connectivity/bluez5/bluez5/0001_fix_compile_issue_when_using_in_c++.patch b/recipes-connectivity/bluez5/bluez5/0001_fix_compile_issue_when_using_in_c++.patch
new file mode 100644 (file)
index 0000000..ba2f33c
--- /dev/null
@@ -0,0 +1,23 @@
+diff -urN bluez-5.22.orig/lib/bluetooth.h bluez-5.22/lib/bluetooth.h
+--- bluez-5.22.orig/lib/bluetooth.h    2013-12-10 15:59:06.000000000 +0900
++++ bluez-5.22/lib/bluetooth.h 2015-10-28 13:34:25.749335768 +0900
+@@ -158,16 +158,16 @@
+ #define bt_get_unaligned(ptr)                 \
+ ({                                            \
+       struct __attribute__((packed)) {        \
+-              typeof(*(ptr)) __v;             \
+-      } *__p = (typeof(__p)) (ptr);           \
++              __typeof__(*(ptr)) __v;         \
++      } *__p = (__typeof__(__p)) (ptr);               \
+       __p->__v;                               \
+ })
+ #define bt_put_unaligned(val, ptr)            \
+ do {                                          \
+       struct __attribute__((packed)) {        \
+-              typeof(*(ptr)) __v;             \
+-      } *__p = (typeof(__p)) (ptr);           \
++              __typeof__(*(ptr)) __v;         \
++      } *__p = (__typeof__(__p)) (ptr);               \
+       __p->__v = (val);                       \
+ } while(0)
diff --git a/recipes-connectivity/bluez5/bluez5_%.bbappend b/recipes-connectivity/bluez5/bluez5_%.bbappend
new file mode 100644 (file)
index 0000000..014b2fa
--- /dev/null
@@ -0,0 +1,5 @@
+FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
+
+SRC_URI_append = "\
+    file://0001_fix_compile_issue_when_using_in_c++.patch \
+"