mirror of
https://github.com/apache/nuttx.git
synced 2026-05-28 11:56:10 +08:00
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:
committed by
Xiang Xiao
parent
89eddf6396
commit
cc1c033df2
+13
-13
@@ -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
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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.
|
||||||
*
|
*
|
||||||
Reference in New Issue
Block a user