| # Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. |
| # |
| # Use of this source code is governed by a BSD-style license |
| # that can be found in the LICENSE file in the root of the source |
| # tree. An additional intellectual property rights grant can be found |
| # in the file PATENTS. All contributing project authors may |
| # be found in the AUTHORS file in the root of the source tree. |
| |
| import("../../webrtc.gni") |
| if (is_android) { |
| import("//build/config/android/config.gni") |
| import("//build/config/android/rules.gni") |
| } |
| |
| rtc_library("yield") { |
| sources = [ |
| "yield.cc", |
| "yield.h", |
| ] |
| deps = [] |
| } |
| |
| rtc_source_set("mutex") { |
| sources = [ |
| "mutex.h", |
| "mutex_critical_section.h", |
| "mutex_pthread.h", |
| ] |
| if (rtc_use_absl_mutex) { |
| sources += [ "mutex_abseil.h" ] |
| } |
| |
| deps = [ |
| ":yield", |
| "..:checks", |
| "..:macromagic", |
| "..:platform_thread_types", |
| "../system:no_unique_address", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers" ] |
| if (rtc_use_absl_mutex) { |
| absl_deps += [ "//third_party/abseil-cpp/absl/synchronization" ] |
| } |
| } |
| |
| rtc_library("sequence_checker_internal") { |
| visibility = [ "../../api:sequence_checker" ] |
| sources = [ |
| "sequence_checker_internal.cc", |
| "sequence_checker_internal.h", |
| ] |
| deps = [ |
| ":mutex", |
| "..:checks", |
| "..:macromagic", |
| "..:platform_thread_types", |
| "..:stringutils", |
| "../../api/task_queue", |
| "../system:rtc_export", |
| ] |
| } |
| |
| rtc_library("yield_policy") { |
| sources = [ |
| "yield_policy.cc", |
| "yield_policy.h", |
| ] |
| deps = [ "..:checks" ] |
| absl_deps = [ |
| "//third_party/abseil-cpp/absl/base:config", |
| "//third_party/abseil-cpp/absl/base:core_headers", |
| ] |
| } |
| |
| if (rtc_include_tests && rtc_enable_google_benchmarks) { |
| rtc_library("synchronization_unittests") { |
| testonly = true |
| sources = [ |
| "mutex_unittest.cc", |
| "yield_policy_unittest.cc", |
| ] |
| deps = [ |
| ":mutex", |
| ":yield", |
| ":yield_policy", |
| "..:checks", |
| "..:macromagic", |
| "..:platform_thread", |
| "..:rtc_event", |
| "..:threading", |
| "../../test:test_support", |
| "//third_party/google_benchmark", |
| ] |
| } |
| |
| rtc_library("mutex_benchmark") { |
| testonly = true |
| sources = [ "mutex_benchmark.cc" ] |
| deps = [ |
| ":mutex", |
| "../system:unused", |
| "//third_party/google_benchmark", |
| ] |
| } |
| } |