214 lines
6.3 KiB
Text
214 lines
6.3 KiB
Text
# Copyright 2018 The Chromium Authors
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import("//third_party/abseil-cpp/absl.gni")
|
|
|
|
absl_source_set("graphcycles_internal") {
|
|
sources = [ "internal/graphcycles.cc" ]
|
|
public = [ "internal/graphcycles.h" ]
|
|
deps = [
|
|
"//third_party/abseil-cpp/absl/base",
|
|
"//third_party/abseil-cpp/absl/base:base_internal",
|
|
"//third_party/abseil-cpp/absl/base:config",
|
|
"//third_party/abseil-cpp/absl/base:core_headers",
|
|
"//third_party/abseil-cpp/absl/base:malloc_internal",
|
|
"//third_party/abseil-cpp/absl/base:raw_logging_internal",
|
|
]
|
|
visibility = [ ":*" ]
|
|
}
|
|
|
|
absl_source_set("kernel_timeout_internal") {
|
|
sources = [ "internal/kernel_timeout.cc" ]
|
|
public = [ "internal/kernel_timeout.h" ]
|
|
deps = [
|
|
"//third_party/abseil-cpp/absl/base",
|
|
"//third_party/abseil-cpp/absl/base:config",
|
|
"//third_party/abseil-cpp/absl/base:core_headers",
|
|
"//third_party/abseil-cpp/absl/base:raw_logging_internal",
|
|
"//third_party/abseil-cpp/absl/time",
|
|
]
|
|
visibility = [ ":*" ]
|
|
}
|
|
|
|
absl_test("kernel_timeout_internal_test") {
|
|
sources = [ "internal/kernel_timeout_test.cc" ]
|
|
deps = [
|
|
":kernel_timeout_internal",
|
|
"//third_party/abseil-cpp/absl/base:config",
|
|
"//third_party/abseil-cpp/absl/random",
|
|
"//third_party/abseil-cpp/absl/time",
|
|
]
|
|
}
|
|
|
|
absl_source_set("synchronization") {
|
|
sources = [
|
|
"barrier.cc",
|
|
"blocking_counter.cc",
|
|
"internal/create_thread_identity.cc",
|
|
"internal/futex_waiter.cc",
|
|
"internal/per_thread_sem.cc",
|
|
"internal/pthread_waiter.cc",
|
|
"internal/sem_waiter.cc",
|
|
"internal/stdcpp_waiter.cc",
|
|
"internal/waiter_base.cc",
|
|
"internal/win32_waiter.cc",
|
|
"mutex.cc",
|
|
"notification.cc",
|
|
]
|
|
public = [
|
|
"barrier.h",
|
|
"blocking_counter.h",
|
|
"internal/create_thread_identity.h",
|
|
"internal/futex.h",
|
|
"internal/futex_waiter.h",
|
|
"internal/per_thread_sem.h",
|
|
"internal/pthread_waiter.h",
|
|
"internal/sem_waiter.h",
|
|
"internal/stdcpp_waiter.h",
|
|
"internal/waiter.h",
|
|
"internal/waiter_base.h",
|
|
"internal/win32_waiter.h",
|
|
"mutex.h",
|
|
"notification.h",
|
|
]
|
|
deps = [
|
|
":graphcycles_internal",
|
|
":kernel_timeout_internal",
|
|
"//third_party/abseil-cpp/absl/base",
|
|
"//third_party/abseil-cpp/absl/base:atomic_hook",
|
|
"//third_party/abseil-cpp/absl/base:base_internal",
|
|
"//third_party/abseil-cpp/absl/base:config",
|
|
"//third_party/abseil-cpp/absl/base:core_headers",
|
|
"//third_party/abseil-cpp/absl/base:dynamic_annotations",
|
|
"//third_party/abseil-cpp/absl/base:malloc_internal",
|
|
"//third_party/abseil-cpp/absl/base:raw_logging_internal",
|
|
"//third_party/abseil-cpp/absl/base:tracing_internal",
|
|
"//third_party/abseil-cpp/absl/debugging:stacktrace",
|
|
"//third_party/abseil-cpp/absl/debugging:symbolize",
|
|
"//third_party/abseil-cpp/absl/time",
|
|
]
|
|
}
|
|
|
|
absl_test("barrier_test") {
|
|
sources = [ "barrier_test.cc" ]
|
|
deps = [
|
|
":synchronization",
|
|
"//third_party/abseil-cpp/absl/time",
|
|
]
|
|
}
|
|
|
|
# Conflicts at link time with "tracing_strong_test" because also defines
|
|
# strong functions for AbslInternalTraceWait and alike
|
|
# absl_test("blocking_counter_test") {
|
|
# sources = [ "blocking_counter_test.cc" ]
|
|
# deps = [
|
|
# ":synchronization",
|
|
# "//third_party/abseil-cpp/absl/base:config",
|
|
# "//third_party/abseil-cpp/absl/base:core_headers",
|
|
# "//third_party/abseil-cpp/absl/base:tracing_internal",
|
|
# "//third_party/abseil-cpp/absl/time",
|
|
# ]
|
|
# }
|
|
|
|
absl_test("graphcycles_test") {
|
|
sources = [ "internal/graphcycles_test.cc" ]
|
|
deps = [
|
|
":graphcycles_internal",
|
|
"//third_party/abseil-cpp/absl/base:core_headers",
|
|
"//third_party/abseil-cpp/absl/log",
|
|
"//third_party/abseil-cpp/absl/log:check",
|
|
]
|
|
}
|
|
|
|
absl_source_set("thread_pool") {
|
|
testonly = true
|
|
public = [ "internal/thread_pool.h" ]
|
|
deps = [
|
|
":synchronization",
|
|
"//third_party/abseil-cpp/absl/base:core_headers",
|
|
"//third_party/abseil-cpp/absl/functional:any_invocable",
|
|
]
|
|
visibility = [ "//third_party/abseil-cpp/absl/*" ]
|
|
}
|
|
|
|
absl_test("mutex_test") {
|
|
sources = [ "mutex_test.cc" ]
|
|
deps = [
|
|
":synchronization",
|
|
":thread_pool",
|
|
"//third_party/abseil-cpp/absl/base",
|
|
"//third_party/abseil-cpp/absl/base:config",
|
|
"//third_party/abseil-cpp/absl/base:core_headers",
|
|
"//third_party/abseil-cpp/absl/log",
|
|
"//third_party/abseil-cpp/absl/log:check",
|
|
"//third_party/abseil-cpp/absl/memory",
|
|
"//third_party/abseil-cpp/absl/time",
|
|
]
|
|
}
|
|
|
|
# Doesn't compile.
|
|
# absl_test("mutex_method_pointer_test") {
|
|
# sources = [ "mutex_method_pointer_test.cc" ]
|
|
# deps = [
|
|
# ":synchronization",
|
|
# "//third_party/abseil-cpp/absl/base:config",
|
|
# ]
|
|
# }
|
|
|
|
# Conflicts at link time with "tracing_strong_test" because also defines
|
|
# strong functions for AbslInternalTraceWait and alike
|
|
# absl_test("notification_test") {
|
|
# sources = [ "notification_test.cc" ]
|
|
# deps = [
|
|
# ":synchronization",
|
|
# "//third_party/abseil-cpp/absl/base:config",
|
|
# "//third_party/abseil-cpp/absl/base:core_headers",
|
|
# "//third_party/abseil-cpp/absl/base:tracing_internal",
|
|
# "//third_party/abseil-cpp/absl/time",
|
|
# ]
|
|
# }
|
|
|
|
absl_source_set("per_thread_sem_test_common") {
|
|
testonly = true
|
|
sources = [ "internal/per_thread_sem_test.cc" ]
|
|
deps = [
|
|
":synchronization",
|
|
"//third_party/abseil-cpp/absl/base",
|
|
"//third_party/abseil-cpp/absl/base:config",
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
"//third_party/abseil-cpp/absl/time",
|
|
"//third_party/googletest:gtest",
|
|
]
|
|
visibility = [ ":*" ]
|
|
}
|
|
|
|
absl_test("per_thread_sem_test") {
|
|
deps = [
|
|
":per_thread_sem_test_common",
|
|
":synchronization",
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
"//third_party/abseil-cpp/absl/time",
|
|
]
|
|
}
|
|
|
|
absl_test("waiter_test") {
|
|
sources = [ "internal/waiter_test.cc" ]
|
|
deps = [
|
|
":kernel_timeout_internal",
|
|
":synchronization",
|
|
":thread_pool",
|
|
"//third_party/abseil-cpp/absl/base:config",
|
|
"//third_party/abseil-cpp/absl/random",
|
|
"//third_party/abseil-cpp/absl/time",
|
|
]
|
|
}
|
|
# Has it's own main function and thus can't be included into absl_tests target
|
|
# absl_test("lifetime_test") {
|
|
# sources = [ "lifetime_test.cc" ]
|
|
# deps = [
|
|
# ":synchronization",
|
|
# "//third_party/abseil-cpp/absl/base:core_headers",
|
|
# "//third_party/abseil-cpp/absl/log:check",
|
|
# ]
|
|
# }
|