# Copyright 2022 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. import("//build_overrides/pigweed.gni") import("$dir_pw_build/python.gni") import("$dir_pw_docgen/docs.gni") import("$dir_pw_third_party/emboss/emboss.gni") config("default_config") { # EMBOSS_DCHECK is used as an assert() for logic embedded in Emboss, where # EMBOSS_CHECK is used to check preconditions on application logic (e.g. # Write() checks the [requires: ...] attribute). defines = [ "EMBOSS_CHECK=PW_DCHECK", "EMBOSS_CHECK_ABORTS", "EMBOSS_DCHECK=PW_DCHECK", "EMBOSS_DCHECK_ABORTS", ] } source_set("cpp_utils") { public_configs = [ pw_third_party_emboss_CONFIG ] sources = [ "$dir_pw_third_party_emboss/runtime/cpp/emboss_arithmetic.h", "$dir_pw_third_party_emboss/runtime/cpp/emboss_arithmetic_all_known_generated.h", "$dir_pw_third_party_emboss/runtime/cpp/emboss_arithmetic_maximum_operation_generated.h", "$dir_pw_third_party_emboss/runtime/cpp/emboss_array_view.h", "$dir_pw_third_party_emboss/runtime/cpp/emboss_bit_util.h", "$dir_pw_third_party_emboss/runtime/cpp/emboss_constant_view.h", "$dir_pw_third_party_emboss/runtime/cpp/emboss_cpp_types.h", "$dir_pw_third_party_emboss/runtime/cpp/emboss_cpp_util.h", "$dir_pw_third_party_emboss/runtime/cpp/emboss_defines.h", "$dir_pw_third_party_emboss/runtime/cpp/emboss_enum_view.h", "$dir_pw_third_party_emboss/runtime/cpp/emboss_maybe.h", "$dir_pw_third_party_emboss/runtime/cpp/emboss_memory_util.h", "$dir_pw_third_party_emboss/runtime/cpp/emboss_prelude.h", "$dir_pw_third_party_emboss/runtime/cpp/emboss_text_util.h", "$dir_pw_third_party_emboss/runtime/cpp/emboss_view_parameters.h", ] } # Exists solely to satisfy presubmit. embossc_runner.py is used for real in # build_defs.gni. action("embossc_runner") { script = "embossc_runner.py" visibility = [] outputs = [ "$target_gen_dir/foo" ] } pw_doc_group("docs") { sources = [ "docs.rst" ] } # Flags that are needed to compile targets that depend on Emboss. # TODO(benlawson): Fix Emboss upstream so this can be removed # (https://github.com/google/emboss/issues/69) config("flags") { cflags = [ "-Wno-unused-parameter" ] }