xref: /aosp_15_r20/external/openscreen/third_party/abseil/BUILD.gn (revision 3f982cf4871df8771c9d4abe6e9a6f8d829b2736)
1# Copyright 2018 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build_overrides/build.gni")
6
7if (build_with_chromium) {
8  source_set("abseil") {
9    public_deps = [ "//third_party/abseil-cpp:absl" ]
10  }
11} else {
12  config("abseil_config") {
13    include_dirs = [ "//third_party/abseil/src" ]
14  }
15
16  config("private_abseil_config") {
17    cflags = [
18      "-Wno-sign-compare",
19      "-Wno-extra-semi",
20      "-Wno-range-loop-analysis",
21    ]
22
23    if (is_mac) {
24      cflags += [ "-Wno-range-loop-analysis" ]
25    }
26  }
27
28  # NOTE: StrFormat is specifically excluded from the Abseil source set due
29  # to binary size concerns.
30  source_set("abseil") {
31    sources = [
32      "src/absl/base/attributes.h",
33      "src/absl/base/config.h",
34      "src/absl/base/internal/atomic_hook.h",
35      "src/absl/base/internal/identity.h",
36      "src/absl/base/internal/inline_variable.h",
37      "src/absl/base/internal/invoke.h",
38      "src/absl/base/internal/raw_logging.cc",
39      "src/absl/base/internal/raw_logging.h",
40      "src/absl/base/internal/throw_delegate.cc",
41      "src/absl/base/internal/throw_delegate.h",
42      "src/absl/base/log_severity.h",
43      "src/absl/base/macros.h",
44      "src/absl/base/optimization.h",
45      "src/absl/base/policy_checks.h",
46      "src/absl/base/port.h",
47      "src/absl/container/internal/common.h",
48      "src/absl/hash/hash.h",
49      "src/absl/hash/hash_testing.h",
50      "src/absl/hash/internal/city.cc",
51      "src/absl/hash/internal/city.h",
52      "src/absl/hash/internal/hash.cc",
53      "src/absl/hash/internal/hash.h",
54      "src/absl/hash/internal/spy_hash_state.h",
55      "src/absl/memory/memory.h",
56      "src/absl/meta/type_traits.h",
57      "src/absl/numeric/int128.cc",
58      "src/absl/numeric/int128.h",
59      "src/absl/strings/ascii.cc",
60      "src/absl/strings/ascii.h",
61      "src/absl/strings/charconv.cc",
62      "src/absl/strings/charconv.h",
63      "src/absl/strings/escaping.cc",
64      "src/absl/strings/escaping.h",
65      "src/absl/strings/internal/charconv_bigint.cc",
66      "src/absl/strings/internal/charconv_bigint.h",
67      "src/absl/strings/internal/charconv_parse.cc",
68      "src/absl/strings/internal/charconv_parse.h",
69      "src/absl/strings/internal/escaping.cc",
70      "src/absl/strings/internal/escaping.h",
71      "src/absl/strings/internal/memutil.cc",
72      "src/absl/strings/internal/memutil.h",
73      "src/absl/strings/internal/str_join_internal.h",
74      "src/absl/strings/internal/utf8.cc",
75      "src/absl/strings/internal/utf8.h",
76      "src/absl/strings/match.cc",
77      "src/absl/strings/match.h",
78      "src/absl/strings/numbers.cc",
79      "src/absl/strings/numbers.h",
80      "src/absl/strings/str_cat.cc",
81      "src/absl/strings/str_cat.h",
82      "src/absl/strings/str_join.h",
83      "src/absl/strings/str_replace.cc",
84      "src/absl/strings/str_replace.h",
85      "src/absl/strings/str_split.cc",
86      "src/absl/strings/str_split.h",
87      "src/absl/strings/string_view.cc",
88      "src/absl/strings/string_view.h",
89      "src/absl/strings/substitute.cc",
90      "src/absl/strings/substitute.h",
91      "src/absl/types/bad_optional_access.cc",
92      "src/absl/types/bad_optional_access.h",
93      "src/absl/types/bad_variant_access.cc",
94      "src/absl/types/bad_variant_access.h",
95      "src/absl/types/optional.h",
96      "src/absl/types/span.h",
97      "src/absl/types/variant.h",
98    ]
99
100    configs += [ ":private_abseil_config" ]
101    public_configs = [ ":abseil_config" ]
102  }
103}
104