# Copyright 2021 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 ZEPHYR_PIGWEED_MODULE
    select REQUIRES_FULL_LIBCPP
    depends on STD_CPP17 || STD_CPP2A || STD_CPP20 || STD_CPP2B

if ZEPHYR_PIGWEED_MODULE

rsource "pw_assert_zephyr/Kconfig"
rsource "pw_base64/Kconfig"
rsource "pw_bytes/Kconfig"
rsource "pw_checksum/Kconfig"
rsource "pw_chrono_zephyr/Kconfig"
rsource "pw_containers/Kconfig"
rsource "pw_function/Kconfig"
rsource "pw_hdlc/Kconfig"
rsource "pw_interrupt_zephyr/Kconfig"
rsource "pw_log_zephyr/Kconfig"
rsource "pw_multisink/Kconfig"
rsource "pw_polyfill/Kconfig"
rsource "pw_preprocessor/Kconfig"
rsource "pw_result/Kconfig"
rsource "pw_router/Kconfig"
rsource "pw_rpc/Kconfig"
rsource "pw_span/Kconfig"
rsource "pw_status/Kconfig"
rsource "pw_stream/Kconfig"
rsource "pw_string/Kconfig"
rsource "pw_sync_zephyr/Kconfig"
rsource "pw_sys_io_zephyr/Kconfig"
rsource "pw_system/Kconfig"
rsource "pw_thread_zephyr/Kconfig"
rsource "pw_tokenizer/Kconfig"
rsource "pw_varint/Kconfig"

endif # ZEPHYR_PIGWEED_MODULE
