From 1bd9553d2e02197666a571b3b987c9f189495666 Mon Sep 17 00:00:00 2001 From: tkchin Date: Wed, 23 Mar 2016 13:19:18 -0700 Subject: [PATCH] Add visibility flag to GYP. BUG= Review URL: https://codereview.webrtc.org/1826453004 Cr-Commit-Position: refs/heads/master@{#12108} --- webrtc/build/common.gypi | 12 ++++++++++++ webrtc/build/ios/build_ios_libs.sh | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/webrtc/build/common.gypi b/webrtc/build/common.gypi index a349d11088..6ec0f1c942 100644 --- a/webrtc/build/common.gypi +++ b/webrtc/build/common.gypi @@ -141,6 +141,12 @@ # Enabling this may break interop with Android clients that support H264. 'use_objc_h264%': 0, + # Enable this to prevent extern symbols from being hidden on iOS builds. + # The chromium settings we inherit hide symbols by default on Release + # builds. We want our symbols to be visible when distributing WebRTC via + # static libraries to avoid linker warnings. + 'ios_override_visibility%': 0, + # Determines whether QUIC code will be built. 'use_quic%': 0, @@ -380,6 +386,12 @@ 'WEBRTC_IOS', ], }], + ['OS=="ios" and ios_override_visibility==1', { + 'xcode_settings': { + 'GCC_INLINES_ARE_PRIVATE_EXTERN': 'NO', + 'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO', + } + }], ['OS=="ios" and use_objc_h264==1', { 'defines': [ 'WEBRTC_OBJC_H264', diff --git a/webrtc/build/ios/build_ios_libs.sh b/webrtc/build/ios/build_ios_libs.sh index 1d920a49ba..5d6157aab2 100755 --- a/webrtc/build/ios/build_ios_libs.sh +++ b/webrtc/build/ios/build_ios_libs.sh @@ -57,7 +57,7 @@ function build_webrtc { FLAVOR="${FLAVOR}-iphonesimulator" fi export GYP_DEFINES="OS=ios target_arch=${TARGET_ARCH} use_objc_h264=1 \ -clang_xcode=1" +clang_xcode=1 ios_override_visibility=1" export GYP_GENERATORS="ninja" export GYP_GENERATOR_FLAGS="output_dir=${OUTPUT_DIR}" webrtc/build/gyp_webrtc webrtc/build/ios/merge_ios_libs.gyp