Add Embedded Template Library (ETL) support
This commit is contained in:
parent
20bdd44e7b
commit
f64677b8c9
1
include/.gitignore
vendored
1
include/.gitignore
vendored
@ -9,3 +9,4 @@
|
|||||||
/machine
|
/machine
|
||||||
/openamp
|
/openamp
|
||||||
/metal
|
/metal
|
||||||
|
/etl
|
||||||
|
1
libs/libxx/.gitignore
vendored
1
libs/libxx/.gitignore
vendored
@ -3,3 +3,4 @@
|
|||||||
/libcxxabi
|
/libcxxabi
|
||||||
/libcxx-*.src.tar.xz
|
/libcxx-*.src.tar.xz
|
||||||
/libcxxabi-*.src.tar.xz
|
/libcxxabi-*.src.tar.xz
|
||||||
|
/etl
|
||||||
|
@ -50,6 +50,18 @@ config UCLIBCXX
|
|||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
if LIBCXXMINI
|
||||||
|
|
||||||
|
config ETL
|
||||||
|
bool "Embedded Template Library (ETL)"
|
||||||
|
depends on ALLOW_MIT_COMPONENTS
|
||||||
|
---help---
|
||||||
|
ETL A C++ Template library for Embedded applications
|
||||||
|
Implements C++ templates such as containers, string
|
||||||
|
singleton math without C++ STL libraries
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
if LIBCXX || UCLIBCXX
|
if LIBCXX || UCLIBCXX
|
||||||
|
|
||||||
choice
|
choice
|
||||||
|
@ -35,6 +35,9 @@ else ifeq ($(CONFIG_LIBCXX),y)
|
|||||||
include libcxx.defs
|
include libcxx.defs
|
||||||
else
|
else
|
||||||
include libcxxmini.defs
|
include libcxxmini.defs
|
||||||
|
ifeq ($(CONFIG_ETL),y)
|
||||||
|
include etl.defs
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_LIBCXXABI),y)
|
ifeq ($(CONFIG_LIBCXXABI),y)
|
||||||
|
49
libs/libxx/etl.defs
Normal file
49
libs/libxx/etl.defs
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
############################################################################
|
||||||
|
# libs/libxx/stdex.defs
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
###########################################################################
|
||||||
|
|
||||||
|
ETL_VERSION=20.32.1
|
||||||
|
|
||||||
|
$(ETL_VERSION).tar.gz:
|
||||||
|
$(Q) curl -O -L https://github.com/ETLCPP/etl/archive/refs/tags/$(ETL_VERSION).tar.gz
|
||||||
|
|
||||||
|
etl: $(ETL_VERSION).tar.gz
|
||||||
|
$(Q) tar -xf $(ETL_VERSION).tar.gz
|
||||||
|
$(Q) $(DELFILE) $(ETL_VERSION).tar.gz
|
||||||
|
$(Q) mv etl-$(ETL_VERSION) etl
|
||||||
|
$(Q) touch $@
|
||||||
|
ifeq ($(CONFIG_ARCH_ARMV5M), y)
|
||||||
|
$(Q) cp $(CURDIR)/etl/include/etl/profiles/armv5_no_stl.h $(CURDIR)/etl/include/etl/etl_profile.h
|
||||||
|
else ifeq ($(CONFIG_ARCH_ARMV6M), y)
|
||||||
|
$(Q) cp $(CURDIR)/etl/include/etl/profiles/armv6_no_stl.h $(CURDIR)/etl/include/etl/etl_profile.h
|
||||||
|
else ifeq ($(CONFIG_ARCH_ARMV7M), y)
|
||||||
|
$(Q) cp $(CURDIR)/etl/include/etl/profiles/armv7_no_stl.h $(CURDIR)/etl/include/etl/etl_profile.h
|
||||||
|
else
|
||||||
|
$(Q) cp $(CURDIR)/etl/include/etl/profiles/gcc_generic_no_stl.h $(CURDIR)/etl/include/etl/etl_profile.h
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(TOPDIR)/include/etl: etl
|
||||||
|
$(Q) $(DIRLINK) $(CURDIR)/etl/include $(TOPDIR)/include/etl
|
||||||
|
|
||||||
|
context:: $(TOPDIR)/include/etl
|
||||||
|
|
||||||
|
distclean::
|
||||||
|
$(Q) $(DELFILE) $(ETL_VERSION).tar.gz
|
||||||
|
$(Q) $(DIRUNLINK) $(TOPDIR)/include/etl
|
||||||
|
$(call DELDIR, etl)
|
@ -570,6 +570,9 @@ else ifeq ($(CONFIG_UCLIBCXX),y)
|
|||||||
ARCHXXINCLUDES += ${shell $(INCDIR) -s "$(CC)" $(TOPDIR)$(DELIM)include$(DELIM)uClibc++}
|
ARCHXXINCLUDES += ${shell $(INCDIR) -s "$(CC)" $(TOPDIR)$(DELIM)include$(DELIM)uClibc++}
|
||||||
else
|
else
|
||||||
ARCHXXINCLUDES += ${shell $(INCDIR) -s "$(CC)" $(TOPDIR)$(DELIM)include$(DELIM)cxx}
|
ARCHXXINCLUDES += ${shell $(INCDIR) -s "$(CC)" $(TOPDIR)$(DELIM)include$(DELIM)cxx}
|
||||||
|
ifeq ($(CONFIG_ETL),y)
|
||||||
|
ARCHXXINCLUDES += ${shell $(INCDIR) -s "$(CC)" $(TOPDIR)$(DELIM)include$(DELIM)etl}
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
ARCHXXINCLUDES += ${shell $(INCDIR) -s "$(CC)" $(TOPDIR)$(DELIM)include}
|
ARCHXXINCLUDES += ${shell $(INCDIR) -s "$(CC)" $(TOPDIR)$(DELIM)include}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user