Decoupling rtc_base_approved from Obj-C code
The goal of this CL is to separate Obj-C/Obj-C++ code from targets which have also C++ code (see https://bugs.chromium.org/p/webrtc/issues/detail?id=7743 for more information). To achieve this we have created 2 targets (rtc_base_approved_objc and rtc_base_approved_generic) and rtc_base_approved will act as a proxy between these targets (this way we can avoid a circular dependency between rtc_base_approved_generic and rtc_base_approved_objc). BUG=webrtc:7743 NOTRY=True Review-Url: https://codereview.webrtc.org/2988433002 Cr-Commit-Position: refs/heads/master@{#19767}
This commit is contained in:
parent
0677904e1b
commit
bc37847978
@ -31,12 +31,6 @@ group("base") {
|
||||
}
|
||||
}
|
||||
|
||||
config("rtc_base_approved_all_dependent_config") {
|
||||
if (is_mac && !build_with_chromium) {
|
||||
libs = [ "Foundation.framework" ] # needed for logging_mac.mm
|
||||
}
|
||||
}
|
||||
|
||||
config("rtc_base_chromium_config") {
|
||||
defines = [ "NO_MAIN_THREAD_WRAPPING" ]
|
||||
}
|
||||
@ -86,8 +80,22 @@ source_set("compile_assert_c") {
|
||||
]
|
||||
}
|
||||
|
||||
rtc_source_set("rtc_base_approved") {
|
||||
public_deps = [
|
||||
":rtc_base_approved_generic",
|
||||
]
|
||||
if (is_mac && !build_with_chromium) {
|
||||
public_deps += [ ":rtc_base_approved_objc" ]
|
||||
}
|
||||
}
|
||||
|
||||
# The subset of rtc_base approved for use outside of libjingle.
|
||||
rtc_static_library("rtc_base_approved") {
|
||||
rtc_source_set("rtc_base_approved_generic") {
|
||||
visibility = [
|
||||
":rtc_base_approved",
|
||||
":rtc_base_approved_objc",
|
||||
]
|
||||
|
||||
# TODO(kjellander): Remove (bugs.webrtc.org/7480)
|
||||
# Enabling GN check triggers a cyclic dependency caused by rate_limiter.cc:
|
||||
# :rtc_base_approved -> ../system_wrappers -> :rtc_base_approved
|
||||
@ -95,7 +103,6 @@ rtc_static_library("rtc_base_approved") {
|
||||
defines = []
|
||||
libs = []
|
||||
deps = []
|
||||
all_dependent_configs = [ ":rtc_base_approved_all_dependent_config" ]
|
||||
|
||||
sources = [
|
||||
"array_view.h",
|
||||
@ -209,7 +216,6 @@ rtc_static_library("rtc_base_approved") {
|
||||
sources += [
|
||||
"logging.cc",
|
||||
"logging.h",
|
||||
"logging_mac.mm",
|
||||
]
|
||||
}
|
||||
if (is_component_build && is_win) {
|
||||
@ -289,6 +295,24 @@ rtc_static_library("rtc_base_approved") {
|
||||
}
|
||||
}
|
||||
|
||||
if (is_mac && !build_with_chromium) {
|
||||
config("rtc_base_approved_objc_all_dependent_config") {
|
||||
visibility = [ ":rtc_base_approved_objc" ]
|
||||
libs = [ "Foundation.framework" ] # needed for logging_mac.mm
|
||||
}
|
||||
|
||||
rtc_source_set("rtc_base_approved_objc") {
|
||||
visibility = [ ":rtc_base_approved" ]
|
||||
all_dependent_configs = [ ":rtc_base_approved_objc_all_dependent_config" ]
|
||||
sources = [
|
||||
"logging_mac.mm",
|
||||
]
|
||||
deps = [
|
||||
":rtc_base_approved_generic",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
rtc_source_set("rtc_task_queue") {
|
||||
deps = [
|
||||
":rtc_base_approved",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user