| # Copyright (c) 2020-2022 Project CHIP 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 |
| # |
| # 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. |
| |
| import("//build_overrides/build.gni") |
| import("//build_overrides/chip.gni") |
| import("//build_overrides/nlio.gni") |
| |
| import("${chip_root}/build/chip/buildconfig_header.gni") |
| import("${chip_root}/build/chip/tests.gni") |
| import("${chip_root}/src/inet/inet.gni") |
| import("core.gni") |
| |
| buildconfig_header("chip_buildconfig") { |
| header = "CHIPBuildConfig.h" |
| header_dir = "core" |
| |
| chip_target_style_unix = chip_target_style == "unix" |
| chip_target_style_embedded = chip_target_style == "embedded" |
| |
| chip_config_memory_management_malloc = |
| chip_config_memory_management == "malloc" |
| chip_config_memory_management_platform = |
| chip_config_memory_management == "platform" |
| |
| chip_config_short_error_str = |
| chip_config_short_error_str || chip_target_style_embedded |
| |
| # TODO - Move CHIP_PROJECT_CONFIG_INCLUDE, CHIP_PLATFORM_CONFIG_INCLUDE here. |
| # Currently those are also used from src/system. |
| defines = [ |
| "CHIP_FUZZING_ENABLED=false", |
| "CHIP_CONFIG_TEST=${chip_build_tests}", |
| "CHIP_ERROR_LOGGING=${chip_error_logging}", |
| "CHIP_PROGRESS_LOGGING=${chip_progress_logging}", |
| "CHIP_DETAIL_LOGGING=${chip_detail_logging}", |
| "CHIP_CONFIG_LOG_MESSAGE_MAX_SIZE=${chip_log_message_max_size}", |
| "CHIP_AUTOMATION_LOGGING=${chip_automation_logging}", |
| "CHIP_PW_TOKENIZER_LOGGING=${chip_pw_tokenizer_logging}", |
| "CHIP_USE_PW_LOGGING=${chip_use_pw_logging}", |
| "CHIP_CONFIG_SHORT_ERROR_STR=${chip_config_short_error_str}", |
| "CHIP_CONFIG_ENABLE_ARG_PARSER=${chip_config_enable_arg_parser}", |
| "CHIP_TARGET_STYLE_UNIX=${chip_target_style_unix}", |
| "CHIP_TARGET_STYLE_EMBEDDED=${chip_target_style_embedded}", |
| "CHIP_CONFIG_MEMORY_MGMT_MALLOC=${chip_config_memory_management_malloc}", |
| "HAVE_MALLOC=${chip_config_memory_management_malloc}", |
| "HAVE_FREE=${chip_config_memory_management_malloc}", |
| "HAVE_NEW=false", |
| "CHIP_CONFIG_MEMORY_MGMT_PLATFORM=${chip_config_memory_management_platform}", |
| "CHIP_CONFIG_MEMORY_DEBUG_CHECKS=${chip_config_memory_debug_checks}", |
| "CHIP_CONFIG_MEMORY_DEBUG_DMALLOC=${chip_config_memory_debug_dmalloc}", |
| "CHIP_CONFIG_PROVIDE_OBSOLESCENT_INTERFACES=false", |
| "CHIP_CONFIG_TRANSPORT_TRACE_ENABLED=${chip_enable_transport_trace}", |
| "CHIP_CONFIG_TRANSPORT_PW_TRACE_ENABLED=${chip_enable_transport_pw_trace}", |
| "CHIP_CONFIG_MINMDNS_DYNAMIC_OPERATIONAL_RESPONDER_LIST=${chip_config_minmdns_dynamic_operational_responder_list}", |
| "CHIP_CONFIG_MINMDNS_MAX_PARALLEL_RESOLVES=${chip_config_minmdns_max_parallel_resolves}", |
| ] |
| } |
| |
| source_set("chip_config_header") { |
| sources = [ "CHIPConfig.h" ] |
| |
| public_configs = [ "${chip_root}/src:includes" ] |
| |
| public_deps = [ |
| ":chip_buildconfig", |
| "${chip_root}/src/ble:ble_config_header", |
| "${chip_root}/src/system:system_config_header", |
| ] |
| |
| allow_circular_includes_from = [ "${chip_root}/src/ble:ble_config_header" ] |
| } |
| |
| static_library("core") { |
| output_name = "libChipCore" |
| |
| sources = [ |
| # For now cluster enum/bitmap definitions are in zzz-generated. |
| # We should consider putting them directly in this directory |
| # instead. |
| "${chip_root}/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h", |
| "CHIPCallback.h", |
| "CHIPCore.h", |
| "CHIPEncoding.h", |
| "CHIPError.cpp", |
| "CHIPError.h", |
| "CHIPKeyIds.cpp", |
| "CHIPKeyIds.h", |
| "ClusterEnums.h", |
| "DataModelTypes.h", |
| "GroupId.h", |
| "NodeId.h", |
| "OTAImageHeader.cpp", |
| "OTAImageHeader.h", |
| "PasscodeId.h", |
| "PeerId.h", |
| "TLV.h", |
| "TLVCircularBuffer.cpp", |
| "TLVCircularBuffer.h", |
| "TLVDebug.cpp", |
| "TLVReader.cpp", |
| "TLVTags.h", |
| "TLVTypes.h", |
| "TLVUpdater.cpp", |
| "TLVUtilities.cpp", |
| "TLVWriter.cpp", |
| ] |
| |
| cflags = [ "-Wconversion" ] |
| |
| public_deps = [ |
| ":chip_config_header", |
| "${chip_root}/src/ble", |
| "${chip_root}/src/inet", |
| "${chip_root}/src/lib/support", |
| "${chip_root}/src/system", |
| "${nlio_root}:nlio", |
| ] |
| |
| allow_circular_includes_from = [ |
| "${chip_root}/src/ble", |
| "${chip_root}/src/lib/support", |
| "${chip_root}/src/inet", |
| "${chip_root}/src/system", |
| ] |
| } |