Browse Source

cmocka: Fix buils with LTO

Update to latest on master
Drop uintptr_t patch, its fixed upstream differently
Package up the new library libproc_uptime.so needed by examples
Add it to INSANE_SKIP for examples

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Khem Raj 3 years ago
parent
commit
1b825a6e58

+ 7 - 3
meta-oe/recipes-test/cmocka/cmocka_1.1.5.bb

@@ -6,17 +6,19 @@ HOMEPAGE = "https://cmocka.org/"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRCREV = "56eb3a183fc222120f86d0c54fd033992c30135e"
+SRCREV = "a4fc3dd7705c277e3a57432895e9852ea105dac9"
+PV .= "+git${SRCPV}"
 SRC_URI = "git://git.cryptomilk.org/projects/cmocka.git \
            file://run-ptest \
-           file://cmocka-uintptr_t.patch \
           "
 
 S = "${WORKDIR}/git"
 
 inherit cmake ptest
 
-EXTRA_OECMAKE = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCMAKE_BUILD_TYPE=Debug -DUNIT_TESTING=ON', '', d)}"
+EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCMAKE_BUILD_TYPE=Debug -DUNIT_TESTING=ON', '', d)}"
+# Use -Wl,wrap linker flag, which does not work with LTO
+LTO = ""
 
 do_install_append () {
     install -d ${D}${datadir}/${BPN}/example
@@ -27,6 +29,7 @@ do_install_append () {
     install -m 0755 ${B}/example/mock/chef_wrap/waiter_test_wrap ${D}/${datadir}/${BPN}/example/mock/chef_wrap
     install -m 0755 ${B}/example/mock/uptime/uptime ${D}/${datadir}/${BPN}/example/mock/uptime
     install -m 0755 ${B}/example/mock/uptime/test_uptime ${D}/${datadir}/${BPN}/example/mock/uptime
+    install -m 0644 ${B}/example/mock/uptime/libproc_uptime.so ${D}/${datadir}/${BPN}/example/mock/libproc_uptime.so
 }
 
 do_install_ptest () {
@@ -37,3 +40,4 @@ do_install_ptest () {
 PACKAGE_BEFORE_PN += "${PN}-examples"
 
 FILES_${PN}-examples = "${datadir}/${BPN}/example"
+INSANE_SKIP_${PN}-examples = "libdir"

+ 0 - 53
meta-oe/recipes-test/cmocka/files/cmocka-uintptr_t.patch

@@ -1,53 +0,0 @@
-From 5bd7b5d04435bd593349825973ce32290f5f604d Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Wed, 25 Jul 2018 09:55:25 +0800
-Subject: [PATCH] samba: cmocka.h: fix musl libc conflicting types error
-
-Fix build on qemumips64(el)
-
-taken from:
-[PATCH] libldb: fix musl libc conflicting types error
-
-/third_party/cmocka/cmocka.h:126:28: error: conflicting types for 'uintptr_t'
-            typedef unsigned int uintptr_t;
-                                 ^~~~~~~~~
-use __DEFINED_uintptr_t in alltypes.h to check if uintptr already defined
-
-Upstream-Status: Pending
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
-
-Taken from [PATCH] samba: cmocka.h: fix musl libc conflicting types error
-https://git.openembedded.org/meta-openembedded/commit/meta-networking/recipes-connectivity/samba?id=b758150d30a5fbdc47c465d0e9dca3a7e6d71f3c
-
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
-This fix is not in cmocka, so pending pending??
-
-
-Index: git/include/cmocka.h
-===================================================================
---- git.orig/include/cmocka.h
-+++ git/include/cmocka.h
-@@ -116,7 +116,7 @@ typedef uintmax_t LargestIntegralType;
-     ((LargestIntegralType)(value))
- 
- /* Smallest integral type capable of holding a pointer. */
--#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED)
-+#if !defined(__DEFINED_uintptr_t)
- # if defined(_WIN32)
-     /* WIN32 is an ILP32 platform */
-     typedef unsigned int uintptr_t;
-@@ -140,9 +140,8 @@ typedef uintmax_t LargestIntegralType;
- #  endif /* __WORDSIZE */
- # endif /* _WIN32 */
- 
--# define _UINTPTR_T
--# define _UINTPTR_T_DEFINED
--#endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */
-+# define __DEFINED_uintptr_t
-+#endif /* !defined(__DEFINED_uintptr_t) */
- 
- /* Perform an unsigned cast to uintptr_t. */
- #define cast_to_pointer_integral_type(value) \