| # Copyright 2018 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build_overrides/build.gni") |
| |
| if (build_with_chromium) { |
| visibility = [ |
| "//third_party/webrtc/*", |
| "//third_party/abseil-cpp/*", |
| ] |
| } else { |
| visibility = [ "*" ] |
| } |
| |
| source_set("spinlock_wait") { |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//third_party/abseil-cpp:absl_default_cflags_cc", |
| ] |
| public_configs = [ "//third_party/abseil-cpp:absl_include_config" ] |
| sources = [ |
| "internal/spinlock_akaros.inc", |
| "internal/spinlock_posix.inc", |
| "internal/spinlock_wait.cc", |
| "internal/spinlock_win32.inc", |
| ] |
| public = [ |
| "internal/scheduling_mode.h", |
| "internal/spinlock_wait.h", |
| ] |
| deps = [ |
| ":core_headers", |
| ] |
| visibility = [] |
| visibility += [ "../base:*" ] |
| } |
| |
| source_set("config") { |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//third_party/abseil-cpp:absl_default_cflags_cc", |
| ] |
| public_configs = [ "//third_party/abseil-cpp:absl_include_config" ] |
| public = [ |
| "config.h", |
| "policy_checks.h", |
| ] |
| } |
| |
| config("clang_support_dynamic_annotations") { |
| cflags_cc = [ "-D__CLANG_SUPPORT_DYN_ANNOTATION__" ] |
| } |
| |
| source_set("dynamic_annotations") { |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//third_party/abseil-cpp:absl_default_cflags_cc", |
| ] |
| public_configs = [ |
| ":clang_support_dynamic_annotations", |
| "//third_party/abseil-cpp:absl_include_config", |
| ] |
| sources = [ |
| "dynamic_annotations.cc", |
| ] |
| public = [ |
| "dynamic_annotations.h", |
| ] |
| # Abseil's dynamic annotations are only visible inside Abseil because |
| # their usage is deprecated in Chromium (see README.chromium for more info). |
| visibility = [] |
| visibility = [ "../*" ] |
| } |
| |
| source_set("core_headers") { |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//third_party/abseil-cpp:absl_default_cflags_cc", |
| ] |
| public_configs = [ "//third_party/abseil-cpp:absl_include_config" ] |
| public = [ |
| "attributes.h", |
| "macros.h", |
| "optimization.h", |
| "port.h", |
| "thread_annotations.h", |
| ] |
| deps = [ |
| ":config", |
| ":dynamic_annotations", |
| ] |
| } |
| |
| source_set("malloc_internal") { |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//third_party/abseil-cpp:absl_default_cflags_cc", |
| ] |
| public_configs = [ "//third_party/abseil-cpp:absl_include_config" ] |
| sources = [ |
| "internal/low_level_alloc.cc", |
| ] |
| public = [ |
| "internal/direct_mmap.h", |
| "internal/low_level_alloc.h", |
| ] |
| deps = [ |
| ":base", |
| ":config", |
| ":core_headers", |
| ":dynamic_annotations", |
| ":spinlock_wait", |
| ] |
| visibility = [] |
| visibility += [ "../*" ] |
| } |
| |
| source_set("base_internal") { |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//third_party/abseil-cpp:absl_default_cflags_cc", |
| ] |
| public_configs = [ "//third_party/abseil-cpp:absl_include_config" ] |
| public = [ |
| "internal/hide_ptr.h", |
| "internal/identity.h", |
| "internal/inline_variable.h", |
| "internal/invoke.h", |
| ] |
| visibility = [] |
| visibility += [ "../*" ] |
| } |
| |
| source_set("base") { |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//third_party/abseil-cpp:absl_default_cflags_cc", |
| ] |
| public_configs = [ "//third_party/abseil-cpp:absl_include_config" ] |
| sources = [ |
| "internal/cycleclock.cc", |
| "internal/raw_logging.cc", |
| "internal/spinlock.cc", |
| "internal/sysinfo.cc", |
| "internal/thread_identity.cc", |
| "internal/unscaledcycleclock.cc", |
| ] |
| public = [ |
| "call_once.h", |
| "casts.h", |
| "internal/atomic_hook.h", |
| "internal/cycleclock.h", |
| "internal/low_level_scheduling.h", |
| "internal/per_thread_tls.h", |
| "internal/raw_logging.h", |
| "internal/spinlock.h", |
| "internal/sysinfo.h", |
| "internal/thread_identity.h", |
| "internal/tsan_mutex_interface.h", |
| "internal/unscaledcycleclock.h", |
| "log_severity.h", |
| ] |
| deps = [ |
| ":base_internal", |
| ":config", |
| ":core_headers", |
| ":dynamic_annotations", |
| ":spinlock_wait", |
| ] |
| } |
| |
| source_set("throw_delegate") { |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//third_party/abseil-cpp:absl_default_cflags_cc", |
| ] |
| public_configs = [ "//third_party/abseil-cpp:absl_include_config" ] |
| sources = [ |
| "internal/throw_delegate.cc", |
| ] |
| public = [ |
| "internal/throw_delegate.h", |
| ] |
| deps = [ |
| ":base", |
| ":config", |
| ":core_headers", |
| ] |
| visibility = [] |
| visibility += [ "../*" ] |
| } |
| |
| source_set("exception_testing") { |
| testonly = true |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//third_party/abseil-cpp:absl_test_cflags_cc", |
| ] |
| public_configs = [ "//third_party/abseil-cpp:absl_include_config" ] |
| public = [ |
| "internal/exception_testing.h", |
| ] |
| deps = [ |
| ":config", |
| ] |
| visibility = [] |
| visibility += [ "../*" ] |
| } |
| |
| source_set("pretty_function") { |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//third_party/abseil-cpp:absl_default_cflags_cc", |
| ] |
| public_configs = [ "//third_party/abseil-cpp:absl_include_config" ] |
| public = [ |
| "internal/pretty_function.h", |
| ] |
| visibility = [] |
| visibility += [ "../*" ] |
| } |
| |
| # TODO(mbonadei): This target throws by design. We should probably |
| # just remove it. |
| # source_set("exception_safety_testing") { |
| # testonly = true |
| # configs -= [ "//build/config/compiler:chromium_code" ] |
| # configs += [ |
| # "//build/config/compiler:no_chromium_code", |
| # "//third_party/abseil-cpp:absl_test_cflags_cc", |
| # ] |
| # public_configs = [ "//third_party/abseil-cpp:absl_include_config" ] |
| # sources = [ |
| # "internal/exception_safety_testing.cc", |
| # ] |
| # public = [ |
| # "internal/exception_safety_testing.h", |
| # ] |
| # deps = [ |
| # ":base", |
| # ":config", |
| # ":pretty_function", |
| # "../memory", |
| # "../meta:type_traits", |
| # "../strings", |
| # "../types:optional", |
| # "//testing/gtest", |
| # ] |
| # } |
| |
| source_set("spinlock_test_common") { |
| testonly = true |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//third_party/abseil-cpp:absl_test_cflags_cc", |
| ] |
| public_configs = [ "//third_party/abseil-cpp:absl_include_config" ] |
| sources = [ |
| "spinlock_test_common.cc", |
| ] |
| deps = [ |
| ":base", |
| ":core_headers", |
| ":spinlock_wait", |
| "../synchronization", |
| "//testing/gtest", |
| ] |
| } |
| |
| source_set("endian") { |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| "//third_party/abseil-cpp:absl_default_cflags_cc", |
| ] |
| public_configs = [ "//third_party/abseil-cpp:absl_include_config" ] |
| public = [ |
| "internal/endian.h", |
| "internal/unaligned_access.h", |
| ] |
| deps = [ |
| ":config", |
| ":core_headers", |
| ] |
| } |