libs/libxx: change libcxxmini to libminiabi

libcxxmini shall not stay the same layer of LIBCXX, move it down to ABI library layer.

Signed-off-by: v-zhangxiaomeng5 <v-zhangxiaomeng5@xiaomi.com>
This commit is contained in:
v-zhangxiaomeng5
2026-01-18 19:05:18 +08:00
committed by Xiang Xiao
parent 89eddf6396
commit cc1c033df2
13 changed files with 31 additions and 31 deletions
+13 -13
View File
@@ -24,7 +24,10 @@ if HAVE_CXX
choice choice
prompt "C++ Library" prompt "C++ Library"
default LIBCXXMINI default LIBCXXNONE
config LIBCXXNONE
bool "No default C++ Standard Template Library"
config LIBCXXTOOLCHAIN config LIBCXXTOOLCHAIN
bool "Toolchain C++ support" bool "Toolchain C++ support"
@@ -32,13 +35,6 @@ config LIBCXXTOOLCHAIN
---help--- ---help---
Use Standard C++ library from toolchain. Use Standard C++ library from toolchain.
config LIBCXXMINI
bool "Basic C++ support"
---help---
A fragmentary C++ library that will allow to build only
the simplest of C++ applications. Only contain basic C++
runtime support function.
config LIBCXX config LIBCXX
bool "LLVM libc++ C++ Standard Library" bool "LLVM libc++ C++ Standard Library"
select HAVE_CXXINITIALIZE select HAVE_CXXINITIALIZE
@@ -60,18 +56,24 @@ endchoice
config ETL config ETL
bool "Embedded Template Library (ETL)" bool "Embedded Template Library (ETL)"
depends on LIBCXXMINI && ALLOW_MIT_COMPONENTS depends on ALLOW_MIT_COMPONENTS
---help--- ---help---
ETL A C++ Template library for Embedded applications ETL A C++ Template library for Embedded applications
Implements C++ templates such as containers, string Implements C++ templates such as containers, string
singleton math without C++ STL libraries singleton math without C++ STL libraries
if !LIBCXXMINI
choice choice
prompt "C++ low level library select" prompt "C++ low level library select"
default LIBMINIABI if LIBCXXNONE
default LIBSUPCXX_TOOLCHAIN default LIBSUPCXX_TOOLCHAIN
config LIBMINIABI
bool "Basic C++ support"
---help---
A fragmentary C++ library that will allow to build only
the simplest of C++ applications. Only contain basic C++
runtime support function.
config LIBCXXABI config LIBCXXABI
bool "LLVM low level C++ Library" bool "LLVM low level C++ Library"
---help--- ---help---
@@ -93,8 +95,6 @@ config LIBSUPCXX_TOOLCHAIN
endchoice endchoice
endif
config LIBCXXABI_VERSION config LIBCXXABI_VERSION
string "Select libcxxabi version" string "Select libcxxabi version"
depends on LIBCXXABI depends on LIBCXXABI
+2 -2
View File
@@ -35,8 +35,6 @@ ifeq ($(CONFIG_UCLIBCXX),y)
include uClibc++/Make.defs include uClibc++/Make.defs
else ifeq ($(CONFIG_LIBCXX),y) else ifeq ($(CONFIG_LIBCXX),y)
include libcxx/Make.defs include libcxx/Make.defs
else ifeq ($(CONFIG_LIBCXXMINI),y)
include libcxxmini/Make.defs
endif endif
ifeq ($(CONFIG_ETL),y) ifeq ($(CONFIG_ETL),y)
@@ -45,6 +43,8 @@ endif
ifeq ($(CONFIG_LIBCXXABI),y) ifeq ($(CONFIG_LIBCXXABI),y)
include libcxxabi/Make.defs include libcxxabi/Make.defs
else ifeq ($(CONFIG_LIBMINIABI),y)
include libminiabi/Make.defs
endif endif
# Object Files # Object Files
@@ -1,5 +1,5 @@
# ############################################################################## # ##############################################################################
# libs/libxx/libcxxmini/CMakeLists.txt # libs/libxx/libminiabi/CMakeLists.txt
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
@@ -20,16 +20,16 @@
# #
# ############################################################################## # ##############################################################################
if(CONFIG_LIBCXXMINI) if(CONFIG_LIBMINIABI)
nuttx_add_system_library(libcxxmini) nuttx_add_system_library(libminiabi)
if(NOT CONFIG_XTENSA_TOOLCHAIN_XCC) if(NOT CONFIG_XTENSA_TOOLCHAIN_XCC)
add_compile_options(-Wno-missing-exception-spec) add_compile_options(-Wno-missing-exception-spec)
endif() endif()
target_sources( target_sources(
libcxxmini libminiabi
PRIVATE libxx_cxa_guard.cxx PRIVATE libxx_cxa_guard.cxx
libxx_cxapurevirtual.cxx libxx_cxapurevirtual.cxx
libxx_delete.cxx libxx_delete.cxx
@@ -1,5 +1,5 @@
############################################################################ ############################################################################
# libs/libxx/libcxxmini/Make.defs # libs/libxx/libminiabi/Make.defs
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
@@ -29,5 +29,5 @@ ifneq ($(CONFIG_XTENSA_TOOLCHAIN_XCC), y)
CXXFLAGS += -Wno-missing-exception-spec CXXFLAGS += -Wno-missing-exception-spec
endif endif
DEPPATH += --dep-path libcxxmini DEPPATH += --dep-path libminiabi
VPATH += libcxxmini VPATH += libminiabi
@@ -1,5 +1,5 @@
//*************************************************************************** //***************************************************************************
// libs/libxx/libcxxmini/libxx_cxa_guard.cxx // libs/libxx/libminiabi/libxx_cxa_guard.cxx
// //
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
// //
@@ -1,5 +1,5 @@
//*************************************************************************** //***************************************************************************
// libs/libxx/libcxxmini/libxx_cxapurevirtual.cxx // libs/libxx/libminiabi/libxx_cxapurevirtual.cxx
// //
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
// //
@@ -1,5 +1,5 @@
//*************************************************************************** //***************************************************************************
// libs/libxx/libcxxmini/libxx_delete.cxx // libs/libxx/libminiabi/libxx_delete.cxx
// //
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
// //
@@ -1,5 +1,5 @@
//*************************************************************************** //***************************************************************************
// libs/libxx/libcxxmini/libxx_deletea.cxx // libs/libxx/libminiabi/libxx_deletea.cxx
// //
// Licensed to the Apache Software Foundation (ASF) under one or more // Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with // contributor license agreements. See the NOTICE file distributed with
@@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libxx/libcxxmini/libxx_dynamic_cast.cxx * libs/libxx/libminiabi/libxx_dynamic_cast.cxx
* *
* Copyright 2010-2011 PathScale, Inc. All rights reserved. * Copyright 2010-2011 PathScale, Inc. All rights reserved.
* *
@@ -1,5 +1,5 @@
//*************************************************************************** //***************************************************************************
// libs/libxx/libcxxmini/libxx_new.cxx // libs/libxx/libminiabi/libxx_new.cxx
// //
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
// //
@@ -1,5 +1,5 @@
//*************************************************************************** //***************************************************************************
// libs/libxx/libcxxmini/libxx_newa.cxx // libs/libxx/libminiabi/libxx_newa.cxx
// //
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
// //
@@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libxx/libcxxmini/libxx_typeinfo.cxx * libs/libxx/libminiabi/libxx_typeinfo.cxx
* *
* Copyright 2010-2011 PathScale, Inc. All rights reserved. * Copyright 2010-2011 PathScale, Inc. All rights reserved.
* *
@@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* libs/libxx/libcxxmini/libxx_typeinfo.h * libs/libxx/libminiabi/libxx_typeinfo.h
* *
* Copyright 2010-2011 PathScale, Inc. All rights reserved. * Copyright 2010-2011 PathScale, Inc. All rights reserved.
* *