OLD | NEW |
---|---|
1 # Copyright 2016 The WebRTC project authors. All Rights Reserved. | 1 # Copyright 2016 The WebRTC project authors. All Rights Reserved. |
2 # | 2 # |
3 # Use of this source code is governed by a BSD-style license | 3 # Use of this source code is governed by a BSD-style license |
4 # that can be found in the LICENSE file in the root of the source | 4 # that can be found in the LICENSE file in the root of the source |
5 # tree. An additional intellectual property rights grant can be found | 5 # tree. An additional intellectual property rights grant can be found |
6 # in the file PATENTS. All contributing project authors may | 6 # in the file PATENTS. All contributing project authors may |
7 # be found in the AUTHORS file in the root of the source tree. | 7 # be found in the AUTHORS file in the root of the source tree. |
8 | 8 |
9 import("../build/webrtc.gni") | 9 import("../build/webrtc.gni") |
10 import("//build_overrides/webrtc.gni") | 10 import("//build_overrides/webrtc.gni") |
11 import("//build/config/mac/mac_sdk.gni") | |
11 | 12 |
12 if (is_ios) { | 13 if (is_ios || (is_mac && mac_deployment_target == "10.7")) { |
13 config("rtc_sdk_common_objc_config") { | 14 config("rtc_sdk_common_objc_config") { |
14 include_dirs = [ | 15 include_dirs = [ |
15 "objc/Framework/Classes", | 16 "objc/Framework/Classes", |
16 "objc/Framework/Headers", | 17 "objc/Framework/Headers", |
17 ] | 18 ] |
18 } | 19 } |
19 | 20 |
20 source_set("rtc_sdk_common_objc") { | 21 source_set("rtc_sdk_common_objc") { |
21 deps = [ | 22 deps = [ |
22 "../base:rtc_base", | 23 "../base:rtc_base", |
23 ] | 24 ] |
24 cflags = [ "-fobjc-arc" ] | 25 configs += [ |
25 configs += [ "..:common_config" ] | 26 "..:common_config", |
27 "//build/config/compiler:enable_arc", | |
28 ] | |
26 public_configs = [ | 29 public_configs = [ |
27 "..:common_inherited_config", | 30 "..:common_inherited_config", |
28 ":rtc_sdk_common_objc_config", | 31 ":rtc_sdk_common_objc_config", |
29 ] | 32 ] |
30 sources = [ | 33 sources = [ |
31 "objc/Framework/Classes/NSString+StdString.h", | 34 "objc/Framework/Classes/NSString+StdString.h", |
32 "objc/Framework/Classes/NSString+StdString.mm", | 35 "objc/Framework/Classes/NSString+StdString.mm", |
33 "objc/Framework/Classes/RTCCameraPreviewView.m", | |
34 "objc/Framework/Classes/RTCDispatcher.m", | 36 "objc/Framework/Classes/RTCDispatcher.m", |
35 "objc/Framework/Classes/RTCFieldTrials.mm", | 37 "objc/Framework/Classes/RTCFieldTrials.mm", |
36 "objc/Framework/Classes/RTCLogging.mm", | 38 "objc/Framework/Classes/RTCLogging.mm", |
37 "objc/Framework/Classes/RTCSSLAdapter.mm", | 39 "objc/Framework/Classes/RTCSSLAdapter.mm", |
38 "objc/Framework/Classes/RTCTracing.mm", | 40 "objc/Framework/Classes/RTCTracing.mm", |
39 "objc/Framework/Classes/RTCUIApplication.h", | |
40 "objc/Framework/Classes/RTCUIApplication.mm", | |
41 "objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h", | |
42 "objc/Framework/Headers/WebRTC/RTCDispatcher.h", | 41 "objc/Framework/Headers/WebRTC/RTCDispatcher.h", |
43 "objc/Framework/Headers/WebRTC/RTCFieldTrials.h", | 42 "objc/Framework/Headers/WebRTC/RTCFieldTrials.h", |
44 "objc/Framework/Headers/WebRTC/RTCLogging.h", | 43 "objc/Framework/Headers/WebRTC/RTCLogging.h", |
45 "objc/Framework/Headers/WebRTC/RTCMacros.h", | 44 "objc/Framework/Headers/WebRTC/RTCMacros.h", |
46 "objc/Framework/Headers/WebRTC/RTCSSLAdapter.h", | 45 "objc/Framework/Headers/WebRTC/RTCSSLAdapter.h", |
47 "objc/Framework/Headers/WebRTC/RTCTracing.h", | 46 "objc/Framework/Headers/WebRTC/RTCTracing.h", |
48 ] | 47 ] |
48 if (is_ios) { | |
49 sources += [ | |
50 "objc/Framework/Classes/RTCCameraPreviewView.m", | |
51 "objc/Framework/Classes/RTCUIApplication.h", | |
52 "objc/Framework/Classes/RTCUIApplication.mm", | |
53 "objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h", | |
54 ] | |
55 libs = [ "AVFoundation.framework" ] | |
56 } | |
49 if (!build_with_chromium) { | 57 if (!build_with_chromium) { |
50 sources += [ | 58 sources += [ |
51 "objc/Framework/Classes/RTCFileLogger.mm", | 59 "objc/Framework/Classes/RTCFileLogger.mm", |
52 "objc/Framework/Headers/WebRTC/RTCFileLogger.h", | 60 "objc/Framework/Headers/WebRTC/RTCFileLogger.h", |
53 ] | 61 ] |
54 } | 62 } |
55 libs = [ "AVFoundation.framework" ] | |
56 } | 63 } |
57 | 64 |
58 source_set("rtc_sdk_peerconnection_objc") { | 65 source_set("rtc_sdk_peerconnection_objc") { |
59 deps = [ | |
60 ":rtc_sdk_common_objc", | |
61 #"../../talk/libjingle:libjingle_peerconnection", | |
62 ] | |
63 configs += [ "//build/config/compiler:enable_arc" ] | |
64 cflags = [ "-Wobjc-missing-property-synthesis" ] | |
65 sources = [ | 66 sources = [ |
66 # Add these when there's a BUILD.gn for peer connection APIs | 67 "objc/Framework/Classes/RTCAudioTrack+Private.h", |
67 #"objc/Framework/Classes/RTCAVFoundationVideoSource+Private.h", | 68 "objc/Framework/Classes/RTCAudioTrack.mm", |
68 #"objc/Framework/Classes/RTCAVFoundationVideoSource.mm", | 69 "objc/Framework/Classes/RTCConfiguration+Private.h", |
69 #"objc/Framework/Classes/RTCAudioTrack+Private.h", | 70 "objc/Framework/Classes/RTCConfiguration.mm", |
70 #"objc/Framework/Classes/RTCAudioTrack.mm", | 71 "objc/Framework/Classes/RTCDataChannel+Private.h", |
71 #"objc/Framework/Classes/RTCConfiguration+Private.h", | 72 "objc/Framework/Classes/RTCDataChannel.mm", |
72 #"objc/Framework/Classes/RTCConfiguration.mm", | 73 "objc/Framework/Classes/RTCDataChannelConfiguration+Private.h", |
73 #"objc/Framework/Classes/RTCDataChannel+Private.h", | 74 "objc/Framework/Classes/RTCDataChannelConfiguration.mm", |
74 #"objc/Framework/Classes/RTCDataChannel.mm", | 75 "objc/Framework/Classes/RTCIceCandidate+Private.h", |
75 #"objc/Framework/Classes/RTCDataChannelConfiguration+Private.h", | 76 "objc/Framework/Classes/RTCIceCandidate.mm", |
76 #"objc/Framework/Classes/RTCDataChannelConfiguration.mm", | 77 "objc/Framework/Classes/RTCIceServer+Private.h", |
77 #"objc/Framework/Classes/RTCIceCandidate+Private.h", | 78 "objc/Framework/Classes/RTCIceServer.mm", |
78 #"objc/Framework/Classes/RTCIceCandidate.mm", | 79 "objc/Framework/Classes/RTCMediaConstraints+Private.h", |
79 #"objc/Framework/Classes/RTCIceServer+Private.h", | 80 "objc/Framework/Classes/RTCMediaConstraints.mm", |
80 #"objc/Framework/Classes/RTCIceServer.mm", | 81 "objc/Framework/Classes/RTCMediaStream+Private.h", |
81 #"objc/Framework/Classes/RTCMediaConstraints+Private.h", | 82 "objc/Framework/Classes/RTCMediaStream.mm", |
82 #"objc/Framework/Classes/RTCMediaConstraints.mm", | 83 "objc/Framework/Classes/RTCMediaStreamTrack+Private.h", |
83 #"objc/Framework/Classes/RTCMediaStream+Private.h", | 84 "objc/Framework/Classes/RTCMediaStreamTrack.mm", |
84 #"objc/Framework/Classes/RTCMediaStream.mm", | 85 "objc/Framework/Classes/RTCOpenGLVideoRenderer.h", |
85 #"objc/Framework/Classes/RTCMediaStreamTrack+Private.h", | 86 "objc/Framework/Classes/RTCOpenGLVideoRenderer.mm", |
86 #"objc/Framework/Classes/RTCMediaStreamTrack.mm", | 87 "objc/Framework/Classes/RTCPeerConnection+DataChannel.mm", |
87 #"objc/Framework/Classes/RTCOpenGLVideoRenderer.mm", | 88 "objc/Framework/Classes/RTCPeerConnection+Private.h", |
88 #"objc/Framework/Classes/RTCPeerConnection+Private.h", | 89 "objc/Framework/Classes/RTCPeerConnection+Stats.mm", |
89 #"objc/Framework/Classes/RTCPeerConnection.mm", | 90 "objc/Framework/Classes/RTCPeerConnection.mm", |
90 #"objc/Framework/Classes/RTCPeerConnectionFactory+Private.h", | 91 "objc/Framework/Classes/RTCPeerConnectionFactory+Private.h", |
91 #"objc/Framework/Classes/RTCPeerConnectionFactory.mm", | 92 "objc/Framework/Classes/RTCPeerConnectionFactory.mm", |
92 #"objc/Framework/Classes/RTCRtpEncodingParameters+Private.h", | 93 "objc/Framework/Classes/RTCRtpCodecParameters+Private.h", |
93 #"objc/Framework/Classes/RTCRtpEncodingParameters.mm", | 94 "objc/Framework/Classes/RTCRtpCodecParameters.mm", |
94 #"objc/Framework/Classes/RTCRtpParameters+Private.h", | 95 "objc/Framework/Classes/RTCRtpEncodingParameters+Private.h", |
95 #"objc/Framework/Classes/RTCRtpParameters.mm", | 96 "objc/Framework/Classes/RTCRtpEncodingParameters.mm", |
96 #"objc/Framework/Classes/RTCRtpReceiver+Private.h", | 97 "objc/Framework/Classes/RTCRtpParameters+Private.h", |
97 #"objc/Framework/Classes/RTCRtpReceiver.mm", | 98 "objc/Framework/Classes/RTCRtpParameters.mm", |
98 #"objc/Framework/Classes/RTCRtpSender+Private.h", | 99 "objc/Framework/Classes/RTCRtpReceiver+Private.h", |
99 #"objc/Framework/Classes/RTCRtpSender.mm", | 100 "objc/Framework/Classes/RTCRtpReceiver.mm", |
100 #"objc/Framework/Classes/RTCSessionDescription+Private.h", | 101 "objc/Framework/Classes/RTCRtpSender+Private.h", |
101 #"objc/Framework/Classes/RTCSessionDescription.mm", | 102 "objc/Framework/Classes/RTCRtpSender.mm", |
102 #"objc/Framework/Classes/RTCStatsReport+Private.h", | 103 "objc/Framework/Classes/RTCSessionDescription+Private.h", |
103 #"objc/Framework/Classes/RTCStatsReport.mm", | 104 "objc/Framework/Classes/RTCSessionDescription.mm", |
104 #"objc/Framework/Classes/RTCVideoFrame+Private.h", | 105 "objc/Framework/Classes/RTCStatsReport+Private.h", |
105 #"objc/Framework/Classes/RTCVideoFrame.mm", | 106 "objc/Framework/Classes/RTCStatsReport.mm", |
106 #"objc/Framework/Classes/RTCVideoRendererAdapter+Private.h", | 107 "objc/Framework/Classes/RTCVideoFrame+Private.h", |
107 #"objc/Framework/Classes/RTCVideoRendererAdapter.h", | 108 "objc/Framework/Classes/RTCVideoFrame.mm", |
108 #"objc/Framework/Classes/RTCVideoRendererAdapter.mm", | 109 "objc/Framework/Classes/RTCVideoRendererAdapter+Private.h", |
109 #"objc/Framework/Classes/RTCVideoSource+Private.h", | 110 "objc/Framework/Classes/RTCVideoRendererAdapter.h", |
110 #"objc/Framework/Classes/RTCVideoSource.mm", | 111 "objc/Framework/Classes/RTCVideoRendererAdapter.mm", |
111 #"objc/Framework/Classes/RTCVideoTrack+Private.h", | 112 "objc/Framework/Classes/RTCVideoSource+Private.h", |
112 #"objc/Framework/Classes/RTCVideoTrack.mm", | 113 "objc/Framework/Classes/RTCVideoSource.mm", |
113 #"objc/Framework/Classes/avfoundationvideocapturer.h", | 114 "objc/Framework/Classes/RTCVideoTrack+Private.h", |
114 #"objc/Framework/Classes/avfoundationvideocapturer.mm", | 115 "objc/Framework/Classes/RTCVideoTrack.mm", |
115 #"objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h", | 116 "objc/Framework/Headers/WebRTC/RTCAudioTrack.h", |
116 #"objc/Framework/Headers/WebRTC/RTCAudioTrack.h", | 117 "objc/Framework/Headers/WebRTC/RTCConfiguration.h", |
117 #"objc/Framework/Headers/WebRTC/RTCConfiguration.h", | 118 "objc/Framework/Headers/WebRTC/RTCDataChannel.h", |
118 #"objc/Framework/Headers/WebRTC/RTCDataChannel.h", | 119 "objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h", |
119 #"objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h", | 120 "objc/Framework/Headers/WebRTC/RTCIceCandidate.h", |
120 #"objc/Framework/Headers/WebRTC/RTCIceCandidate.h", | 121 "objc/Framework/Headers/WebRTC/RTCIceServer.h", |
121 #"objc/Framework/Headers/WebRTC/RTCIceServer.h", | 122 "objc/Framework/Headers/WebRTC/RTCMediaConstraints.h", |
122 #"objc/Framework/Headers/WebRTC/RTCMediaConstraints.h", | 123 "objc/Framework/Headers/WebRTC/RTCMediaStream.h", |
123 #"objc/Framework/Headers/WebRTC/RTCMediaStream.h", | 124 "objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h", |
124 #"objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h", | 125 "objc/Framework/Headers/WebRTC/RTCPeerConnection.h", |
125 #"objc/Framework/Headers/WebRTC/RTCOpenGLVideoRenderer.h", | 126 "objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h", |
126 #"objc/Framework/Headers/WebRTC/RTCPeerConnection.h", | 127 "objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h", |
127 #"objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h", | 128 "objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h", |
128 #"objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h", | 129 "objc/Framework/Headers/WebRTC/RTCRtpParameters.h", |
129 #"objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h", | 130 "objc/Framework/Headers/WebRTC/RTCRtpReceiver.h", |
130 #"objc/Framework/Headers/WebRTC/RTCRtpParameters.h", | 131 "objc/Framework/Headers/WebRTC/RTCRtpSender.h", |
131 #"objc/Framework/Headers/WebRTC/RTCRtpReceiver.h", | 132 "objc/Framework/Headers/WebRTC/RTCSessionDescription.h", |
132 #"objc/Framework/Headers/WebRTC/RTCRtpSender.h", | 133 "objc/Framework/Headers/WebRTC/RTCStatsReport.h", |
133 #"objc/Framework/Headers/WebRTC/RTCSessionDescription.h", | 134 "objc/Framework/Headers/WebRTC/RTCVideoFrame.h", |
134 #"objc/Framework/Headers/WebRTC/RTCStatsReport.h", | 135 "objc/Framework/Headers/WebRTC/RTCVideoRenderer.h", |
135 #"objc/Framework/Headers/WebRTC/RTCVideoFrame.h", | 136 "objc/Framework/Headers/WebRTC/RTCVideoSource.h", |
136 #"objc/Framework/Headers/WebRTC/RTCVideoRenderer.h", | 137 "objc/Framework/Headers/WebRTC/RTCVideoTrack.h", |
137 #"objc/Framework/Headers/WebRTC/RTCVideoSource.h", | |
138 #"objc/Framework/Headers/WebRTC/RTCVideoTrack.h", | |
139 ] | 138 ] |
140 | 139 |
141 if (is_ios) { | 140 if (is_ios) { |
142 sources += [ | 141 sources += [ |
142 "objc/Framework/Classes/RTCAVFoundationVideoSource+Private.h", | |
143 "objc/Framework/Classes/RTCAVFoundationVideoSource.mm", | |
143 "objc/Framework/Classes/RTCEAGLVideoView.m", | 144 "objc/Framework/Classes/RTCEAGLVideoView.m", |
145 "objc/Framework/Classes/avfoundationvideocapturer.h", | |
146 "objc/Framework/Classes/avfoundationvideocapturer.mm", | |
147 "objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h", | |
144 "objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h", | 148 "objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h", |
145 ] | 149 ] |
150 libs = [ | |
151 "CoreGraphics.framework", | |
152 "GLKit.framework", | |
153 "OpenGLES.framework", | |
154 "QuartzCore.framework", | |
155 ] | |
146 } | 156 } |
147 | 157 |
148 if (is_mac) { | 158 if (is_mac) { |
149 sources += [ | 159 sources += [ |
150 "objc/Framework/Classes/RTCNSGLVideoView.m", | 160 "objc/Framework/Classes/RTCNSGLVideoView.m", |
151 "objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h", | 161 "objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h", |
152 ] | 162 ] |
163 libs = [ "OpenGL.framework" ] | |
153 } | 164 } |
165 | |
166 configs += [ | |
167 "..:common_objc", | |
168 "//build/config/compiler:enable_arc", | |
169 ] | |
170 | |
171 public_configs = [ ":rtc_sdk_common_objc_config" ] | |
172 | |
173 if (is_clang) { | |
174 # Suppress warnings from the Chromium Clang plugins. | |
175 # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. | |
176 configs -= [ "//build/config/clang:find_bad_constructs" ] | |
177 } | |
178 | |
179 libs += [ "stdc++" ] | |
180 | |
181 deps = [ | |
182 ":rtc_sdk_common_objc", | |
183 "../api:libjingle_peerconnection", | |
184 ] | |
154 } | 185 } |
186 | |
187 # TODO(tkchin): Add the rtc_sdk_framework_objc target. | |
tkchin_webrtc
2016/06/07 22:14:55
I'm not sure this builds correctly under GN. Did t
kjellander_webrtc
2016/06/08 08:03:21
I don't know much about that. Do you know a tracki
| |
155 } | 188 } |
OLD | NEW |