initial buildroot for linux 5.15
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
From 28ce16b29911e5adc60140b572dee177adc7a178 Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Mon, 18 Nov 2019 18:56:46 +0100
|
||||
Subject: [PATCH] Don't redefine uintptr_t
|
||||
|
||||
Add a call to check_type_size in ConfigureChecks.cmake and use it in
|
||||
include/cmocka.h to avoid the following redefinition error on riscv64:
|
||||
|
||||
In file included from /data/buildroot/buildroot-test/instance-0/output/build/cmocka-1.1.5/src/cmocka.c:62:
|
||||
/data/buildroot/buildroot-test/instance-0/output/build/cmocka-1.1.5/include/cmocka.h:132:28: error: conflicting types for 'uintptr_t'
|
||||
typedef unsigned int uintptr_t;
|
||||
^~~~~~~~~
|
||||
In file included from /data/buildroot/buildroot-test/instance-0/output/host/riscv64-buildroot-linux-musl/sysroot/usr/include/stdint.h:20,
|
||||
from /data/buildroot/buildroot-test/instance-0/output/host/riscv64-buildroot-linux-musl/sysroot/usr/include/inttypes.h:9,
|
||||
from /data/buildroot/buildroot-test/instance-0/output/build/cmocka-1.1.5/src/cmocka.c:27:
|
||||
/data/buildroot/buildroot-test/instance-0/output/host/riscv64-buildroot-linux-musl/sysroot/usr/include/bits/alltypes.h:104:24: note: previous declaration of 'uintptr_t' was here
|
||||
typedef unsigned _Addr uintptr_t;
|
||||
^~~~~~~~~
|
||||
|
||||
Fixes:
|
||||
- http://autobuild.buildroot.org/results/30922c18150ea62aefe123d1b7cd1444efab963f
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
|
||||
[Retrieved from:
|
||||
https://gitlab.com/cmocka/cmocka/commit/28ce16b29911e5adc60140b572dee177adc7a178]
|
||||
---
|
||||
ConfigureChecks.cmake | 3 +++
|
||||
config.h.cmake | 4 ++++
|
||||
include/cmocka.h | 2 +-
|
||||
3 files changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
|
||||
index fe8da35..028774f 100644
|
||||
--- a/ConfigureChecks.cmake
|
||||
+++ b/ConfigureChecks.cmake
|
||||
@@ -70,6 +70,9 @@ if (HAVE_TIME_H)
|
||||
check_struct_has_member("struct timespec" tv_sec "time.h" HAVE_STRUCT_TIMESPEC)
|
||||
endif (HAVE_TIME_H)
|
||||
|
||||
+# TYPES
|
||||
+check_type_size(uintptr_t UINTPTR_T)
|
||||
+
|
||||
# FUNCTIONS
|
||||
check_function_exists(calloc HAVE_CALLOC)
|
||||
check_function_exists(exit HAVE_EXIT)
|
||||
diff --git a/config.h.cmake b/config.h.cmake
|
||||
index f8d79da..55fc69f 100644
|
||||
--- a/config.h.cmake
|
||||
+++ b/config.h.cmake
|
||||
@@ -75,6 +75,10 @@
|
||||
|
||||
#cmakedefine HAVE_STRUCT_TIMESPEC 1
|
||||
|
||||
+/***************************** TYPES *****************************/
|
||||
+
|
||||
+#cmakedefine HAVE_UINTPTR_T 1
|
||||
+
|
||||
/*************************** FUNCTIONS ***************************/
|
||||
|
||||
/* Define to 1 if you have the `calloc' function. */
|
||||
diff --git a/include/cmocka.h b/include/cmocka.h
|
||||
index 3e923dd..0aa557e 100644
|
||||
--- a/include/cmocka.h
|
||||
+++ b/include/cmocka.h
|
||||
@@ -120,7 +120,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(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) && !defined(HAVE_UINTPTR_T)
|
||||
# if defined(_WIN32)
|
||||
/* WIN32 is an ILP32 platform */
|
||||
typedef unsigned int uintptr_t;
|
||||
--
|
||||
2.22.0
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
config BR2_PACKAGE_CMOCKA
|
||||
bool cmocka
|
||||
depends on !BR2_STATIC_LIBS
|
||||
help
|
||||
cmocka is an elegant unit testing framework for C with support
|
||||
for mock objects. It only requires the standard C library,
|
||||
works on a range of computing platforms (including embedded)
|
||||
and with different compilers. It is a fork of Google's very
|
||||
popular cmockery unit testing framework to fix bugs and
|
||||
support it in the future.
|
||||
|
||||
https://cmocka.org
|
||||
|
||||
comment "cmocka needs a toolchain w/ dynamic library"
|
||||
depends on BR2_STATIC_LIBS
|
||||
@@ -0,0 +1,3 @@
|
||||
# Locally computed:
|
||||
sha256 f0ccd8242d55e2fd74b16ba518359151f6f8383ff8aef4976e48393f77bba8b6 cmocka-1.1.5.tar.xz
|
||||
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING
|
||||
@@ -0,0 +1,24 @@
|
||||
################################################################################
|
||||
#
|
||||
# cmocka
|
||||
#
|
||||
################################################################################
|
||||
|
||||
CMOCKA_VERSION = 1.1.5
|
||||
CMOCKA_SOURCE = cmocka-$(CMOCKA_VERSION).tar.xz
|
||||
CMOCKA_SITE = https://cmocka.org/files/1.1
|
||||
CMOCKA_LICENSE = Apache-2.0
|
||||
CMOCKA_LICENSE_FILES = COPYING
|
||||
CMOCKA_INSTALL_STAGING = YES
|
||||
CMOCKA_CONF_OPTS = -DWITH_EXAMPLES=OFF
|
||||
|
||||
# cmocka only supports out of source builds
|
||||
CMOCKA_SUPPORTS_IN_SOURCE_BUILD = NO
|
||||
|
||||
# cmocka always builds a shared library, but you can optionally build a static
|
||||
# library as well
|
||||
ifeq ($(BR2_SHARED_STATIC_LIBS),y)
|
||||
CMOCKA_CONF_OPTS += -DWITH_STATIC_LIB=ON
|
||||
endif
|
||||
|
||||
$(eval $(cmake-package))
|
||||
Reference in New Issue
Block a user