pw_minimal_cpp_stdlib: Add Zephyr Kconfig to enable include path

Use Kconfig to enable pw_minimal_cpp_stdlib include path

Change-Id: Ied77e5f1c0f16c34c64ac79afd32173046fd0c12
Signed-off-by: Al Semjonovs <asemjonovs@google.com>
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/173653
Reviewed-by: Wyatt Hepler <hepler@google.com>
Reviewed-by: Carlos Chinchilla <cachinchilla@google.com>
Reviewed-by: Yuval Peress <peress@google.com>
This commit is contained in:
Al Semjonovs 2023-10-09 19:54:38 +00:00 committed by CQ Bot Account
parent 754739c7d5
commit 45973d2047
3 changed files with 28 additions and 1 deletions

View File

@ -156,6 +156,10 @@ add_subdirectory(third_party/googletest EXCLUDE_FROM_ALL)
if(CONFIG_ZEPHYR_PIGWEED_MODULE)
add_subdirectory(zephyr)
if(CONFIG_PIGWEED_MINIMAL_CPP_STDLIB)
# Add include path to pw_minimal_cpp_stdlib to compiler
zephyr_compile_options(-isystem ${ZEPHYR_PIGWEED_MODULE_DIR}/pw_minimal_cpp_stdlib/public)
endif()
else()
add_subdirectory(targets/host EXCLUDE_FROM_ALL)

View File

@ -13,7 +13,6 @@
# the License.
config ZEPHYR_PIGWEED_MODULE
select REQUIRES_FULL_LIBCPP
depends on STD_CPP17 || STD_CPP2A || STD_CPP20 || STD_CPP2B
if ZEPHYR_PIGWEED_MODULE
@ -28,6 +27,7 @@ rsource "pw_function/Kconfig"
rsource "pw_hdlc/Kconfig"
rsource "pw_interrupt_zephyr/Kconfig"
rsource "pw_log_zephyr/Kconfig"
rsource "pw_minimal_cpp_stdlib/Kconfig"
rsource "pw_multisink/Kconfig"
rsource "pw_polyfill/Kconfig"
rsource "pw_preprocessor/Kconfig"

View File

@ -0,0 +1,23 @@
# Copyright 2023 The Pigweed Authors
#
# Licensed 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
#
# https://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.
config PIGWEED_MINIMAL_CPP_STDLIB
bool "Link pw_minimal_cpp_stdlib"
depends on STD_CPP17 || STD_CPP2A || STD_CPP20 || STD_CPP2B
help
Uses the pw_minimal_cpp_stdlib C++ standard library implementation.
The build must set `-nostdinc++` to exclude the toolchain's standard
library. This is NOT a full standard library implementation and may
only be used to build pw_tokenizer.
see :ref:'module-pw_minimal_cpp_stdlib' for module details.