mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
Merge from bittboy/buildroot@26c91a9
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
From a50fc9bde098e4e89584a5da9f94f620c11b6733 Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Sun, 16 Aug 2020 12:31:46 +0200
|
||||
Subject: [PATCH] CMakeLists.txt: add C language to project statement
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This will fix the detection of atomic:
|
||||
|
||||
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB
|
||||
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Failed
|
||||
-- Looking for __atomic_load_8 in atomic
|
||||
-- Looking for __atomic_load_8 in atomic - not found
|
||||
CMake Error at CMakeModules/CheckAtomic.cmake:76 (message):
|
||||
Host compiler appears to require libatomic for 64-bit operations, but
|
||||
cannot find it.
|
||||
Call Stack (most recent call first):
|
||||
CMakeLists.txt:19 (include)
|
||||
|
||||
Indeed if C language is not enabled, the test will be run with the C++
|
||||
compiler resulting in the following error:
|
||||
|
||||
Building CXX object CMakeFiles/cmTC_fad22.dir/CheckFunctionExists.cxx.o
|
||||
/tmp/instance-0/output-1/host/bin/mipsel-linux-g++ --sysroot=/tmp/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_FORTIFY_SOURCE=1 -Wall -Wconversion -pedantic -Wextra -Wno-missing-field-initializers -DCHECK_FUNCTION_EXISTS=__atomic_load_8 -DNDEBUG -o CMakeFiles/cmTC_fad22.dir/CheckFunctionExists.cxx.o -c /tmp/instance-0/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
|
||||
<command-line>: error: new declaration 'char __atomic_load_8()' ambiguates built-in declaration 'long long unsigned int __atomic_load_8(const volatile void*, int)' [-fpermissive]
|
||||
/tmp/instance-0/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx:7:3: note: in expansion of macro 'CHECK_FUNCTION_EXISTS'
|
||||
CHECK_FUNCTION_EXISTS(void);
|
||||
^~~~~~~~~~~~~~~~~~~~~
|
||||
/tmp/instance-0/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx: In function 'int main(int, char**)':
|
||||
/tmp/instance-0/output-1/build/pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx:17:25: error: too few arguments to function 'long long unsigned int __atomic_load_8(const volatile void*, int)'
|
||||
CHECK_FUNCTION_EXISTS();
|
||||
^
|
||||
|
||||
whereas with a C compiler, we'll get:
|
||||
|
||||
Building C object CMakeFiles/cmTC_4b0f4.dir/CheckFunctionExists.c.o
|
||||
/home/fabrice/buildroot/output/host/bin/riscv32-linux-gcc --sysroot=/home/fabrice/buildroot/output/host/riscv32-buildroot-linux-gnu/sysroot -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -DCHECK_FUNCTION_EXISTS=__atomic_load_8 -DNDEBUG -o CMakeFiles/cmTC_4b0f4.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c
|
||||
<command-line>: warning: conflicting types for built-in function ‘__atomic_load_8’ [-Wbuiltin-declaration-mismatch]
|
||||
/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’
|
||||
CHECK_FUNCTION_EXISTS(void);
|
||||
^~~~~~~~~~~~~~~~~~~~~
|
||||
Linking C executable cmTC_4b0f4
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4b0f4.dir/link.txt --verbose=1
|
||||
/home/fabrice/buildroot/output/host/bin/riscv32-linux-gcc --sysroot=/home/fabrice/buildroot/output/host/riscv32-buildroot-linux-gnu/sysroot -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -DCHECK_FUNCTION_EXISTS=__atomic_load_8 -DNDEBUG CMakeFiles/cmTC_4b0f4.dir/CheckFunctionExists.c.o -o cmTC_4b0f4 -latomic
|
||||
|
||||
Fixes:
|
||||
- http://autobuild.buildroot.org/results/2bf06c6a9e55b449ec5875cf9415a9e55b2065d6
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index edc73c5..0286647 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -9,7 +9,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
project (pistache
|
||||
- LANGUAGES CXX)
|
||||
+ LANGUAGES C CXX)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
20
package/pistache/Config.in
Normal file
20
package/pistache/Config.in
Normal file
@@ -0,0 +1,20 @@
|
||||
config BR2_PACKAGE_PISTACHE
|
||||
bool "pistache"
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
|
||||
depends on BR2_USE_WCHAR
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on !BR2_TOOLCHAIN_USES_UCLIBC
|
||||
help
|
||||
Pistache is a modern and elegant HTTP and REST framework
|
||||
for C++. It is entirely written in pure C++14 and provides
|
||||
a clear and pleasant API.
|
||||
|
||||
https://github.com/oktal/pistache
|
||||
|
||||
comment "pistache needs a glibc toolchain w/ C++, gcc >= 4.9, threads, wchar"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || \
|
||||
BR2_TOOLCHAIN_USES_UCLIBC || \
|
||||
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
|
||||
!BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
!BR2_USE_WCHAR
|
||||
3
package/pistache/pistache.hash
Normal file
3
package/pistache/pistache.hash
Normal file
@@ -0,0 +1,3 @@
|
||||
#locally computed
|
||||
sha256 70aeef5f5a4603cb2ceb20a284e3239f5da520e68f39dcb572c9f21473ac0b6d pistache-f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d.tar.gz
|
||||
sha256 c6596eb7be8581c18be736c846fb9173b69eccf6ef94c5135893ec56bd92ba08 LICENSE
|
||||
21
package/pistache/pistache.mk
Normal file
21
package/pistache/pistache.mk
Normal file
@@ -0,0 +1,21 @@
|
||||
################################################################################
|
||||
#
|
||||
# pistache
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PISTACHE_VERSION = f2f5a50fbfb5b8ef6cf1d3d2a9d442a8270e375d
|
||||
PISTACHE_SITE = $(call github,oktal,pistache,$(PISTACHE_VERSION))
|
||||
PISTACHE_LICENSE = Apache-2.0
|
||||
PISTACHE_LICENSE_FILES = LICENSE
|
||||
|
||||
PISTACHE_INSTALL_STAGING = YES
|
||||
|
||||
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
||||
PISTACHE_DEPENDENCIES += openssl
|
||||
PISTACHE_CONF_OPTS += -DPISTACHE_USE_SSL=ON
|
||||
else
|
||||
PISTACHE_CONF_OPTS += -DPISTACHE_USE_SSL=OFF
|
||||
endif
|
||||
|
||||
$(eval $(cmake-package))
|
||||
Reference in New Issue
Block a user