# Copyright 2020 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. buildconfig = "//BUILDCONFIG.gn" import("//build_overrides/pigweed_environment.gni") # Generate a compilation database for all targets. export_compile_commands = [ ":*" ] default_args = { # Default all upstream Pigweed toolchains to enable pw::span asserts. pw_span_ENABLE_ASSERTS = true # Don't allow a plain .options file extension for upstream pwpb code. pw_protobuf_compiler_NO_GENERIC_OPTIONS_FILES = true pw_build_PIP_CONSTRAINTS = [ "//pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint.list" ] pw_build_PIP_REQUIREMENTS = [ "//pw_env_setup/py/pw_env_setup/virtualenv_setup/pigweed_upstream_requirements.txt" ] pw_build_PYTHON_BUILD_VENV = "//pw_env_setup:upstream_pigweed_build_venv" # TODO(b/292098416): This should stay false until a cross-platform constraint # file workflow is implemented. pw_build_PYTHON_PIP_INSTALL_REQUIRE_HASHES = false pw_build_PYTHON_PIP_INSTALL_FIND_LINKS = [ "${pw_env_setup_CIPD_MSRV_PYTHON}/pip_cache" ] pw_toolchain_STATIC_ANALYSIS_SKIP_SOURCES_RES = [ # Exclude third party CHRE headers that were downloaded from static analysis. "environment/packages/chre/.*", # Exclude third-party headers from static analysis. "third_party/.*", # Exclude GoogleTest, which fails some clang-tidy checks. ".*/googletest/src/.*", ".*/googlemock/src/.*", # Exclude Boringssl, which fails some clang-tidy checks. ".*/boringssl/src/.*", # Exclude mbedtls, which fails some clang-tidy checks. ".*/mbedtls/library/.*", "pw_bluetooth_sapphire/.*", "../pw_bluetooth_sapphire/.*", ] pw_toolchain_STATIC_ANALYSIS_SKIP_INCLUDE_PATHS = [ # Exclude third party CHRE code from static analysis. "../environment/packages/chre/.*", # Code generated by third-party tool. "pw_tls_client/generate_test_data", # Exclude GoogleTest, which fails some clang-tidy checks. ".*/googletest/include.*", ".*/googlemock/include.*", # Exclude Boringssl, which fails some clang-tidy checks. ".*/boringssl/src/include.*", # Exclude mbedtls, which fails some clang-tidy checks. ".*/mbedtls/include.*", "../pw_bluetooth_sapphire/.*", ] }