blob: f48cd0bfe61b77111d8bc4d4829f0526932a5661 [file]
# 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")
rtc_library("data_rate") {
visibility = [ "*" ]
sources = [
"data_rate.cc",
"data_rate.h",
]
deps = [
":data_size",
":frequency",
":time_delta",
"../../rtc_base:checks",
"../../rtc_base:stringutils",
"../../rtc_base/system:rtc_export",
"../../rtc_base/units:unit_base",
]
}
rtc_library("data_size") {
visibility = [ "*" ]
sources = [
"data_size.cc",
"data_size.h",
]
deps = [
"../../rtc_base:stringutils",
"../../rtc_base/system:rtc_export",
"../../rtc_base/units:unit_base",
]
}
rtc_library("time_delta") {
visibility = [ "*" ]
sources = [
"time_delta.cc",
"time_delta.h",
]
deps = [
"../../rtc_base:stringutils",
"../../rtc_base/system:rtc_export",
"../../rtc_base/units:unit_base",
]
}
rtc_library("frequency") {
visibility = [ "*" ]
sources = [
"frequency.cc",
"frequency.h",
]
deps = [
":time_delta",
"../../rtc_base:checks",
"../../rtc_base:stringutils",
"../../rtc_base/system:rtc_export",
"../../rtc_base/units:unit_base",
]
}
rtc_library("timestamp") {
visibility = [ "*" ]
sources = [
"timestamp.cc",
"timestamp.h",
]
deps = [
":time_delta",
"../../rtc_base:checks",
"../../rtc_base:stringutils",
"../../rtc_base/system:rtc_export",
"../../rtc_base/units:unit_base",
]
}
if (rtc_include_tests) {
rtc_library("units_unittests") {
testonly = true
sources = [
"data_rate_unittest.cc",
"data_size_unittest.cc",
"frequency_unittest.cc",
"time_delta_unittest.cc",
"timestamp_unittest.cc",
]
deps = [
":data_rate",
":data_size",
":frequency",
":time_delta",
":timestamp",
"../../rtc_base:checks",
"../../rtc_base:logging",
"../../test:test_support",
"//third_party/abseil-cpp/absl/strings",
]
if (rtc_rust) {
deps += [ ":units_rs_bridge_unittests" ]
}
}
}
if (rtc_rust) {
rtc_rust_cxx_bridge("units_ffi") {
source = "units_ffi.rs"
deps = [
":time_delta",
":time_delta_rs",
":timestamp",
":timestamp_rs",
"//build/rust:cxx_rustdeps",
]
}
rtc_rust_library("time_delta_rs") {
allow_unsafe = true
crate_root = "time_delta.rs"
sources = [ "time_delta.rs" ]
deps = [
":time_delta",
"//build/rust:cxx_rustdeps",
]
}
rtc_rust_library("timestamp_rs") {
allow_unsafe = true
crate_root = "timestamp.rs"
sources = [ "timestamp.rs" ]
deps = [
":time_delta_rs",
":timestamp",
"//build/rust:cxx_rustdeps",
]
}
if (rtc_include_tests) {
rtc_rust_unittest("time_delta_rs_unittests") {
allow_unsafe = true
crate_root = "time_delta.rs"
sources = [ "time_delta.rs" ]
deps = [
":time_delta",
"//build/rust:cxx_cppdeps",
"//build/rust:cxx_rustdeps",
]
}
rtc_rust_unittest("timestamp_rs_unittests") {
allow_unsafe = true
crate_root = "timestamp.rs"
sources = [ "timestamp.rs" ]
deps = [
":time_delta_rs",
":timestamp",
"//build/rust:cxx_cppdeps",
"//build/rust:cxx_rustdeps",
]
}
rtc_rust_test_suite("units_rust_unit_tests") {
deps = [
":time_delta_rs_unittests",
":timestamp_rs_unittests",
]
}
rtc_rust_library("demo_unit_interop_impl") {
allow_unsafe = true
crate_root = "demo_unit_interop.rs"
sources = [ "demo_unit_interop.rs" ]
deps = [
":time_delta_rs",
":timestamp_rs",
"//build/rust:cxx_rustdeps",
]
}
rtc_rust_cxx_bridge("demo_unit_interop") {
allow_unsafe = true
source = "demo_unit_interop.rs"
deps = [
":demo_unit_interop_impl",
":time_delta",
":time_delta_rs",
":timestamp",
":timestamp_rs",
"//third_party/abseil-cpp/absl/strings",
]
}
rtc_library("units_rs_bridge_unittests") {
testonly = true
sources = [ "units_rs_bridge_unittest.cc" ]
deps = [
":demo_unit_interop",
":time_delta",
":timestamp",
"../../test:test_support",
]
}
}
}