The constructors of static objects are stored in ".ctors" section. In case of MWDT toolchain we have incompatible ".ctors" section format with GNU toolchain. So let's use initialization code provided by MWDT instead of Zephyr one in case of MWDT toolchain usage. As it is done for GNU toolchain We call constructors of static objects but we don't call destructors for them. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
87 lines
1.7 KiB
Plaintext
87 lines
1.7 KiB
Plaintext
# C++ configuration options
|
|
|
|
# Copyright (c) 2018 B. Leforestier
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig CPLUSPLUS
|
|
bool "C++ support for the application"
|
|
help
|
|
This option enables the use of applications built with C++.
|
|
|
|
if CPLUSPLUS
|
|
|
|
choice
|
|
prompt "C++ Standard"
|
|
default STD_CPP11
|
|
help
|
|
C++ Standards.
|
|
|
|
config STD_CPP98
|
|
bool "C++ 98"
|
|
help
|
|
1998 C++ standard as modified by the 2003 technical corrigendum
|
|
and some later defect reports.
|
|
|
|
config STD_CPP11
|
|
bool "C++ 11"
|
|
help
|
|
2011 C++ standard, previously known as C++0x.
|
|
|
|
config STD_CPP14
|
|
bool "C++ 14"
|
|
help
|
|
2014 C++ standard.
|
|
|
|
config STD_CPP17
|
|
bool "C++ 17"
|
|
help
|
|
2017 C++ standard, previously known as C++0x.
|
|
|
|
config STD_CPP2A
|
|
bool "C++ 2a"
|
|
help
|
|
Next revision of the C++ standard, which is expected to be published in 2020.
|
|
|
|
config STD_CPP20
|
|
bool "C++ 20"
|
|
help
|
|
2020 C++ standard, previously known as C++2A.
|
|
|
|
config STD_CPP2B
|
|
bool "C++ 2b"
|
|
help
|
|
Next revision of the C++ standard, which is expected to be published in 2023.
|
|
|
|
endchoice
|
|
|
|
config LIB_CPLUSPLUS
|
|
bool "Link with STD C++ library"
|
|
depends on !MINIMAL_LIBC
|
|
help
|
|
Link with STD C++ Library.
|
|
|
|
if LIB_CPLUSPLUS
|
|
|
|
config EXCEPTIONS
|
|
bool "Enable C++ exceptions support"
|
|
depends on !NEWLIB_LIBC_NANO
|
|
help
|
|
This option enables support of C++ exceptions.
|
|
|
|
config RTTI
|
|
bool "Enable C++ RTTI support"
|
|
help
|
|
This option enables support of C++ RTTI.
|
|
|
|
endif # LIB_CPLUSPLUS
|
|
|
|
config CPP_STATIC_INIT_GNU
|
|
# As of today only ARC MWDT toolchain doesn't support GNU-compatible
|
|
# initialization of CPP static objects, new toolchains can be added
|
|
# here if required.
|
|
def_bool "$(ZEPHYR_TOOLCHAIN_VARIANT)" != "arcmwdt"
|
|
help
|
|
GNU-compatible initialization of CPP static objects
|
|
|
|
endif # CPLUSPLUS
|