139 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			139 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| # 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_library("mutex") {
 | |
|   sources = [
 | |
|     "mutex.cc",
 | |
|     "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:unused",
 | |
|   ]
 | |
|   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("rw_lock_wrapper") {
 | |
|   public = [ "rw_lock_wrapper.h" ]
 | |
|   sources = [ "rw_lock_wrapper.cc" ]
 | |
|   deps = [ "..:macromagic" ]
 | |
|   if (is_win) {
 | |
|     sources += [
 | |
|       "rw_lock_win.cc",
 | |
|       "rw_lock_win.h",
 | |
|     ]
 | |
|     deps += [ "..:logging" ]
 | |
|   } else {
 | |
|     sources += [
 | |
|       "rw_lock_posix.cc",
 | |
|       "rw_lock_posix.h",
 | |
|     ]
 | |
|   }
 | |
| }
 | |
| 
 | |
| rtc_library("sequence_checker") {
 | |
|   sources = [
 | |
|     "sequence_checker.cc",
 | |
|     "sequence_checker.h",
 | |
|   ]
 | |
|   deps = [
 | |
|     ":mutex",
 | |
|     "..:checks",
 | |
|     "..:criticalsection",
 | |
|     "..: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_library("synchronization_unittests") {
 | |
|     testonly = true
 | |
|     sources = [
 | |
|       "mutex_unittest.cc",
 | |
|       "yield_policy_unittest.cc",
 | |
|     ]
 | |
|     deps = [
 | |
|       ":mutex",
 | |
|       ":yield",
 | |
|       ":yield_policy",
 | |
|       "..:checks",
 | |
|       "..:macromagic",
 | |
|       "..:rtc_base",
 | |
|       "..:rtc_event",
 | |
|       "../../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",
 | |
|     ]
 | |
|   }
 | |
| 
 | |
|   rtc_library("sequence_checker_unittests") {
 | |
|     testonly = true
 | |
| 
 | |
|     sources = [ "sequence_checker_unittest.cc" ]
 | |
|     deps = [
 | |
|       ":sequence_checker",
 | |
|       "..:checks",
 | |
|       "..:rtc_base_approved",
 | |
|       "..:task_queue_for_test",
 | |
|       "../../api:function_view",
 | |
|       "../../test:test_main",
 | |
|       "../../test:test_support",
 | |
|     ]
 | |
|   }
 | |
| }
 |