OLD | NEW |
1 # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 1 # Copyright (c) 2015 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 { | 9 { |
10 'includes': [ '../build/common.gypi', ], | 10 'includes': [ '../build/common.gypi', ], |
11 'conditions': [ | 11 'conditions': [ |
| 12 ['os_posix == 1 and OS != "mac" and OS != "ios"', { |
| 13 'conditions': [ |
| 14 ['sysroot!=""', { |
| 15 'variables': { |
| 16 'pkg-config': '../../../build/linux/pkg-config-wrapper "<(sysroot)"
"<(target_arch)"', |
| 17 }, |
| 18 }, { |
| 19 'variables': { |
| 20 'pkg-config': 'pkg-config' |
| 21 }, |
| 22 }], |
| 23 ], |
| 24 }], |
| 25 ['OS=="android"', { |
| 26 'targets': [ |
| 27 { |
| 28 'target_name': 'libjingle_peerconnection_jni', |
| 29 'type': 'static_library', |
| 30 'dependencies': [ |
| 31 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:field_trial_defa
ult', |
| 32 'libjingle_peerconnection', |
| 33 ], |
| 34 'sources': [ |
| 35 'androidvideocapturer.cc', |
| 36 'androidvideocapturer.h', |
| 37 'java/jni/androidmediacodeccommon.h', |
| 38 'java/jni/androidmediadecoder_jni.cc', |
| 39 'java/jni/androidmediadecoder_jni.h', |
| 40 'java/jni/androidmediaencoder_jni.cc', |
| 41 'java/jni/androidmediaencoder_jni.h', |
| 42 'java/jni/androidnetworkmonitor_jni.cc', |
| 43 'java/jni/androidnetworkmonitor_jni.h', |
| 44 'java/jni/androidvideocapturer_jni.cc', |
| 45 'java/jni/androidvideocapturer_jni.h', |
| 46 'java/jni/eglbase_jni.cc', |
| 47 'java/jni/eglbase_jni.h', |
| 48 'java/jni/surfacetexturehelper_jni.cc', |
| 49 'java/jni/surfacetexturehelper_jni.h', |
| 50 'java/jni/classreferenceholder.cc', |
| 51 'java/jni/classreferenceholder.h', |
| 52 'java/jni/jni_helpers.cc', |
| 53 'java/jni/jni_helpers.h', |
| 54 'java/jni/native_handle_impl.cc', |
| 55 'java/jni/native_handle_impl.h', |
| 56 'java/jni/peerconnection_jni.cc', |
| 57 ], |
| 58 'include_dirs': [ |
| 59 '<(libyuv_dir)/include', |
| 60 ], |
| 61 # TODO(kjellander): Make the code compile without disabling these flag
s. |
| 62 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=3307 |
| 63 'cflags': [ |
| 64 '-Wno-sign-compare', |
| 65 '-Wno-unused-variable', |
| 66 ], |
| 67 'cflags!': [ |
| 68 '-Wextra', |
| 69 ], |
| 70 'cflags_cc!': [ |
| 71 '-Wnon-virtual-dtor', |
| 72 '-Woverloaded-virtual', |
| 73 ], |
| 74 'msvs_disabled_warnings': [ |
| 75 4245, # conversion from 'int' to 'size_t', signed/unsigned mismatch
. |
| 76 4267, # conversion from 'size_t' to 'int', possible loss of data. |
| 77 4389, # signed/unsigned mismatch. |
| 78 ], |
| 79 'conditions': [ |
| 80 ['build_json==1', { |
| 81 'dependencies': [ |
| 82 '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp', |
| 83 ], |
| 84 'export_dependent_settings': [ |
| 85 '<(DEPTH)/third_party/jsoncpp/jsoncpp.gyp:jsoncpp', |
| 86 ], |
| 87 }], |
| 88 ], |
| 89 }, |
| 90 { |
| 91 'target_name': 'libjingle_peerconnection_so', |
| 92 'type': 'shared_library', |
| 93 'dependencies': [ |
| 94 'libjingle_peerconnection', |
| 95 'libjingle_peerconnection_jni', |
| 96 ], |
| 97 'sources': [ |
| 98 'java/jni/jni_onload.cc', |
| 99 ], |
| 100 'variables': { |
| 101 # This library uses native JNI exports; tell GYP so that the |
| 102 # required symbols will be kept. |
| 103 'use_native_jni_exports': 1, |
| 104 }, |
| 105 }, |
| 106 { |
| 107 # |libjingle_peerconnection_java| builds a jar file with name |
| 108 # libjingle_peerconnection_java.jar using Chrome's build system. |
| 109 # It includes all Java files needed to setup a PeeerConnection call |
| 110 # from Android. |
| 111 'target_name': 'libjingle_peerconnection_java', |
| 112 'type': 'none', |
| 113 'dependencies': [ |
| 114 'libjingle_peerconnection_so', |
| 115 ], |
| 116 'variables': { |
| 117 # Designate as Chromium code and point to our lint settings to |
| 118 # enable linting of the WebRTC code (this is the only way to make |
| 119 # lint_action invoke the Android linter). |
| 120 'android_manifest_path': '<(webrtc_root)/build/android/AndroidManife
st.xml', |
| 121 'suppressions_file': '<(webrtc_root)/build/android/suppressions.xml'
, |
| 122 'chromium_code': 1, |
| 123 'java_in_dir': 'java', |
| 124 'webrtc_base_dir': '<(webrtc_root)/base', |
| 125 'webrtc_modules_dir': '<(webrtc_root)/modules', |
| 126 'additional_src_dirs' : [ |
| 127 'java/android', |
| 128 '<(webrtc_base_dir)/java/src', |
| 129 '<(webrtc_modules_dir)/audio_device/android/java/src', |
| 130 '<(webrtc_modules_dir)/video_render/android/java/src', |
| 131 ], |
| 132 }, |
| 133 'includes': ['../../build/java.gypi'], |
| 134 }, # libjingle_peerconnection_java |
| 135 ] |
| 136 }], |
12 ['OS=="ios"', { | 137 ['OS=="ios"', { |
13 'targets': [ | 138 'targets': [ |
14 { | 139 { |
15 'target_name': 'rtc_api_objc', | 140 'target_name': 'rtc_api_objc', |
16 'type': 'static_library', | 141 'type': 'static_library', |
17 'dependencies': [ | 142 'dependencies': [ |
18 '<(webrtc_root)/base/base.gyp:rtc_base_objc', | 143 '<(webrtc_root)/base/base.gyp:rtc_base_objc', |
19 '../../talk/libjingle.gyp:libjingle_peerconnection', | 144 'libjingle_peerconnection', |
20 ], | 145 ], |
21 'sources': [ | 146 'sources': [ |
22 'objc/RTCAVFoundationVideoSource+Private.h', | 147 'objc/RTCAVFoundationVideoSource+Private.h', |
23 'objc/RTCAVFoundationVideoSource.h', | 148 'objc/RTCAVFoundationVideoSource.h', |
24 'objc/RTCAVFoundationVideoSource.mm', | 149 'objc/RTCAVFoundationVideoSource.mm', |
25 'objc/RTCAudioTrack+Private.h', | 150 'objc/RTCAudioTrack+Private.h', |
26 'objc/RTCAudioTrack.h', | 151 'objc/RTCAudioTrack.h', |
27 'objc/RTCAudioTrack.mm', | 152 'objc/RTCAudioTrack.mm', |
28 'objc/RTCConfiguration+Private.h', | 153 'objc/RTCConfiguration+Private.h', |
29 'objc/RTCConfiguration.h', | 154 'objc/RTCConfiguration.h', |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 ], | 235 ], |
111 }], | 236 }], |
112 ], | 237 ], |
113 'xcode_settings': { | 238 'xcode_settings': { |
114 'CLANG_ENABLE_OBJC_ARC': 'YES', | 239 'CLANG_ENABLE_OBJC_ARC': 'YES', |
115 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'YES', | 240 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'YES', |
116 'GCC_PREFIX_HEADER': 'objc/WebRTC-Prefix.pch', | 241 'GCC_PREFIX_HEADER': 'objc/WebRTC-Prefix.pch', |
117 }, | 242 }, |
118 } | 243 } |
119 ], | 244 ], |
120 }], # OS=="ios" | 245 }], # OS=="ios" |
121 ], | 246 ], # conditions |
| 247 'targets': [ |
| 248 { |
| 249 'target_name': 'libjingle_peerconnection', |
| 250 'type': 'static_library', |
| 251 'dependencies': [ |
| 252 '<(webrtc_root)/media/media.gyp:rtc_media', |
| 253 '../../talk/libjingle.gyp:libjingle_p2p', |
| 254 ], |
| 255 'sources': [ |
| 256 'audiotrack.cc', |
| 257 'audiotrack.h', |
| 258 'datachannel.cc', |
| 259 'datachannel.h', |
| 260 'datachannelinterface.h', |
| 261 'dtlsidentitystore.cc', |
| 262 'dtlsidentitystore.h', |
| 263 'dtmfsender.cc', |
| 264 'dtmfsender.h', |
| 265 'dtmfsenderinterface.h', |
| 266 'jsep.h', |
| 267 'jsepicecandidate.cc', |
| 268 'jsepicecandidate.h', |
| 269 'jsepsessiondescription.cc', |
| 270 'jsepsessiondescription.h', |
| 271 'localaudiosource.cc', |
| 272 'localaudiosource.h', |
| 273 'mediaconstraintsinterface.cc', |
| 274 'mediaconstraintsinterface.h', |
| 275 'mediacontroller.cc', |
| 276 'mediacontroller.h', |
| 277 'mediastream.cc', |
| 278 'mediastream.h', |
| 279 'mediastreaminterface.h', |
| 280 'mediastreamobserver.cc', |
| 281 'mediastreamobserver.h', |
| 282 'mediastreamprovider.h', |
| 283 'mediastreamproxy.h', |
| 284 'mediastreamtrack.h', |
| 285 'mediastreamtrackproxy.h', |
| 286 'notifier.h', |
| 287 'peerconnection.cc', |
| 288 'peerconnection.h', |
| 289 'peerconnectionfactory.cc', |
| 290 'peerconnectionfactory.h', |
| 291 'peerconnectionfactoryproxy.h', |
| 292 'peerconnectioninterface.h', |
| 293 'peerconnectionproxy.h', |
| 294 'proxy.h', |
| 295 'remoteaudiosource.cc', |
| 296 'remoteaudiosource.h', |
| 297 'remotevideocapturer.cc', |
| 298 'remotevideocapturer.h', |
| 299 'rtpreceiver.cc', |
| 300 'rtpreceiver.h', |
| 301 'rtpreceiverinterface.h', |
| 302 'rtpsender.cc', |
| 303 'rtpsender.h', |
| 304 'rtpsenderinterface.h', |
| 305 'sctputils.cc', |
| 306 'sctputils.h', |
| 307 'statscollector.cc', |
| 308 'statscollector.h', |
| 309 'statstypes.cc', |
| 310 'statstypes.h', |
| 311 'streamcollection.h', |
| 312 'videosource.cc', |
| 313 'videosource.h', |
| 314 'videosourceinterface.h', |
| 315 'videosourceproxy.h', |
| 316 'videotrack.cc', |
| 317 'videotrack.h', |
| 318 'videotrackrenderers.cc', |
| 319 'videotrackrenderers.h', |
| 320 'webrtcsdp.cc', |
| 321 'webrtcsdp.h', |
| 322 'webrtcsession.cc', |
| 323 'webrtcsession.h', |
| 324 'webrtcsessiondescriptionfactory.cc', |
| 325 'webrtcsessiondescriptionfactory.h', |
| 326 ], |
| 327 # TODO(kjellander): Make the code compile without disabling these flags. |
| 328 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=3307 |
| 329 'cflags': [ |
| 330 '-Wno-sign-compare', |
| 331 ], |
| 332 'cflags_cc!': [ |
| 333 '-Wnon-virtual-dtor', |
| 334 '-Woverloaded-virtual', |
| 335 ], |
| 336 'conditions': [ |
| 337 ['clang==1', { |
| 338 'cflags!': [ |
| 339 '-Wextra', |
| 340 ], |
| 341 'xcode_settings': { |
| 342 'WARNING_CFLAGS!': ['-Wextra'], |
| 343 }, |
| 344 }, { |
| 345 'cflags': [ |
| 346 '-Wno-maybe-uninitialized', # Only exists for GCC. |
| 347 ], |
| 348 }], |
| 349 ['OS=="win"', { |
| 350 # Disable warning for signed/unsigned mismatch. |
| 351 'msvs_settings': { |
| 352 'VCCLCompilerTool': { |
| 353 'AdditionalOptions!': ['/we4389'], |
| 354 }, |
| 355 }, |
| 356 }], |
| 357 ['OS=="win" and clang==1', { |
| 358 'msvs_settings': { |
| 359 'VCCLCompilerTool': { |
| 360 'AdditionalOptions': [ |
| 361 '-Wno-sign-compare', |
| 362 ], |
| 363 }, |
| 364 }, |
| 365 }], |
| 366 ], |
| 367 }, # target libjingle_peerconnection |
| 368 ], # targets |
122 } | 369 } |
OLD | NEW |