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