diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /third_party/libwebrtc/webrtc/system_wrappers/BUILD.gn | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/libwebrtc/webrtc/system_wrappers/BUILD.gn')
-rw-r--r-- | third_party/libwebrtc/webrtc/system_wrappers/BUILD.gn | 236 |
1 files changed, 236 insertions, 0 deletions
diff --git a/third_party/libwebrtc/webrtc/system_wrappers/BUILD.gn b/third_party/libwebrtc/webrtc/system_wrappers/BUILD.gn new file mode 100644 index 0000000000..d68f6baf01 --- /dev/null +++ b/third_party/libwebrtc/webrtc/system_wrappers/BUILD.gn @@ -0,0 +1,236 @@ +# Copyright (c) 2014 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. + +if (is_android) { + import("//build/config/android/config.gni") + import("//build/config/android/rules.gni") +} +import("../webrtc.gni") + +rtc_static_library("system_wrappers") { + sources = [ + "include/aligned_array.h", + "include/aligned_malloc.h", + "include/atomic32.h", + "include/clock.h", + "include/cpu_info.h", + "include/event_wrapper.h", + "include/file_wrapper.h", + "include/ntp_time.h", + "include/rtp_to_ntp_estimator.h", + "include/rw_lock_wrapper.h", + "include/sleep.h", + "include/timestamp_extrapolator.h", + "source/aligned_malloc.cc", + "source/atomic32.cc", + "source/clock.cc", + "source/cpu_features.cc", + "source/cpu_info.cc", + "source/event.cc", + "source/event_timer_posix.cc", + "source/event_timer_posix.h", + "source/event_timer_win.cc", + "source/event_timer_win.h", + "source/file_impl.cc", + "source/rtp_to_ntp_estimator.cc", + "source/rw_lock.cc", + "source/rw_lock_posix.cc", + "source/rw_lock_posix.h", + "source/rw_lock_win.cc", + "source/rw_lock_win.h", + "source/sleep.cc", + "source/timestamp_extrapolator.cc", + ] + + defines = [] + libs = [] + deps = [ + "..:webrtc_common", + "../api:optional", + "../modules:module_api_public", + ] + public_deps = [ + ":cpu_features_api", + ":field_trial_api", + ":metrics_api", + ] + + if (is_android) { + defines += [ "WEBRTC_THREAD_RR" ] + + if (build_with_mozilla) { + include_dirs = [ + "/config/external/nspr", + "/nsprpub/lib/ds", + "/nsprpub/pr/include", + ] + } else { + deps += [ ":cpu_features_android" ] + } + + libs += [ "log" ] + } + + if (is_linux) { + defines += [ "WEBRTC_THREAD_RR" ] + + if (!build_with_chromium) { + deps += [ ":cpu_features_linux" ] + } + + libs += [ "rt" ] + } + + if (is_ios || is_mac || is_bsd) { + defines += [ "WEBRTC_THREAD_RR" ] + } + + # TODO(jschuh): Bug 1348: fix this warning. + configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] + + if (is_win) { + libs += [ "winmm.lib" ] + + cflags = [ "/wd4334" ] # Ignore warning on shift operator promotion. + + # Windows needs ../rtc_base:rtc_base due to include of + # webrtc/rtc_base/win32.h in source/clock.cc. + # TODO(kjellander): Remove (bugs.webrtc.org/6828) + deps += [ "../rtc_base:rtc_base" ] + } + + if (is_win && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + + deps += [ + "../rtc_base:rtc_base_approved", + "../rtc_base:rtc_numerics", + ] +} + +rtc_source_set("cpu_features_api") { + sources = [ + "include/cpu_features_wrapper.h", + ] + deps = [ + "..:webrtc_common", + ] +} + +rtc_source_set("asm_defines") { + sources = [ + "include/asm_defines.h", + ] +} + +rtc_source_set("field_trial_api") { + sources = [ + "include/field_trial.h", + ] +} + +rtc_source_set("metrics_api") { + sources = [ + "include/metrics.h", + ] + deps = [ + "..:webrtc_common", + "../rtc_base:rtc_base_approved", + ] +} + +rtc_source_set("field_trial_default") { + sources = [ + "include/field_trial_default.h", + "source/field_trial_default.cc", + ] + deps = [ + ":field_trial_api", + ] +} + +rtc_source_set("metrics_default") { + sources = [ + "include/metrics_default.h", + "source/metrics_default.cc", + ] + deps = [ + ":metrics_api", + "../rtc_base:rtc_base_approved", + ] +} + +group("system_wrappers_default") { + deps = [ + ":field_trial_default", + ":metrics_default", + ":system_wrappers", + ] +} + +if (is_android && !build_with_mozilla) { + rtc_static_library("cpu_features_android") { + sources = [ + "source/cpu_features_android.c", + ] + + deps = [ + "//third_party/android_tools:cpu_features", + ] + } +} + +if (is_linux) { + rtc_static_library("cpu_features_linux") { + sources = [ + "source/cpu_features_linux.c", + ] + deps = [ + ":cpu_features_api", + ] + } +} + +if (rtc_include_tests) { + rtc_test("system_wrappers_unittests") { + testonly = true + sources = [ + "source/aligned_array_unittest.cc", + "source/aligned_malloc_unittest.cc", + "source/clock_unittest.cc", + "source/event_timer_posix_unittest.cc", + "source/metrics_default_unittest.cc", + "source/metrics_unittest.cc", + "source/ntp_time_unittest.cc", + "source/rtp_to_ntp_estimator_unittest.cc", + ] + configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] + + if (!build_with_chromium && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } + + deps = [ + ":metrics_default", + ":system_wrappers", + "..:webrtc_common", + "../rtc_base:rtc_base_approved", + "../test:test_main", + "//testing/gtest", + ] + + if (is_android) { + deps += [ "//testing/android/native_test:native_test_support" ] + + shard_timeout = 900 + } + } +} |