Fix iOS GN build and cleanup system_wrappers

Compile fixes for GN on iOS that finally gets our bots green.

Changes to system_wrappers:
* Updated to only use inclusive sources for maintainability
* Add a few missing GN headers.
* Cleanup GYP hack for atomic32_mac.cc
* Renamed changes sources to avoid problems with GYP/GN file
   suffix rules:
  - atomic32_mac.cc -> atomic32_darwin.cc
  - atomic32_posix.cc -> atomic32_non_darwin_unix.cc
See https://code.google.com/p/chromium/codesearch#chromium/src/build/config/BUILDCONFIG.gn&l=325
for details on which extensions can/cannot be used.

BUG=webrtc:5586
NOTRY=True

Review-Url: https://codereview.webrtc.org/1999723002
Cr-Commit-Position: refs/heads/master@{#12897}
This commit is contained in:
kjellander
2016-05-25 11:37:11 -07:00
committed by Commit bot
parent a4463bcd07
commit 080a1e3fa6
10 changed files with 90 additions and 50 deletions

View File

@ -151,6 +151,11 @@ source_set("webrtc_h264") {
"../../system_wrappers",
]
if (is_ios) {
sources += [ "codecs/h264/h264_objc.mm" ]
deps += [ ":webrtc_h264_video_toolbox" ]
}
if (rtc_use_h264) {
defines += [ "WEBRTC_USE_H264" ]
if (rtc_initialize_ffmpeg) {
@ -170,8 +175,52 @@ source_set("webrtc_h264") {
}
}
# TODO(tkchin): Source set for webrtc_h264_video_toolbox. Currently not
# possible to add, see https://crbug.com/297668.
if (is_ios) {
source_set("webrtc_h264_video_toolbox") {
sources = [
"codecs/h264/h264_video_toolbox_decoder.cc",
"codecs/h264/h264_video_toolbox_decoder.h",
"codecs/h264/h264_video_toolbox_encoder.cc",
"codecs/h264/h264_video_toolbox_encoder.h",
"codecs/h264/h264_video_toolbox_nalu.cc",
"codecs/h264/h264_video_toolbox_nalu.h",
]
configs += [ "//build/config/compiler:enable_arc" ]
cflags = [ "-Wobjc-missing-property-synthesis" ]
precompiled_header = "../../sdk/objc/WebRTC-Prefix.pch"
precompiled_source = "../../sdk/objc/WebRTC-Prefix.pch"
deps = [
"../../sdk:rtc_sdk_common_objc",
]
libs = [
"CoreFoundation.framework",
"CoreMedia.framework",
"CoreVideo.framework",
"VideoToolbox.framework",
]
if (is_clang) {
# Suppress warnings from Chrome's Clang plugins.
# See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
configs -= [ "//build/config/clang:find_bad_constructs" ]
}
if (rtc_build_libyuv) {
deps += [ "$rtc_libyuv_dir" ]
public_deps = [
"$rtc_libyuv_dir",
]
} else {
# Need to add a directory normally exported by libyuv.
include_dirs += [ "$rtc_libyuv_dir/include" ]
}
}
}
source_set("webrtc_i420") {
sources = [