Reland of Decoupling rtc_base from Obj-C code (patchset #1 id:1 of https://codereview.webrtc.org/3008103002/ )
Reason for revert:
Trying to reland after fixing downstream project.
Original issue's description:
> Revert of Decoupling rtc_base from Obj-C code (patchset #8 id:140001 of https://codereview.webrtc.org/3001623003/ )
>
> Reason for revert:
> It breaks a downstream project.
>
> Original issue's description:
> > Decoupling rtc_base 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_objc and rtc_base_generic)
> > and rtc_base will act as a proxy between these targets (this way we can avoid a
> > circular dependency between rtc_base_generic and rtc_base_objc).
> >
> > BUG=webrtc:7743
> >
> > Review-Url: https://codereview.webrtc.org/3001623003
> > Cr-Commit-Position: refs/heads/master@{#19661}
> > Committed: https://chromium.googlesource.com/external/webrtc/+/a0a5b98937de0f0bf90e17011d2cbc8c632cb409
>
> TBR=kjellander@webrtc.org,kwiberg@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7743
>
> Review-Url: https://codereview.webrtc.org/3008103002
> Cr-Commit-Position: refs/heads/master@{#19664}
> Committed: https://chromium.googlesource.com/external/webrtc/+/791a8f611da8cc6b0668ccc03bf7525e6ba72a46
TBR=kjellander@webrtc.org,kwiberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7743
Review-Url: https://codereview.webrtc.org/3004373002
Cr-Commit-Position: refs/heads/master@{#19681}
diff --git a/webrtc/rtc_base/BUILD.gn b/webrtc/rtc_base/BUILD.gn
index 1914b27..3cb7766 100644
--- a/webrtc/rtc_base/BUILD.gn
+++ b/webrtc/rtc_base/BUILD.gn
@@ -429,7 +429,28 @@
}
}
-rtc_static_library("rtc_base") {
+rtc_source_set("rtc_base") {
+ public_deps = [
+ ":rtc_base_generic",
+ ]
+ if (is_ios || is_mac) {
+ public_deps += [ ":rtc_base_objc" ]
+ }
+}
+
+if (is_ios || is_mac) {
+ rtc_source_set("rtc_base_objc") {
+ sources = [
+ "thread_darwin.mm",
+ ]
+ deps = [
+ ":rtc_base_generic",
+ ]
+ visibility = [ ":rtc_base" ]
+ }
+}
+
+rtc_source_set("rtc_base_generic") {
cflags = []
cflags_cc = []
libs = []
@@ -538,6 +559,11 @@
"thread.h",
]
+ visibility = [
+ ":rtc_base",
+ ":rtc_base_objc",
+ ]
+
# TODO(henrike): issue 3307, make rtc_base build with the Chromium default
# compiler settings.
suppressed_configs += [ "//build/config/compiler:chromium_code" ]
@@ -597,10 +623,7 @@
}
if (is_ios || is_mac) {
- sources += [
- "macifaddrs_converter.cc",
- "thread_darwin.mm",
- ]
+ sources += [ "macifaddrs_converter.cc" ]
}
if (use_x11) {