• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2020 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7#     https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15import("//build_overrides/pigweed.gni")
16
17import("$dir_pw_build/target_types.gni")
18import("$dir_pw_docgen/docs.gni")
19
20config("default_config") {
21  include_dirs = [ "public" ]
22}
23
24config("backend_config") {
25  include_dirs = [ "public_overrides" ]
26}
27
28config("lite_backend_overrides") {
29  include_dirs = [ "assert_lite_public_overrides" ]
30}
31
32# This backend to pw_assert's PW_CHECK()/PW_CRASH() macros via PW_LOG.
33pw_source_set("pw_assert_log") {
34  public_configs = [
35    ":backend_config",
36    ":default_config",
37  ]
38  public_deps = [ "$dir_pw_log" ]
39  public = [ "public_overrides/pw_assert_backend/assert_backend.h" ]
40  deps = [
41    "$dir_pw_assert:config",
42    "$dir_pw_assert:facade",
43    "$dir_pw_preprocessor",
44  ]
45  sources = [
46    "assert_log.cc",
47    "public/pw_assert_log/assert_log.h",
48  ]
49}
50
51# This backend to pw_assert's PW_ASSERT() macros via PW_LOG. It is intended only
52# for use with PW_LOG backends which are constexpr compatible such as
53# pw_log_android.
54#
55# Warning: The "lite" naming is transitional. assert_lite_backend.h headers
56# will be renamed as the pw_assert API is reassessed. (pwbug/246)
57pw_source_set("lite_backend") {
58  public_configs = [
59    ":lite_backend_overrides",
60    ":default_config",
61  ]
62  public_deps = [ dir_pw_preprocessor ]
63  public =
64      [ "assert_lite_public_overrides/pw_assert_backend/assert_lite_backend.h" ]
65  sources = [ "public/pw_assert_log/assert_lite_log.h" ]
66}
67
68group("lite_compatibility_backend.impl") {
69}
70
71# pw_assert_log doesn't have deps with potential circular dependencies, so this
72# impl group can be empty.
73group("pw_assert_log.impl") {
74}
75
76pw_doc_group("docs") {
77  sources = [ "docs.rst" ]
78}
79