libxx: All cxx libraries move down one level
Since there are some patches that need to be loaded manually, the original method is rather confusing. Now these patches that need to be loaded manually are classified into various cxx library folders, and each dynamically downloaded cxx library is moved down one directory to make the directory structure clearer. Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
This commit is contained in:
parent
6611480904
commit
db31e56957
28 changed files with 486 additions and 493 deletions
10
libs/libxx/.gitignore
vendored
10
libs/libxx/.gitignore
vendored
|
@ -1,8 +1,2 @@
|
||||||
/uClibc++
|
*.xz
|
||||||
/libcxx
|
*.bz2
|
||||||
/libcxxabi
|
|
||||||
/libcxx-*.src.tar.xz
|
|
||||||
/libcxxabi-*.src.tar.xz
|
|
||||||
/etl
|
|
||||||
/.libcxx_patch
|
|
||||||
/.libcxxabi_patch
|
|
||||||
|
|
|
@ -29,16 +29,4 @@
|
||||||
# the configuration problem. Refer to the README.txt file in the NuttX uClibc++
|
# the configuration problem. Refer to the README.txt file in the NuttX uClibc++
|
||||||
# GIT repository for more information
|
# GIT repository for more information
|
||||||
|
|
||||||
if(CONFIG_HAVE_CXX)
|
nuttx_add_subdirectory()
|
||||||
if(CONFIG_UCLIBCXX)
|
|
||||||
include(uClibc++.cmake)
|
|
||||||
elseif(CONFIG_LIBCXX)
|
|
||||||
include(libcxx.cmake)
|
|
||||||
elseif(CONFIG_LIBCXXMINI)
|
|
||||||
include(libcxxmini.cmake)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CONFIG_LIBCXXABI)
|
|
||||||
include(libcxxabi.cmake)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
|
@ -32,19 +32,19 @@ include $(TOPDIR)/Make.defs
|
||||||
# in the NuttX uClibc++ GIT repository for more information
|
# in the NuttX uClibc++ GIT repository for more information
|
||||||
|
|
||||||
ifeq ($(CONFIG_UCLIBCXX),y)
|
ifeq ($(CONFIG_UCLIBCXX),y)
|
||||||
include uClibc++.defs
|
include uClibc++/Make.defs
|
||||||
else ifeq ($(CONFIG_LIBCXX),y)
|
else ifeq ($(CONFIG_LIBCXX),y)
|
||||||
include libcxx.defs
|
include libcxx/Make.defs
|
||||||
else ifeq ($(CONFIG_LIBCXXMINI),y)
|
else ifeq ($(CONFIG_LIBCXXMINI),y)
|
||||||
include libcxxmini.defs
|
include libcxxmini/Make.defs
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_ETL),y)
|
ifeq ($(CONFIG_ETL),y)
|
||||||
include etl.defs
|
include etl/Make.defs
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_LIBCXXABI),y)
|
ifeq ($(CONFIG_LIBCXXABI),y)
|
||||||
include libcxxabi.defs
|
include libcxxabi/Make.defs
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Object Files
|
# Object Files
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
############################################################################
|
############################################################################
|
||||||
# libs/libxx/etl.defs
|
# libs/libxx/etl/Make.defs
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
#
|
#
|
||||||
|
@ -23,34 +23,32 @@
|
||||||
ETL_VERSION=20.32.1
|
ETL_VERSION=20.32.1
|
||||||
|
|
||||||
# Download and unpack tarball if no git repo found
|
# Download and unpack tarball if no git repo found
|
||||||
ifeq ($(wildcard etl/.git),)
|
ifeq ($(wildcard etl/etl/.git),)
|
||||||
$(ETL_VERSION).tar.gz:
|
$(ETL_VERSION).tar.gz:
|
||||||
$(call DOWNLOAD,https://github.com/ETLCPP/etl/archive/refs/tags,$(ETL_VERSION).tar.gz)
|
$(call DOWNLOAD,https://github.com/ETLCPP/etl/archive/refs/tags,$@)
|
||||||
|
|
||||||
etl: $(ETL_VERSION).tar.gz
|
etl/etl: $(ETL_VERSION).tar.gz
|
||||||
$(Q) tar -xf $(ETL_VERSION).tar.gz
|
$(Q) tar -xf $<
|
||||||
$(Q) $(DELFILE) $(ETL_VERSION).tar.gz
|
$(Q) $(DELFILE) $<
|
||||||
$(Q) mv etl-$(ETL_VERSION) etl
|
$(Q) mv etl-$(ETL_VERSION) $@
|
||||||
$(Q) touch $@
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(TOPDIR)/include/etl: etl
|
$(TOPDIR)/include/etl: etl/etl
|
||||||
$(Q) $(DIRLINK) $(CURDIR)/etl/include $(TOPDIR)/include/etl
|
$(Q) $(DIRLINK) $(CURDIR)/$</include $(TOPDIR)/include/etl
|
||||||
ifeq ($(CONFIG_ARCH_ARMV5M), y)
|
ifeq ($(CONFIG_ARCH_ARMV5M), y)
|
||||||
$(Q) cp $(CURDIR)/etl/include/etl/profiles/armv5_no_stl.h $(CURDIR)/etl/include/etl/etl_profile.h
|
$(Q) cp $(CURDIR)/$</include/etl/profiles/armv5_no_stl.h $(CURDIR)/etl/include/etl/etl_profile.h
|
||||||
else ifeq ($(CONFIG_ARCH_ARMV6M), y)
|
else ifeq ($(CONFIG_ARCH_ARMV6M), y)
|
||||||
$(Q) cp $(CURDIR)/etl/include/etl/profiles/armv6_no_stl.h $(CURDIR)/etl/include/etl/etl_profile.h
|
$(Q) cp $(CURDIR)/$</include/etl/profiles/armv6_no_stl.h $(CURDIR)/etl/include/etl/etl_profile.h
|
||||||
else ifeq ($(CONFIG_ARCH_ARMV7M), y)
|
else ifeq ($(CONFIG_ARCH_ARMV7M), y)
|
||||||
$(Q) cp $(CURDIR)/etl/include/etl/profiles/armv7_no_stl.h $(CURDIR)/etl/include/etl/etl_profile.h
|
$(Q) cp $(CURDIR)/$</include/etl/profiles/armv7_no_stl.h $(CURDIR)/etl/include/etl/etl_profile.h
|
||||||
else
|
else
|
||||||
$(Q) cp $(CURDIR)/etl/include/etl/profiles/gcc_generic_no_stl.h $(CURDIR)/etl/include/etl/etl_profile.h
|
$(Q) cp $(CURDIR)/$</include/etl/profiles/gcc_generic_no_stl.h $(CURDIR)/etl/include/etl/etl_profile.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
context:: $(TOPDIR)/include/etl
|
context:: $(TOPDIR)/include/etl
|
||||||
|
|
||||||
distclean::
|
distclean::
|
||||||
$(Q) $(DIRUNLINK) $(TOPDIR)/include/etl
|
$(Q) $(DIRUNLINK) $(TOPDIR)/include/etl
|
||||||
ifeq ($(wildcard etl/.git),)
|
ifeq ($(wildcard etl/etl/.git),)
|
||||||
$(Q) $(DELFILE) $(ETL_VERSION).tar.gz
|
$(call DELDIR, etl/etl)
|
||||||
$(call DELDIR, etl)
|
|
||||||
endif
|
endif
|
|
@ -1,125 +0,0 @@
|
||||||
# ##############################################################################
|
|
||||||
# libs/libxx/libcxx.cmake
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
#
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
|
||||||
# license agreements. See the NOTICE file distributed with this work for
|
|
||||||
# additional information regarding copyright ownership. The ASF licenses this
|
|
||||||
# file to you under the Apache License, Version 2.0 (the "License"); you may not
|
|
||||||
# use this file except in compliance with the License. You may obtain a copy of
|
|
||||||
# the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
||||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
||||||
# License for the specific language governing permissions and limitations under
|
|
||||||
# the License.
|
|
||||||
#
|
|
||||||
# ##############################################################################
|
|
||||||
|
|
||||||
if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/libcxx)
|
|
||||||
|
|
||||||
set(LIBCXX_VERSION ${CONFIG_LIBCXX_VERSION})
|
|
||||||
|
|
||||||
FetchContent_Declare(
|
|
||||||
libcxx
|
|
||||||
DOWNLOAD_NAME "libcxx-${LIBCXX_VERSION}.src.tar.xz"
|
|
||||||
DOWNLOAD_DIR ${CMAKE_CURRENT_LIST_DIR}
|
|
||||||
URL "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LIBCXX_VERSION}/libcxx-${LIBCXX_VERSION}.src.tar.xz"
|
|
||||||
SOURCE_DIR
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/libcxx
|
|
||||||
BINARY_DIR
|
|
||||||
${CMAKE_BINARY_DIR}/libs/libc/libcxx
|
|
||||||
CONFIGURE_COMMAND
|
|
||||||
""
|
|
||||||
BUILD_COMMAND
|
|
||||||
""
|
|
||||||
INSTALL_COMMAND
|
|
||||||
""
|
|
||||||
TEST_COMMAND
|
|
||||||
""
|
|
||||||
PATCH_COMMAND
|
|
||||||
patch -p1 -d ${CMAKE_CURRENT_LIST_DIR}/libcxx <
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/0001_fix_stdatomic_h_miss_typedef.patch && patch
|
|
||||||
-p3 -d ${CMAKE_CURRENT_LIST_DIR}/libcxx <
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/mbstate_t.patch && patch -p1 -d
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/libcxx <
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/0001-libcxx-remove-mach-time-h.patch && patch
|
|
||||||
-p1 -d ${CMAKE_CURRENT_LIST_DIR}/libcxx <
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/0001-libcxx-fix-ld-errors.patch && patch -p1 -d
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/libcxx <
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/0001-Fix-build-error-about-__GLIBC__.patch
|
|
||||||
DOWNLOAD_NO_PROGRESS true
|
|
||||||
TIMEOUT 30)
|
|
||||||
|
|
||||||
FetchContent_GetProperties(libcxx)
|
|
||||||
|
|
||||||
if(NOT libcxx_POPULATED)
|
|
||||||
FetchContent_Populate(libcxx)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
|
||||||
nuttx_create_symlink(${CMAKE_CURRENT_LIST_DIR}/libcxx/include
|
|
||||||
${CMAKE_BINARY_DIR}/include/libcxx)
|
|
||||||
|
|
||||||
configure_file(${CMAKE_CURRENT_LIST_DIR}/__config_site
|
|
||||||
${CMAKE_BINARY_DIR}/include/libcxx/__config_site COPYONLY)
|
|
||||||
|
|
||||||
set_property(
|
|
||||||
TARGET nuttx
|
|
||||||
APPEND
|
|
||||||
PROPERTY NUTTX_CXX_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include/libcxx)
|
|
||||||
|
|
||||||
add_compile_definitions(_LIBCPP_BUILDING_LIBRARY)
|
|
||||||
if(CONFIG_LIBSUPCXX_TOOLCHAIN)
|
|
||||||
add_compile_definitions(__GLIBCXX__)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CONFIG_LIBSUPCXX)
|
|
||||||
add_compile_definitions(__GLIBCXX__)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 20)
|
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
||||||
set(CMAKE_CXX_EXTENSIONS ON)
|
|
||||||
|
|
||||||
set(SRCS)
|
|
||||||
set(SRCSTMP)
|
|
||||||
|
|
||||||
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})
|
|
||||||
|
|
||||||
if(NOT CONFIG_CXX_LOCALIZATION)
|
|
||||||
file(
|
|
||||||
GLOB
|
|
||||||
SRCSTMP
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/ios.cpp
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/ios.instantiations.cpp
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/iostream.cpp
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/locale.cpp
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/regex.cpp
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/strstream.cpp)
|
|
||||||
list(REMOVE_ITEM SRCS ${SRCSTMP})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(FLAGS -Wno-attributes -Wno-deprecated-declarations -Wno-shadow
|
|
||||||
-Wno-sign-compare -Wno-cpp)
|
|
||||||
|
|
||||||
if(GCCVER GREATER_EQUAL 12)
|
|
||||||
list(APPEND FLAGS -Wno-maybe-uninitialized -Wno-alloc-size-larger-than)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
nuttx_add_system_library(libcxx)
|
|
||||||
target_sources(libcxx PRIVATE ${SRCS})
|
|
||||||
target_compile_options(libcxx PRIVATE ${FLAGS})
|
|
||||||
target_include_directories(libcxx BEFORE
|
|
||||||
PRIVATE ${CMAKE_CURRENT_LIST_DIR}/libcxx/src)
|
|
1
libs/libxx/libcxx/.gitignore
vendored
Normal file
1
libs/libxx/libcxx/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/libcxx
|
127
libs/libxx/libcxx/CMakeLists.txt
Normal file
127
libs/libxx/libcxx/CMakeLists.txt
Normal file
|
@ -0,0 +1,127 @@
|
||||||
|
# ##############################################################################
|
||||||
|
# libs/libxx/libcxx/CMakeLists.txt
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
||||||
|
# license agreements. See the NOTICE file distributed with this work for
|
||||||
|
# additional information regarding copyright ownership. The ASF licenses this
|
||||||
|
# file to you under the Apache License, Version 2.0 (the "License"); you may not
|
||||||
|
# use this file except in compliance with the License. You may obtain a copy of
|
||||||
|
# the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations under
|
||||||
|
# the License.
|
||||||
|
#
|
||||||
|
# ##############################################################################
|
||||||
|
|
||||||
|
if(CONFIG_LIBCXX)
|
||||||
|
if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/libcxx)
|
||||||
|
|
||||||
|
set(LIBCXX_VERSION ${CONFIG_LIBCXX_VERSION})
|
||||||
|
|
||||||
|
FetchContent_Declare(
|
||||||
|
libcxx
|
||||||
|
DOWNLOAD_NAME "libcxx-${LIBCXX_VERSION}.src.tar.xz"
|
||||||
|
DOWNLOAD_DIR ${CMAKE_CURRENT_LIST_DIR}
|
||||||
|
URL "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LIBCXX_VERSION}/libcxx-${LIBCXX_VERSION}.src.tar.xz"
|
||||||
|
SOURCE_DIR
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/libcxx
|
||||||
|
BINARY_DIR
|
||||||
|
${CMAKE_BINARY_DIR}/libs/libc/libcxx
|
||||||
|
CONFIGURE_COMMAND
|
||||||
|
""
|
||||||
|
BUILD_COMMAND
|
||||||
|
""
|
||||||
|
INSTALL_COMMAND
|
||||||
|
""
|
||||||
|
TEST_COMMAND
|
||||||
|
""
|
||||||
|
PATCH_COMMAND
|
||||||
|
patch -p1 -d ${CMAKE_CURRENT_LIST_DIR}/libcxx <
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/0001_fix_stdatomic_h_miss_typedef.patch &&
|
||||||
|
patch -p3 -d ${CMAKE_CURRENT_LIST_DIR}/libcxx <
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/mbstate_t.patch && patch -p1 -d
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/libcxx <
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/0001-libcxx-remove-mach-time-h.patch && patch
|
||||||
|
-p1 -d ${CMAKE_CURRENT_LIST_DIR}/libcxx <
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/0001-libcxx-fix-ld-errors.patch && patch -p1
|
||||||
|
-d ${CMAKE_CURRENT_LIST_DIR}/libcxx <
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/0001-Fix-build-error-about-__GLIBC__.patch
|
||||||
|
DOWNLOAD_NO_PROGRESS true
|
||||||
|
TIMEOUT 30)
|
||||||
|
|
||||||
|
FetchContent_GetProperties(libcxx)
|
||||||
|
|
||||||
|
if(NOT libcxx_POPULATED)
|
||||||
|
FetchContent_Populate(libcxx)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
|
nuttx_create_symlink(${CMAKE_CURRENT_LIST_DIR}/libcxx/include
|
||||||
|
${CMAKE_BINARY_DIR}/include/libcxx)
|
||||||
|
|
||||||
|
configure_file(${CMAKE_CURRENT_LIST_DIR}/../__config_site
|
||||||
|
${CMAKE_BINARY_DIR}/include/libcxx/__config_site COPYONLY)
|
||||||
|
|
||||||
|
set_property(
|
||||||
|
TARGET nuttx
|
||||||
|
APPEND
|
||||||
|
PROPERTY NUTTX_CXX_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include/libcxx)
|
||||||
|
|
||||||
|
add_compile_definitions(_LIBCPP_BUILDING_LIBRARY)
|
||||||
|
if(CONFIG_LIBSUPCXX_TOOLCHAIN)
|
||||||
|
add_compile_definitions(__GLIBCXX__)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_LIBSUPCXX)
|
||||||
|
add_compile_definitions(__GLIBCXX__)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
set(CMAKE_CXX_EXTENSIONS ON)
|
||||||
|
|
||||||
|
set(SRCS)
|
||||||
|
set(SRCSTMP)
|
||||||
|
|
||||||
|
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})
|
||||||
|
|
||||||
|
if(NOT CONFIG_CXX_LOCALIZATION)
|
||||||
|
file(
|
||||||
|
GLOB
|
||||||
|
SRCSTMP
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/ios.cpp
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/ios.instantiations.cpp
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/iostream.cpp
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/locale.cpp
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/regex.cpp
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/libcxx/src/strstream.cpp)
|
||||||
|
list(REMOVE_ITEM SRCS ${SRCSTMP})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(FLAGS -Wno-attributes -Wno-deprecated-declarations -Wno-shadow
|
||||||
|
-Wno-sign-compare -Wno-cpp)
|
||||||
|
|
||||||
|
if(GCCVER GREATER_EQUAL 12)
|
||||||
|
list(APPEND FLAGS -Wno-maybe-uninitialized -Wno-alloc-size-larger-than)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
nuttx_add_system_library(libcxx)
|
||||||
|
target_sources(libcxx PRIVATE ${SRCS})
|
||||||
|
target_compile_options(libcxx PRIVATE ${FLAGS})
|
||||||
|
target_include_directories(libcxx BEFORE
|
||||||
|
PRIVATE ${CMAKE_CURRENT_LIST_DIR}/libcxx/src)
|
||||||
|
endif()
|
|
@ -1,5 +1,5 @@
|
||||||
############################################################################
|
############################################################################
|
||||||
# libs/libxx/libcxx.defs
|
# libs/libxx/libcxx/Make.defs
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
#
|
#
|
||||||
|
@ -23,37 +23,37 @@
|
||||||
LIBCXX_VERSION=$(patsubst "%",%,$(CONFIG_LIBCXX_VERSION))
|
LIBCXX_VERSION=$(patsubst "%",%,$(CONFIG_LIBCXX_VERSION))
|
||||||
|
|
||||||
# Download and unpack tarball if no git repo found
|
# Download and unpack tarball if no git repo found
|
||||||
ifeq ($(wildcard libcxx/.git),)
|
ifeq ($(wildcard libcxx/libcxx/.git),)
|
||||||
libcxx-$(LIBCXX_VERSION).src.tar.xz:
|
libcxx-$(LIBCXX_VERSION).src.tar.xz:
|
||||||
$(call DOWNLOAD,https://github.com/llvm/llvm-project/releases/download/llvmorg-$(LIBCXX_VERSION),libcxx-$(LIBCXX_VERSION).src.tar.xz)
|
$(call DOWNLOAD,https://github.com/llvm/llvm-project/releases/download/llvmorg-$(LIBCXX_VERSION),$@)
|
||||||
|
|
||||||
libcxx: libcxx-$(LIBCXX_VERSION).src.tar.xz
|
libcxx/libcxx: libcxx-$(LIBCXX_VERSION).src.tar.xz
|
||||||
$(Q) tar -xf libcxx-$(LIBCXX_VERSION).src.tar.xz \
|
$(Q) tar -xf $< \
|
||||||
--exclude libcxx-$(LIBCXX_VERSION).src/test/std/pstl
|
--exclude libcxx-$(LIBCXX_VERSION).src/test/std/pstl
|
||||||
$(Q) mv libcxx-$(LIBCXX_VERSION).src libcxx
|
$(Q) mv libcxx-$(LIBCXX_VERSION).src $@
|
||||||
$(Q) patch -p0 < 0001_fix_stdatomic_h_miss_typedef.patch
|
$(Q) patch -p0 < libcxx/0001_fix_stdatomic_h_miss_typedef.patch -d libcxx
|
||||||
$(Q) patch -p2 < mbstate_t.patch
|
$(Q) patch -p2 < libcxx/mbstate_t.patch -d libcxx
|
||||||
$(Q) patch -p0 < 0001-libcxx-remove-mach-time-h.patch
|
$(Q) patch -p0 < libcxx/0001-libcxx-remove-mach-time-h.patch -d libcxx
|
||||||
$(Q) patch -p0 < 0001-libcxx-fix-ld-errors.patch
|
$(Q) patch -p0 < libcxx/0001-libcxx-fix-ld-errors.patch -d libcxx
|
||||||
$(Q) patch -p0 < 0001-Fix-build-error-about-__GLIBC__.patch
|
$(Q) patch -p0 < libcxx/0001-Fix-build-error-about-__GLIBC__.patch -d libcxx
|
||||||
$(Q) touch $@
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(TOPDIR)/include/libcxx: libcxx
|
$(TOPDIR)/include/libcxx: libcxx/libcxx
|
||||||
$(Q) $(DIRLINK) $(CURDIR)/libcxx/include $(TOPDIR)/include/libcxx
|
$(Q) $(DIRLINK) $(CURDIR)/$</include $(TOPDIR)/include/libcxx
|
||||||
$(Q) cp $(CURDIR)/__config_site $(TOPDIR)/include/libcxx/__config_site
|
$(Q) cp $(CURDIR)/__config_site $(TOPDIR)/include/libcxx/__config_site
|
||||||
|
|
||||||
context:: $(TOPDIR)/include/libcxx
|
context:: $(TOPDIR)/include/libcxx
|
||||||
|
|
||||||
distclean::
|
distclean::
|
||||||
$(Q) $(DIRUNLINK) $(TOPDIR)/include/libcxx
|
$(Q) $(DIRUNLINK) $(TOPDIR)/include/libcxx
|
||||||
ifeq ($(wildcard libcxx/.git),)
|
ifeq ($(wildcard libcxx/libcxx/.git),)
|
||||||
$(Q) $(DELFILE) libcxx-$(LIBCXX_VERSION).src.tar.xz
|
$(Q) $(DELFILE) libcxx-$(LIBCXX_VERSION).src.tar.xz
|
||||||
$(call DELDIR, libcxx)
|
$(call DELDIR, libcxx/libcxx)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CXXFLAGS += ${DEFINE_PREFIX}_LIBCPP_BUILDING_LIBRARY
|
CXXFLAGS += ${DEFINE_PREFIX}_LIBCPP_BUILDING_LIBRARY
|
||||||
CXXFLAGS += ${INCDIR_PREFIX}$(CURDIR)/libcxx/src
|
CXXFLAGS += ${INCDIR_PREFIX}$(CURDIR)/libcxx/libcxx/src
|
||||||
|
|
||||||
ifeq ($(CONFIG_LIBSUPCXX_TOOLCHAIN),y)
|
ifeq ($(CONFIG_LIBSUPCXX_TOOLCHAIN),y)
|
||||||
CXXFLAGS += ${DEFINE_PREFIX}__GLIBCXX__
|
CXXFLAGS += ${DEFINE_PREFIX}__GLIBCXX__
|
||||||
|
@ -70,18 +70,17 @@ ifeq ($(shell expr "$(GCCVER)" \>= 12), 1)
|
||||||
CXXFLAGS += -Wno-maybe-uninitialized -Wno-alloc-size-larger-than
|
CXXFLAGS += -Wno-maybe-uninitialized -Wno-alloc-size-larger-than
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CPPSRCS += $(wildcard libcxx/src/*.cpp)
|
CPPSRCS += $(wildcard libcxx/libcxx/src/*.cpp)
|
||||||
CPPSRCS += $(wildcard libcxx/src/experimental/*.cpp)
|
CPPSRCS += $(wildcard libcxx/libcxx/src/experimental/*.cpp)
|
||||||
CPPSRCS += $(wildcard libcxx/src/filesystem/*.cpp)
|
CPPSRCS += $(wildcard libcxx/libcxx/src/filesystem/*.cpp)
|
||||||
CPPSRCS += $(wildcard libcxx/src/ryu/*.cpp)
|
CPPSRCS += $(wildcard libcxx/libcxx/src/ryu/*.cpp)
|
||||||
|
|
||||||
ifeq ($(CONFIG_CXX_LOCALIZATION),)
|
ifeq ($(CONFIG_CXX_LOCALIZATION),)
|
||||||
LOCALE_CPPSRCS := libcxx/src/ios.cpp
|
LOCALE_CPPSRCS := libcxx/libcxx/src/ios.cpp
|
||||||
LOCALE_CPPSRCS += libcxx/src/ios.instantiations.cpp
|
LOCALE_CPPSRCS += libcxx/libcxx/src/ios.instantiations.cpp
|
||||||
LOCALE_CPPSRCS += libcxx/src/iostream.cpp
|
LOCALE_CPPSRCS += libcxx/libcxx/src/iostream.cpp
|
||||||
LOCALE_CPPSRCS += libcxx/src/locale.cpp
|
LOCALE_CPPSRCS += libcxx/libcxx/src/locale.cpp
|
||||||
LOCALE_CPPSRCS += libcxx/src/regex.cpp
|
LOCALE_CPPSRCS += libcxx/libcxx/src/regex.cpp
|
||||||
LOCALE_CPPSRCS += libcxx/src/strstream.cpp
|
LOCALE_CPPSRCS += libcxx/libcxx/src/strstream.cpp
|
||||||
CPPSRCS := $(filter-out $(LOCALE_CPPSRCS), $(CPPSRCS))
|
CPPSRCS := $(filter-out $(LOCALE_CPPSRCS), $(CPPSRCS))
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -1,123 +0,0 @@
|
||||||
# ##############################################################################
|
|
||||||
# libs/libxx/libcxxabi.cmake
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
#
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
|
||||||
# license agreements. See the NOTICE file distributed with this work for
|
|
||||||
# additional information regarding copyright ownership. The ASF licenses this
|
|
||||||
# file to you under the Apache License, Version 2.0 (the "License"); you may not
|
|
||||||
# use this file except in compliance with the License. You may obtain a copy of
|
|
||||||
# the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
||||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
||||||
# License for the specific language governing permissions and limitations under
|
|
||||||
# the License.
|
|
||||||
#
|
|
||||||
# ##############################################################################
|
|
||||||
|
|
||||||
if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/libcxxabi)
|
|
||||||
|
|
||||||
set(LIBCXXABI_VERSION ${CONFIG_LIBCXXABI_VERSION})
|
|
||||||
|
|
||||||
FetchContent_Declare(
|
|
||||||
libcxxabi
|
|
||||||
DOWNLOAD_NAME "libcxxabi-${LIBCXXABI_VERSION}.src.tar.xz"
|
|
||||||
DOWNLOAD_DIR ${CMAKE_CURRENT_LIST_DIR}
|
|
||||||
URL "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LIBCXXABI_VERSION}/libcxxabi-${LIBCXXABI_VERSION}.src.tar.xz"
|
|
||||||
SOURCE_DIR
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/libcxxabi
|
|
||||||
BINARY_DIR
|
|
||||||
${CMAKE_BINARY_DIR}/libs/libc/libcxxabi
|
|
||||||
CONFIGURE_COMMAND
|
|
||||||
""
|
|
||||||
BUILD_COMMAND
|
|
||||||
""
|
|
||||||
INSTALL_COMMAND
|
|
||||||
""
|
|
||||||
TEST_COMMAND
|
|
||||||
""
|
|
||||||
PATCH_COMMAND ""
|
|
||||||
DOWNLOAD_NO_PROGRESS true
|
|
||||||
TIMEOUT 30)
|
|
||||||
|
|
||||||
FetchContent_GetProperties(libcxxabi)
|
|
||||||
|
|
||||||
if(NOT libcxxabi_POPULATED)
|
|
||||||
FetchContent_Populate(libcxxabi)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_property(
|
|
||||||
TARGET nuttx
|
|
||||||
APPEND
|
|
||||||
PROPERTY NUTTX_CXX_INCLUDE_DIRECTORIES
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/libcxxabi/include)
|
|
||||||
|
|
||||||
nuttx_add_system_library(libcxxabi)
|
|
||||||
|
|
||||||
set(SRCS)
|
|
||||||
|
|
||||||
# C++ABI files
|
|
||||||
list(
|
|
||||||
APPEND
|
|
||||||
SRCS
|
|
||||||
cxa_aux_runtime.cpp
|
|
||||||
cxa_default_handlers.cpp
|
|
||||||
cxa_demangle.cpp
|
|
||||||
cxa_exception_storage.cpp
|
|
||||||
cxa_guard.cpp
|
|
||||||
cxa_handlers.cpp
|
|
||||||
cxa_thread_atexit.cpp
|
|
||||||
cxa_vector.cpp
|
|
||||||
cxa_virtual.cpp)
|
|
||||||
|
|
||||||
# C++ STL files
|
|
||||||
list(APPEND SRCS stdlib_exception.cpp stdlib_new_delete.cpp
|
|
||||||
stdlib_stdexcept.cpp stdlib_typeinfo.cpp)
|
|
||||||
|
|
||||||
# Internal files
|
|
||||||
list(APPEND SRCS abort_message.cpp fallback_malloc.cpp private_typeinfo.cpp)
|
|
||||||
|
|
||||||
if(CONFIG_CXX_EXCEPTION)
|
|
||||||
list(APPEND SRCS cxa_exception.cpp cxa_personality.cpp)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CONFIG_LIBCXXABI)
|
|
||||||
add_compile_definitions(LIBCXX_BUILDING_LIBCXXABI)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(TARGET_SRCS)
|
|
||||||
|
|
||||||
foreach(src ${SRCS})
|
|
||||||
string(PREPEND src libcxxabi/src/)
|
|
||||||
list(APPEND TARGET_SRCS ${src})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
# RTTI is required for building the libcxxabi library
|
|
||||||
target_compile_options(libcxxabi PRIVATE -frtti)
|
|
||||||
|
|
||||||
if(CONFIG_SIM_UBSAN OR CONFIG_MM_UBSAN)
|
|
||||||
target_compile_options(libcxxabi PRIVATE -fno-sanitize=vptr)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Fix compilation error on ARM32:libcxxabi/src/cxa_personality.cpp:594:22:
|
|
||||||
# error: '_URC_FATAL_PHASE1_ERROR' was not declared in this scope 594 |
|
|
||||||
# results.reason = _URC_FATAL_PHASE1_ERROR;
|
|
||||||
if(CONFIG_ARCH_ARM)
|
|
||||||
target_compile_definitions(libcxxabi
|
|
||||||
PRIVATE _URC_FATAL_PHASE2_ERROR=_URC_FAILURE)
|
|
||||||
target_compile_definitions(libcxxabi
|
|
||||||
PRIVATE _URC_FATAL_PHASE1_ERROR=_URC_FAILURE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
target_compile_definitions(libcxxabi PRIVATE LIBCXXABI_NON_DEMANGLING_TERMINATE)
|
|
||||||
|
|
||||||
target_sources(libcxxabi PRIVATE ${TARGET_SRCS})
|
|
||||||
target_include_directories(
|
|
||||||
libcxxabi BEFORE PRIVATE ${CMAKE_CURRENT_LIST_DIR}/libcxxabi/include
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/libcxx/src)
|
|
1
libs/libxx/libcxxabi/.gitignore
vendored
Normal file
1
libs/libxx/libcxxabi/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/libcxxabi
|
125
libs/libxx/libcxxabi/CMakeLists.txt
Normal file
125
libs/libxx/libcxxabi/CMakeLists.txt
Normal file
|
@ -0,0 +1,125 @@
|
||||||
|
# ##############################################################################
|
||||||
|
# libs/libxx/libcxxabi/CMakeLists.txt
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
||||||
|
# license agreements. See the NOTICE file distributed with this work for
|
||||||
|
# additional information regarding copyright ownership. The ASF licenses this
|
||||||
|
# file to you under the Apache License, Version 2.0 (the "License"); you may not
|
||||||
|
# use this file except in compliance with the License. You may obtain a copy of
|
||||||
|
# the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations under
|
||||||
|
# the License.
|
||||||
|
#
|
||||||
|
# ##############################################################################
|
||||||
|
if(CONFIG_LIBCXXABI)
|
||||||
|
if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/libcxxabi)
|
||||||
|
|
||||||
|
set(LIBCXXABI_VERSION ${CONFIG_LIBCXXABI_VERSION})
|
||||||
|
|
||||||
|
FetchContent_Declare(
|
||||||
|
libcxxabi
|
||||||
|
DOWNLOAD_NAME "libcxxabi-${LIBCXXABI_VERSION}.src.tar.xz"
|
||||||
|
DOWNLOAD_DIR ${CMAKE_CURRENT_LIST_DIR}
|
||||||
|
URL "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LIBCXXABI_VERSION}/libcxxabi-${LIBCXXABI_VERSION}.src.tar.xz"
|
||||||
|
SOURCE_DIR
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/libcxxabi
|
||||||
|
BINARY_DIR
|
||||||
|
${CMAKE_BINARY_DIR}/libs/libc/libcxxabi
|
||||||
|
CONFIGURE_COMMAND
|
||||||
|
""
|
||||||
|
BUILD_COMMAND
|
||||||
|
""
|
||||||
|
INSTALL_COMMAND
|
||||||
|
""
|
||||||
|
TEST_COMMAND
|
||||||
|
""
|
||||||
|
PATCH_COMMAND ""
|
||||||
|
DOWNLOAD_NO_PROGRESS true
|
||||||
|
TIMEOUT 30)
|
||||||
|
|
||||||
|
FetchContent_GetProperties(libcxxabi)
|
||||||
|
|
||||||
|
if(NOT libcxxabi_POPULATED)
|
||||||
|
FetchContent_Populate(libcxxabi)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set_property(
|
||||||
|
TARGET nuttx
|
||||||
|
APPEND
|
||||||
|
PROPERTY NUTTX_CXX_INCLUDE_DIRECTORIES
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/libcxxabi/include)
|
||||||
|
|
||||||
|
nuttx_add_system_library(libcxxabi)
|
||||||
|
|
||||||
|
set(SRCS)
|
||||||
|
|
||||||
|
# C++ABI files
|
||||||
|
list(
|
||||||
|
APPEND
|
||||||
|
SRCS
|
||||||
|
cxa_aux_runtime.cpp
|
||||||
|
cxa_default_handlers.cpp
|
||||||
|
cxa_demangle.cpp
|
||||||
|
cxa_exception_storage.cpp
|
||||||
|
cxa_guard.cpp
|
||||||
|
cxa_handlers.cpp
|
||||||
|
cxa_thread_atexit.cpp
|
||||||
|
cxa_vector.cpp
|
||||||
|
cxa_virtual.cpp)
|
||||||
|
|
||||||
|
# C++ STL files
|
||||||
|
list(APPEND SRCS stdlib_exception.cpp stdlib_new_delete.cpp
|
||||||
|
stdlib_stdexcept.cpp stdlib_typeinfo.cpp)
|
||||||
|
|
||||||
|
# Internal files
|
||||||
|
list(APPEND SRCS abort_message.cpp fallback_malloc.cpp private_typeinfo.cpp)
|
||||||
|
|
||||||
|
if(CONFIG_CXX_EXCEPTION)
|
||||||
|
list(APPEND SRCS cxa_exception.cpp cxa_personality.cpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_LIBCXXABI)
|
||||||
|
add_compile_definitions(LIBCXX_BUILDING_LIBCXXABI)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(TARGET_SRCS)
|
||||||
|
|
||||||
|
foreach(src ${SRCS})
|
||||||
|
string(PREPEND src libcxxabi/src/)
|
||||||
|
list(APPEND TARGET_SRCS ${src})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
# RTTI is required for building the libcxxabi library
|
||||||
|
target_compile_options(libcxxabi PRIVATE -frtti)
|
||||||
|
|
||||||
|
if(CONFIG_SIM_UBSAN OR CONFIG_MM_UBSAN)
|
||||||
|
target_compile_options(libcxxabi PRIVATE -fno-sanitize=vptr)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Fix compilation error on ARM32:libcxxabi/src/cxa_personality.cpp:594:22:
|
||||||
|
# error: '_URC_FATAL_PHASE1_ERROR' was not declared in this scope 594 |
|
||||||
|
# results.reason = _URC_FATAL_PHASE1_ERROR;
|
||||||
|
if(CONFIG_ARCH_ARM)
|
||||||
|
target_compile_definitions(libcxxabi
|
||||||
|
PRIVATE _URC_FATAL_PHASE2_ERROR=_URC_FAILURE)
|
||||||
|
target_compile_definitions(libcxxabi
|
||||||
|
PRIVATE _URC_FATAL_PHASE1_ERROR=_URC_FAILURE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_compile_definitions(libcxxabi
|
||||||
|
PRIVATE LIBCXXABI_NON_DEMANGLING_TERMINATE)
|
||||||
|
|
||||||
|
target_sources(libcxxabi PRIVATE ${TARGET_SRCS})
|
||||||
|
target_include_directories(
|
||||||
|
libcxxabi BEFORE PRIVATE ${CMAKE_CURRENT_LIST_DIR}/libcxxabi/include
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/libcxx/src)
|
||||||
|
endif()
|
|
@ -1,5 +1,5 @@
|
||||||
############################################################################
|
############################################################################
|
||||||
# libs/libxx/libcxxabi.defs
|
# libs/libxx/libcxxabi/Make.defs
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
#
|
#
|
||||||
|
@ -23,34 +23,33 @@
|
||||||
LIBCXXABI_VERSION=$(patsubst "%",%,$(CONFIG_LIBCXXABI_VERSION))
|
LIBCXXABI_VERSION=$(patsubst "%",%,$(CONFIG_LIBCXXABI_VERSION))
|
||||||
|
|
||||||
# Download and unpack tarball if no git repo found
|
# Download and unpack tarball if no git repo found
|
||||||
ifeq ($(wildcard libcxxabi/.git),)
|
ifeq ($(wildcard libcxxabi/libcxxabi/.git),)
|
||||||
libcxxabi-$(LIBCXXABI_VERSION).src.tar.xz:
|
libcxxabi-$(LIBCXXABI_VERSION).src.tar.xz:
|
||||||
$(call DOWNLOAD,https://github.com/llvm/llvm-project/releases/download/llvmorg-$(LIBCXXABI_VERSION),libcxxabi-$(LIBCXXABI_VERSION).src.tar.xz)
|
$(call DOWNLOAD,https://github.com/llvm/llvm-project/releases/download/llvmorg-$(LIBCXXABI_VERSION),$@)
|
||||||
|
|
||||||
libcxxabi: libcxxabi-$(LIBCXXABI_VERSION).src.tar.xz
|
libcxxabi/libcxxabi: libcxxabi-$(LIBCXXABI_VERSION).src.tar.xz
|
||||||
$(Q) tar -xf libcxxabi-$(LIBCXXABI_VERSION).src.tar.xz
|
$(Q) tar -xf $<
|
||||||
$(Q) mv libcxxabi-$(LIBCXXABI_VERSION).src libcxxabi
|
$(Q) mv libcxxabi-$(LIBCXXABI_VERSION).src $@
|
||||||
$(Q) patch -p0 < 0001-libcxxabi-Fix-build-warnings-generated-by-CMake-comp.patch
|
$(Q) patch -p0 < libcxxabi/0001-libcxxabi-Fix-build-warnings-generated-by-CMake-comp.patch -d libcxxabi
|
||||||
$(Q) patch -p0 < 0002-libcxxabi-fix-compilation-errors.patch
|
$(Q) patch -p0 < libcxxabi/0002-libcxxabi-fix-compilation-errors.patch -d libcxxabi
|
||||||
$(Q) touch $@
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(TOPDIR)/include/libcxxabi: libcxxabi
|
$(TOPDIR)/include/libcxxabi: libcxxabi/libcxxabi
|
||||||
$(Q) $(DIRLINK) $(CURDIR)/libcxxabi/include $(TOPDIR)/include/libcxxabi
|
$(Q) $(DIRLINK) $(CURDIR)/$</include $(TOPDIR)/include/libcxxabi
|
||||||
$(Q) cp $(CURDIR)/__config_site $(TOPDIR)/include/libcxxabi/__config_site
|
$(Q) cp $(CURDIR)/__config_site $(TOPDIR)/include/libcxxabi/__config_site
|
||||||
|
|
||||||
context:: $(TOPDIR)/include/libcxxabi
|
context:: $(TOPDIR)/include/libcxxabi
|
||||||
|
|
||||||
distclean::
|
distclean::
|
||||||
$(Q) $(DIRUNLINK) $(TOPDIR)/include/libcxxabi
|
$(Q) $(DIRUNLINK) $(TOPDIR)/include/libcxxabi
|
||||||
ifeq ($(wildcard libcxxabi/.git),)
|
ifeq ($(wildcard libcxxabi/libcxxabi/.git),)
|
||||||
$(Q) $(DELFILE) libcxxabi-$(LIBCXX_VERSION).src.tar.xz
|
$(Q) $(DELFILE) libcxxabi-$(LIBCXX_VERSION).src.tar.xz
|
||||||
$(call DELDIR, libcxxabi)
|
$(call DELDIR, libcxxabi/libcxxabi)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_LIBCXXABI), y)
|
ifeq ($(CONFIG_LIBCXXABI), y)
|
||||||
CXXFLAGS += ${DEFINE_PREFIX}LIBCXX_BUILDING_LIBCXXABI
|
CXXFLAGS += ${DEFINE_PREFIX}LIBCXX_BUILDING_LIBCXXABI
|
||||||
CXXFLAGS += -I $(TOPDIR)/libs/libxx/libcxxabi/include
|
CXXFLAGS += -I $(TOPDIR)/libs/libxx/libcxxabi/libcxxabi/include
|
||||||
|
|
||||||
# Disable dynamic type checking when enabling libcxxabi
|
# Disable dynamic type checking when enabling libcxxabi
|
||||||
# It results in a recursive call:
|
# It results in a recursive call:
|
||||||
|
@ -85,5 +84,5 @@ CXXFLAGS += -DLIBCXXABI_NON_DEMANGLING_TERMINATE
|
||||||
# RTTI is required for building the libcxxabi library
|
# RTTI is required for building the libcxxabi library
|
||||||
CXXFLAGS += -frtti
|
CXXFLAGS += -frtti
|
||||||
|
|
||||||
DEPPATH += --dep-path libcxxabi/src
|
DEPPATH += --dep-path libcxxabi/libcxxabi/src
|
||||||
VPATH += libcxxabi/src
|
VPATH += libcxxabi/libcxxabi/src
|
|
@ -1,5 +1,5 @@
|
||||||
# ##############################################################################
|
# ##############################################################################
|
||||||
# libs/libxx/libcxxmini.cmake
|
# libs/libxx/libcxxmini/CMakeLists.txt
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
#
|
#
|
||||||
|
@ -20,31 +20,35 @@
|
||||||
#
|
#
|
||||||
# ##############################################################################
|
# ##############################################################################
|
||||||
|
|
||||||
nuttx_add_system_library(libcxxmini)
|
if(CONFIG_LIBCXXMINI)
|
||||||
|
|
||||||
if(NOT CONFIG_XTENSA_TOOLCHAIN_XCC)
|
nuttx_add_system_library(libcxxmini)
|
||||||
add_compile_options(-Wno-missing-exception-spec)
|
|
||||||
|
if(NOT CONFIG_XTENSA_TOOLCHAIN_XCC)
|
||||||
|
add_compile_options(-Wno-missing-exception-spec)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_sources(
|
||||||
|
libcxxmini
|
||||||
|
PRIVATE libxx_cxa_guard.cxx
|
||||||
|
libxx_cxapurevirtual.cxx
|
||||||
|
libxx_delete.cxx
|
||||||
|
libxx_delete_sized.cxx
|
||||||
|
libxx_deletea.cxx
|
||||||
|
libxx_deletea_sized.cxx
|
||||||
|
libxx_new.cxx
|
||||||
|
libxx_newa.cxx)
|
||||||
|
|
||||||
|
# Why c++14? * libcxx seems to require c++11. * The compiler defaults varies:
|
||||||
|
# clang/macOS (from xcode): 199711L gcc/ubuntu: 201402L * There
|
||||||
|
# is a precedent to use c++14.
|
||||||
|
# (boards/arm/stm32l4/nucleo-l476rg/scripts/Make.defs)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
set_property(
|
||||||
|
TARGET nuttx
|
||||||
|
APPEND
|
||||||
|
PROPERTY NUTTX_CXX_INCLUDE_DIRECTORIES ${NUTTX_DIR}/include/cxx)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_sources(
|
|
||||||
libcxxmini
|
|
||||||
PRIVATE libcxxmini/libxx_cxa_guard.cxx
|
|
||||||
libcxxmini/libxx_cxapurevirtual.cxx
|
|
||||||
libcxxmini/libxx_delete.cxx
|
|
||||||
libcxxmini/libxx_delete_sized.cxx
|
|
||||||
libcxxmini/libxx_deletea.cxx
|
|
||||||
libcxxmini/libxx_deletea_sized.cxx
|
|
||||||
libcxxmini/libxx_new.cxx
|
|
||||||
libcxxmini/libxx_newa.cxx)
|
|
||||||
|
|
||||||
# Why c++14? * libcxx seems to require c++11. * The compiler defaults varies:
|
|
||||||
# clang/macOS (from xcode): 199711L gcc/ubuntu: 201402L * There is
|
|
||||||
# a precedent to use c++14. (boards/arm/stm32l4/nucleo-l476rg/scripts/Make.defs)
|
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
||||||
|
|
||||||
set_property(
|
|
||||||
TARGET nuttx
|
|
||||||
APPEND
|
|
||||||
PROPERTY NUTTX_CXX_INCLUDE_DIRECTORIES ${NUTTX_DIR}/include/cxx)
|
|
|
@ -1,5 +1,5 @@
|
||||||
############################################################################
|
############################################################################
|
||||||
# libs/libxx/libcxxmini.defs
|
# libs/libxx/libcxxmini/Make.defs
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
#
|
#
|
|
@ -1,114 +0,0 @@
|
||||||
# ##############################################################################
|
|
||||||
# libs/libxx/uClibc++.cmake
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
#
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
|
||||||
# license agreements. See the NOTICE file distributed with this work for
|
|
||||||
# additional information regarding copyright ownership. The ASF licenses this
|
|
||||||
# file to you under the Apache License, Version 2.0 (the "License"); you may not
|
|
||||||
# use this file except in compliance with the License. You may obtain a copy of
|
|
||||||
# the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
||||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
||||||
# License for the specific language governing permissions and limitations under
|
|
||||||
# the License.
|
|
||||||
#
|
|
||||||
# ##############################################################################
|
|
||||||
|
|
||||||
set(UCLIBCXX_DIR ${CMAKE_CURRENT_LIST_DIR}/uClibc++)
|
|
||||||
|
|
||||||
if(NOT EXISTS ${UCLIBCXX_DIR})
|
|
||||||
|
|
||||||
set(UCLIBCXX_VERSION 0.2.5)
|
|
||||||
|
|
||||||
FetchContent_Declare(
|
|
||||||
uClibc++
|
|
||||||
DOWNLOAD_NAME "uClibc++-${UCLIBCXX_VERSION}.tar.bz2"
|
|
||||||
DOWNLOAD_DIR ${CMAKE_CURRENT_LIST_DIR}
|
|
||||||
URL "https://git.busybox.net/uClibc++/snapshot/uClibc++-${UCLIBCXX_VERSION}.tar.bz2"
|
|
||||||
SOURCE_DIR
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/uClibc++
|
|
||||||
BINARY_DIR
|
|
||||||
${CMAKE_BINARY_DIR}/libs/libc/uClibc++
|
|
||||||
CONFIGURE_COMMAND
|
|
||||||
""
|
|
||||||
BUILD_COMMAND
|
|
||||||
""
|
|
||||||
INSTALL_COMMAND
|
|
||||||
""
|
|
||||||
TEST_COMMAND
|
|
||||||
""
|
|
||||||
PATCH_COMMAND
|
|
||||||
patch -p1 -d ${CMAKE_CURRENT_LIST_DIR}/uClibc++ <
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/0001-uClibcxx-basic_definitions-fix-GCC-specific-definiti.patch
|
|
||||||
&& patch -p1 -d ${CMAKE_CURRENT_LIST_DIR}/uClibc++ <
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/0001-uclibxx-use-overload-constructor-of-filebuf-ostream.patch
|
|
||||||
DOWNLOAD_NO_PROGRESS true
|
|
||||||
TIMEOUT 30)
|
|
||||||
|
|
||||||
FetchContent_GetProperties(uClibc++)
|
|
||||||
|
|
||||||
if(NOT uClibc++_POPULATED)
|
|
||||||
FetchContent_Populate(uClibc++)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
|
||||||
nuttx_create_symlink(${CMAKE_CURRENT_LIST_DIR}/uClibc++/include
|
|
||||||
${CMAKE_BINARY_DIR}/include/uClibc++)
|
|
||||||
|
|
||||||
configure_file(
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/system_configuration.h
|
|
||||||
${CMAKE_BINARY_DIR}/include/uClibc++/system_configuration.h COPYONLY)
|
|
||||||
|
|
||||||
set_property(
|
|
||||||
TARGET nuttx
|
|
||||||
APPEND
|
|
||||||
PROPERTY NUTTX_CXX_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include/uClibc++)
|
|
||||||
|
|
||||||
set(SRCS
|
|
||||||
algorithm.cpp
|
|
||||||
associative_base.cpp
|
|
||||||
bitset.cpp
|
|
||||||
char_traits.cpp
|
|
||||||
complex.cpp
|
|
||||||
deque.cpp
|
|
||||||
exception.cpp
|
|
||||||
fstream.cpp
|
|
||||||
func_exception.cpp
|
|
||||||
iomanip.cpp
|
|
||||||
ios.cpp
|
|
||||||
iostream.cpp
|
|
||||||
istream.cpp
|
|
||||||
iterator.cpp
|
|
||||||
limits.cpp
|
|
||||||
list.cpp
|
|
||||||
locale.cpp
|
|
||||||
map.cpp
|
|
||||||
numeric.cpp
|
|
||||||
ostream.cpp
|
|
||||||
queue.cpp
|
|
||||||
set.cpp
|
|
||||||
sstream.cpp
|
|
||||||
stack.cpp
|
|
||||||
stdexcept.cpp
|
|
||||||
streambuf.cpp
|
|
||||||
string.cpp
|
|
||||||
utility.cpp
|
|
||||||
valarray.cpp
|
|
||||||
vector.cpp)
|
|
||||||
|
|
||||||
set(TARGET_SRCS)
|
|
||||||
|
|
||||||
foreach(src ${SRCS})
|
|
||||||
string(PREPEND src uClibc++/src/)
|
|
||||||
list(APPEND TARGET_SRCS ${src})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
nuttx_add_system_library(uClibc++)
|
|
||||||
target_sources(uClibc++ PRIVATE ${TARGET_SRCS})
|
|
1
libs/libxx/uClibc++/.gitignore
vendored
Normal file
1
libs/libxx/uClibc++/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/uClibc++
|
116
libs/libxx/uClibc++/CMakeLists.txt
Normal file
116
libs/libxx/uClibc++/CMakeLists.txt
Normal file
|
@ -0,0 +1,116 @@
|
||||||
|
# ##############################################################################
|
||||||
|
# libs/libxx/uClibc++/CMakeLists.txt
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
||||||
|
# license agreements. See the NOTICE file distributed with this work for
|
||||||
|
# additional information regarding copyright ownership. The ASF licenses this
|
||||||
|
# file to you under the Apache License, Version 2.0 (the "License"); you may not
|
||||||
|
# use this file except in compliance with the License. You may obtain a copy of
|
||||||
|
# the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations under
|
||||||
|
# the License.
|
||||||
|
#
|
||||||
|
# ##############################################################################
|
||||||
|
|
||||||
|
if(CONFIG_UCLIBCXX)
|
||||||
|
set(UCLIBCXX_DIR ${CMAKE_CURRENT_LIST_DIR}/uClibc++)
|
||||||
|
|
||||||
|
if(NOT EXISTS ${UCLIBCXX_DIR})
|
||||||
|
|
||||||
|
set(UCLIBCXX_VERSION 0.2.5)
|
||||||
|
|
||||||
|
FetchContent_Declare(
|
||||||
|
uClibc++
|
||||||
|
DOWNLOAD_NAME "uClibc++-${UCLIBCXX_VERSION}.tar.bz2"
|
||||||
|
DOWNLOAD_DIR ${CMAKE_CURRENT_LIST_DIR}
|
||||||
|
URL "https://git.busybox.net/uClibc++/snapshot/uClibc++-${UCLIBCXX_VERSION}.tar.bz2"
|
||||||
|
SOURCE_DIR
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/uClibc++
|
||||||
|
BINARY_DIR
|
||||||
|
${CMAKE_BINARY_DIR}/libs/libc/uClibc++
|
||||||
|
CONFIGURE_COMMAND
|
||||||
|
""
|
||||||
|
BUILD_COMMAND
|
||||||
|
""
|
||||||
|
INSTALL_COMMAND
|
||||||
|
""
|
||||||
|
TEST_COMMAND
|
||||||
|
""
|
||||||
|
PATCH_COMMAND
|
||||||
|
patch -p1 -d ${CMAKE_CURRENT_LIST_DIR}/uClibc++ <
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/0001-uClibcxx-basic_definitions-fix-GCC-specific-definiti.patch
|
||||||
|
&& patch -p1 -d ${CMAKE_CURRENT_LIST_DIR}/uClibc++ <
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/0001-uclibxx-use-overload-constructor-of-filebuf-ostream.patch
|
||||||
|
DOWNLOAD_NO_PROGRESS true
|
||||||
|
TIMEOUT 30)
|
||||||
|
|
||||||
|
FetchContent_GetProperties(uClibc++)
|
||||||
|
|
||||||
|
if(NOT uClibc++_POPULATED)
|
||||||
|
FetchContent_Populate(uClibc++)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
|
nuttx_create_symlink(${CMAKE_CURRENT_LIST_DIR}/uClibc++/include
|
||||||
|
${CMAKE_BINARY_DIR}/include/uClibc++)
|
||||||
|
|
||||||
|
configure_file(
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/system_configuration.h
|
||||||
|
${CMAKE_BINARY_DIR}/include/uClibc++/system_configuration.h COPYONLY)
|
||||||
|
|
||||||
|
set_property(
|
||||||
|
TARGET nuttx
|
||||||
|
APPEND
|
||||||
|
PROPERTY NUTTX_CXX_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include/uClibc++)
|
||||||
|
|
||||||
|
set(SRCS
|
||||||
|
algorithm.cpp
|
||||||
|
associative_base.cpp
|
||||||
|
bitset.cpp
|
||||||
|
char_traits.cpp
|
||||||
|
complex.cpp
|
||||||
|
deque.cpp
|
||||||
|
exception.cpp
|
||||||
|
fstream.cpp
|
||||||
|
func_exception.cpp
|
||||||
|
iomanip.cpp
|
||||||
|
ios.cpp
|
||||||
|
iostream.cpp
|
||||||
|
istream.cpp
|
||||||
|
iterator.cpp
|
||||||
|
limits.cpp
|
||||||
|
list.cpp
|
||||||
|
locale.cpp
|
||||||
|
map.cpp
|
||||||
|
numeric.cpp
|
||||||
|
ostream.cpp
|
||||||
|
queue.cpp
|
||||||
|
set.cpp
|
||||||
|
sstream.cpp
|
||||||
|
stack.cpp
|
||||||
|
stdexcept.cpp
|
||||||
|
streambuf.cpp
|
||||||
|
string.cpp
|
||||||
|
utility.cpp
|
||||||
|
valarray.cpp
|
||||||
|
vector.cpp)
|
||||||
|
|
||||||
|
set(TARGET_SRCS)
|
||||||
|
|
||||||
|
foreach(src ${SRCS})
|
||||||
|
string(PREPEND src uClibc++/src/)
|
||||||
|
list(APPEND TARGET_SRCS ${src})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
nuttx_add_system_library(uClibc++)
|
||||||
|
target_sources(uClibc++ PRIVATE ${TARGET_SRCS})
|
||||||
|
endif()
|
|
@ -1,5 +1,5 @@
|
||||||
############################################################################
|
############################################################################
|
||||||
# libs/libxx/uClibc++.defs
|
# libs/libxx/uClibc++/Make.defs
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
#
|
#
|
||||||
|
@ -23,27 +23,29 @@
|
||||||
UCLIBCXX_VERSION=0.2.5
|
UCLIBCXX_VERSION=0.2.5
|
||||||
|
|
||||||
# Download and unpack tarball if no git repo found
|
# Download and unpack tarball if no git repo found
|
||||||
ifeq ($(wildcard uClibc++/.git),)
|
ifeq ($(wildcard uClibc++/uClibc++/.git),)
|
||||||
uClibc++:
|
uClibc++-$(UCLIBCXX_VERSION).tar.bz2:
|
||||||
curl -O -L https://git.busybox.net/uClibc++/snapshot/uClibc++-$(UCLIBCXX_VERSION).tar.bz2
|
curl -O -L https://git.busybox.net/uClibc++/snapshot/$@
|
||||||
$(Q) tar -xf uClibc++-$(UCLIBCXX_VERSION).tar.bz2
|
|
||||||
$(Q) $(DELFILE) uClibc++-$(UCLIBCXX_VERSION).tar.bz2
|
uClibc++/uClibc++: uClibc++-$(UCLIBCXX_VERSION).tar.bz2
|
||||||
$(Q) mv uClibc++-$(UCLIBCXX_VERSION) uClibc++
|
$(Q) tar -xf $<
|
||||||
$(Q) patch -p0 < 0001-uClibcxx-basic_definitions-fix-GCC-specific-definiti.patch
|
$(Q) $(DELFILE) $<
|
||||||
$(Q) patch -p0 < 0001-uclibxx-use-overload-constructor-of-filebuf-ostream.patch
|
$(Q) mv uClibc++-$(UCLIBCXX_VERSION) $@
|
||||||
|
$(Q) patch -p0 < uClibc++/0001-uClibcxx-basic_definitions-fix-GCC-specific-definiti.patch -d uClibc++
|
||||||
|
$(Q) patch -p0 < uClibc++/0001-uclibxx-use-overload-constructor-of-filebuf-ostream.patch -d uClibc++
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(TOPDIR)/include/uClibc++: uClibc++
|
$(TOPDIR)/include/uClibc++: uClibc++/uClibc++
|
||||||
$(Q) $(DIRLINK) $(CURDIR)/uClibc++/include $(TOPDIR)/include/uClibc++
|
$(Q) $(DIRLINK) $(CURDIR)/uClibc++/uClibc++/include $(TOPDIR)/include/uClibc++
|
||||||
$(Q) $(COPYFILE) $(CURDIR)/system_configuration.h $(TOPDIR)/include/uClibc++
|
$(Q) $(COPYFILE) $(CURDIR)/uClibc++/system_configuration.h $(TOPDIR)/include/uClibc++
|
||||||
|
|
||||||
context:: $(TOPDIR)/include/uClibc++
|
context:: $(TOPDIR)/include/uClibc++
|
||||||
|
|
||||||
distclean::
|
distclean::
|
||||||
$(Q) $(DELFILE) $(TOPDIR)/include/uClibc++/system_configuration.h
|
$(Q) $(DELFILE) $(TOPDIR)/include/uClibc++/system_configuration.h
|
||||||
$(Q) $(DIRUNLINK) $(TOPDIR)/include/uClibc++
|
$(Q) $(DIRUNLINK) $(TOPDIR)/include/uClibc++
|
||||||
ifeq ($(wildcard uClibc++/.git),)
|
ifeq ($(wildcard uClibc++/uClibc++/.git),)
|
||||||
$(call DELDIR, uClibc++)
|
$(call DELDIR, uClibc++/uClibc++)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CPPSRCS += algorithm.cpp associative_base.cpp bitset.cpp char_traits.cpp
|
CPPSRCS += algorithm.cpp associative_base.cpp bitset.cpp char_traits.cpp
|
||||||
|
@ -54,5 +56,5 @@ CPPSRCS += ostream.cpp queue.cpp set.cpp sstream.cpp stack.cpp stdexcept.cpp
|
||||||
CPPSRCS += streambuf.cpp string.cpp utility.cpp valarray.cpp
|
CPPSRCS += streambuf.cpp string.cpp utility.cpp valarray.cpp
|
||||||
CPPSRCS += vector.cpp
|
CPPSRCS += vector.cpp
|
||||||
|
|
||||||
DEPPATH += --dep-path uClibc++/src
|
DEPPATH += --dep-path uClibc++/uClibc++/src
|
||||||
VPATH += uClibc++/src
|
VPATH += uClibc++/uClibc++/src
|
Loading…
Reference in a new issue