From fafd6d850d0710e7279901dda94b67cba5996aba Mon Sep 17 00:00:00 2001 From: mbonadei Date: Wed, 3 May 2017 05:56:30 -0700 Subject: [PATCH] Reland of Extract iOS SDK helpers to separate target. (patchset #1 id:1 of https://codereview.webrtc.org/2853273002/ ) Reason for revert: Trying to reland after: https://codereview.webrtc.org/2855103003. Original issue's description: > Revert of Extract iOS SDK helpers to separate target. (patchset #3 id:40001 of https://codereview.webrtc.org/2849823002/ ) > > Reason for revert: > https://chromium.googlesource.com/external/webrtc/+/3c1e558449309be965815e1bf... > > I suspect this breaks Chrome ios. > https://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bu... > https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.mac%2... > > Undefined symbols for architecture x86_64: > "base::allocator::g_replaced_default_zone", referenced from: > base::allocator::IsAllocatorInitialized() in libbase.a(allocator_check.o) > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see invocation) > Traceback (most recent call last): > File "../../build/toolchain/mac/linker_driver.py", line 229, in > Main(sys.argv) > File "../../build/toolchain/mac/linker_driver.py", line 79, in Main > subprocess.check_call(compiler_driver_args) > File > "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", > line 540, in check_call > raise CalledProcessError(retcode, cmd) > > Original issue's description: > > Extract iOS SDK helpers to separate target. > > > > This will reduce the redundant objects built > > in Chromium when opening up test_support for the fuzzer > > tests. > > > > BUG=webrtc:6828 > > NOTRY=True > > > > Review-Url: https://codereview.webrtc.org/2849823002 > > Cr-Commit-Position: refs/heads/master@{#17972} > > Committed: https://chromium.googlesource.com/external/webrtc/+/3c1e558449309be965815e1bf67d2391500343ce > > TBR=mbonadei@webrtc.org,kjellander@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:6828 > > Review-Url: https://codereview.webrtc.org/2853273002 > Cr-Commit-Position: refs/heads/master@{#17979} > Committed: https://chromium.googlesource.com/external/webrtc/+/80e230239ebcb09c6e31b6b50ca1e61ae49ef1fb TBR=kjellander@webrtc.org,perkj@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:6828 Review-Url: https://codereview.webrtc.org/2852323003 Cr-Commit-Position: refs/heads/master@{#17992} --- webrtc/modules/audio_device/BUILD.gn | 1 + webrtc/sdk/BUILD.gn | 28 +++++++++++++++++++++------- webrtc/test/BUILD.gn | 2 ++ 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/webrtc/modules/audio_device/BUILD.gn b/webrtc/modules/audio_device/BUILD.gn index ab0b4f5b32..f5abb1b281 100644 --- a/webrtc/modules/audio_device/BUILD.gn +++ b/webrtc/modules/audio_device/BUILD.gn @@ -176,6 +176,7 @@ rtc_static_library("audio_device") { public_deps = [ "../../base:rtc_base", "../../sdk:rtc_sdk_common_objc", + "../../sdk:rtc_sdk_helpers_objc", ] sources += [ "ios/audio_device_ios.h", diff --git a/webrtc/sdk/BUILD.gn b/webrtc/sdk/BUILD.gn index 5596af09fc..1b27218745 100644 --- a/webrtc/sdk/BUILD.gn +++ b/webrtc/sdk/BUILD.gn @@ -27,6 +27,21 @@ if (is_ios || is_mac) { ] } + rtc_static_library("rtc_sdk_helpers_objc") { + sources = [ + "objc/Framework/Classes/helpers.h", + "objc/Framework/Classes/helpers.mm", + ] + deps = [ + "../base:rtc_base_approved", + ] + configs += [ "..:common_objc" ] + + if (is_ios) { + libs = [ "AVFoundation.framework" ] + } + } + rtc_static_library("rtc_sdk_common_objc") { sources = [ "objc/Framework/Classes/NSString+StdString.h", @@ -39,8 +54,6 @@ if (is_ios || is_mac) { "objc/Framework/Classes/RTCMetricsSampleInfo.mm", "objc/Framework/Classes/RTCSSLAdapter.mm", "objc/Framework/Classes/RTCTracing.mm", - "objc/Framework/Classes/helpers.h", - "objc/Framework/Classes/helpers.mm", "objc/Framework/Headers/WebRTC/RTCDispatcher.h", "objc/Framework/Headers/WebRTC/RTCFieldTrials.h", "objc/Framework/Headers/WebRTC/RTCLogging.h", @@ -52,6 +65,7 @@ if (is_ios || is_mac) { ] deps = [ + ":rtc_sdk_helpers_objc", "../base:rtc_base", ] configs += [ "..:common_objc" ] @@ -285,7 +299,7 @@ if (is_ios || is_mac) { # gets additional generated targets which would require many lines here to # cover (which would be confusing to read and hard to maintain). if (!is_android && !is_ios) { - visibility = [ "//webrtc:rtc_unittests" ] + visibility = [ "../:rtc_unittests" ] } sources = [ "objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm", @@ -316,9 +330,9 @@ if (is_ios || is_mac) { defines = [ "GTEST_RELATIVE_PATH" ] deps = [ ":rtc_sdk_peerconnection_objc", + "..//system_wrappers:system_wrappers_default", "../base:rtc_base_tests_utils", "//third_party/ocmock", - "//webrtc/system_wrappers:system_wrappers_default", ] if (!build_with_chromium && is_clang) { @@ -420,8 +434,8 @@ if (is_ios || is_mac) { complete_static_lib = true deps = [ ":rtc_sdk_peerconnection_objc", - "//webrtc/system_wrappers:field_trial_default", - "//webrtc/system_wrappers:metrics_default", + "..//system_wrappers:field_trial_default", + "..//system_wrappers:metrics_default", ] } @@ -435,7 +449,7 @@ if (is_ios || is_mac) { "objc/Framework/Classes/h264_video_toolbox_nalu.h", ] - configs += [ "//webrtc:common_objc" ] + configs += [ "../:common_objc" ] deps = [ ":rtc_sdk_common_objc", diff --git a/webrtc/test/BUILD.gn b/webrtc/test/BUILD.gn index 4682b7dcad..0a4c2e1aa7 100644 --- a/webrtc/test/BUILD.gn +++ b/webrtc/test/BUILD.gn @@ -314,8 +314,10 @@ rtc_source_set("fileutils") { "testsupport/fileutils.cc", "testsupport/fileutils.h", ] + deps = [] if (is_ios) { sources += [ "testsupport/iosfileutils.mm" ] + deps += [ "../sdk:rtc_sdk_helpers_objc" ] } visibility = [ ":*" ] }