libcxx: porting for Infineon TASKING compiler in cmake&make scripts.

Exclude cpp files beyong c++14 e.g. filesystem/, ryu/, variant.cpp etc.

Signed-off-by: v-zhangxiaomeng5 <v-zhangxiaomeng5@xiaomi.com>
This commit is contained in:
v-zhangxiaomeng5
2025-11-08 20:35:55 +08:00
committed by Xiang Xiao
parent 49a57ddfbc
commit 20aea64ced
3 changed files with 44 additions and 11 deletions
+1
View File
@@ -104,6 +104,7 @@ config LIBCXXABI_VERSION
config CXX_STANDARD
string "Language standard"
default "c++14" if TRICORE_TOOLCHAIN_TASKING
default "gnu++20" if LIBCXX
default "gnu++17" if !LIBCXX
---help---
+27 -8
View File
@@ -91,12 +91,29 @@ if(CONFIG_LIBCXX)
endif()
file(GLOB SRCS ${CMAKE_CURRENT_LIST_DIR}/libcxx/src/*.cpp)
file(GLOB SRCSTMP ${CMAKE_CURRENT_LIST_DIR}/libcxx/src/experimental/*.cpp)
list(APPEND SRCS ${SRCSTMP})
file(GLOB SRCSTMP ${CMAKE_CURRENT_LIST_DIR}/libcxx/src/filesystem/*.cpp)
list(APPEND SRCS ${SRCSTMP})
file(GLOB SRCSTMP ${CMAKE_CURRENT_LIST_DIR}/libcxx/src/ryu/*.cpp)
list(APPEND SRCS ${SRCSTMP})
string(REGEX MATCH "[0-9]+$" CPP_STD_VER "${CONFIG_CXX_STANDARD}")
if(${CPP_STD_VER} GREATER_EQUAL 20)
file(GLOB SRCSTMP ${CMAKE_CURRENT_LIST_DIR}/libcxx/src/experimental/*.cpp)
list(APPEND SRCS ${SRCSTMP})
file(GLOB SRCSTMP ${CMAKE_CURRENT_LIST_DIR}/libcxx/src/filesystem/*.cpp)
list(APPEND SRCS ${SRCSTMP})
file(GLOB SRCSTMP ${CMAKE_CURRENT_LIST_DIR}/libcxx/src/ryu/*.cpp)
list(APPEND SRCS ${SRCSTMP})
endif()
if(${CPP_STD_VER} LESS_EQUAL 14)
file(
GLOB
SRCSTMP
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/any.cpp
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/variant.cpp
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/optional.cpp
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/memory_resource.cpp
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/pstl/*.cpp
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/legacy_debug_handler.cpp)
list(REMOVE_ITEM SRCS ${SRCSTMP})
endif()
if(NOT CONFIG_CXX_LOCALIZATION)
file(
@@ -111,8 +128,10 @@ if(CONFIG_LIBCXX)
list(REMOVE_ITEM SRCS ${SRCSTMP})
endif()
set(FLAGS -Wno-attributes -Wno-deprecated-declarations -Wno-shadow
-Wno-sign-compare -Wno-cpp)
if(NOT CONFIG_TRICORE_TOOLCHAIN_TASKING)
set(FLAGS -Wno-attributes -Wno-deprecated-declarations -Wno-shadow
-Wno-sign-compare -Wno-cpp)
endif()
if(GCCVER GREATER_EQUAL 12)
list(APPEND FLAGS -Wno-maybe-uninitialized -Wno-alloc-size-larger-than)
+16 -3
View File
@@ -72,9 +72,22 @@ ifeq ($(shell expr "$(GCCVER)" \>= 12), 1)
endif
CPPSRCS += $(wildcard libcxx/libcxx/src/*.cpp)
CPPSRCS += $(wildcard libcxx/libcxx/src/experimental/*.cpp)
CPPSRCS += $(wildcard libcxx/libcxx/src/filesystem/*.cpp)
CPPSRCS += $(wildcard libcxx/libcxx/src/ryu/*.cpp)
CPP_STD_VER := $(shell echo $(CONFIG_CXX_STANDARD) | sed -E 's/.*\+\+([0-9]+)$$/\1/')
ifeq ($(shell [ $(CPP_STD_VER) -ge 20 ] && echo true),true)
CPPSRCS += $(wildcard libcxx/libcxx/src/experimental/*.cpp)
CPPSRCS += $(wildcard libcxx/libcxx/src/filesystem/*.cpp)
CPPSRCS += $(wildcard libcxx/libcxx/src/ryu/*.cpp)
endif
ifeq ($(shell [ $(CPP_STD_VER) -le 14 ] && echo true),true)
EXCLUDE_CPP := libcxx/libcxx/src/any.cpp
EXCLUDE_CPP += libcxx/libcxx/src/variant.cpp
EXCLUDE_CPP += libcxx/libcxx/src/optional.cpp
EXCLUDE_CPP += libcxx/libcxx/src/memory_resource.cpp
EXCLUDE_CPP += libcxx/libcxx/src/legacy_debug_handler.cpp
EXCLUDE_CPP += $(wildcard libcxx/libcxx/src/pstl/*.cpp)
CPPSRCS := $(filter-out $(EXCLUDE_FILES), $(CPPSRCS))
endif
ifeq ($(CONFIG_CXX_LOCALIZATION),)
LOCALE_CPPSRCS := libcxx/libcxx/src/ios.cpp