OLD | NEW |
(Empty) | |
| 1 # Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. |
| 2 # |
| 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 |
| 5 # tree. An additional intellectual property rights grant can be found |
| 6 # in the file PATENTS. All contributing project authors may |
| 7 # be found in the AUTHORS file in the root of the source tree. |
| 8 |
| 9 { |
| 10 'includes': [ '../build/common.gypi', ], |
| 11 'targets': [ |
| 12 { |
| 13 'target_name': 'rtc_media', |
| 14 'type': 'static_library', |
| 15 'dependencies': [ |
| 16 '<(webrtc_root)/base/base.gyp:rtc_base', |
| 17 '<(webrtc_root)/common.gyp:webrtc_common', |
| 18 '<(webrtc_root)/modules/modules.gyp:video_render_module', |
| 19 '<(webrtc_root)/webrtc.gyp:webrtc', |
| 20 '<(webrtc_root)/voice_engine/voice_engine.gyp:voice_engine', |
| 21 '<(webrtc_root)/sound/sound.gyp:rtc_sound', |
| 22 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:metrics_default', |
| 23 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers', |
| 24 '<(webrtc_root)/libjingle/xmllite/xmllite.gyp:rtc_xmllite', |
| 25 '<(webrtc_root)/libjingle/xmpp/xmpp.gyp:rtc_xmpp', |
| 26 '<(webrtc_root)/p2p/p2p.gyp:rtc_p2p', |
| 27 ], |
| 28 'direct_dependent_settings': { |
| 29 'include_dirs': [ |
| 30 '<(libyuv_dir)/include', |
| 31 ], |
| 32 }, |
| 33 'sources': [ |
| 34 'base/audioframe.h', |
| 35 'base/audiorenderer.h', |
| 36 'base/capturemanager.cc', |
| 37 'base/capturemanager.h', |
| 38 'base/capturerenderadapter.cc', |
| 39 'base/capturerenderadapter.h', |
| 40 'base/codec.cc', |
| 41 'base/codec.h', |
| 42 'base/constants.cc', |
| 43 'base/constants.h', |
| 44 'base/cpuid.cc', |
| 45 'base/cpuid.h', |
| 46 'base/cryptoparams.h', |
| 47 'base/device.h', |
| 48 'base/fakescreencapturerfactory.h', |
| 49 'base/hybriddataengine.h', |
| 50 'base/mediachannel.h', |
| 51 'base/mediacommon.h', |
| 52 'base/mediaengine.cc', |
| 53 'base/mediaengine.h', |
| 54 'base/rtpdataengine.cc', |
| 55 'base/rtpdataengine.h', |
| 56 'base/rtpdump.cc', |
| 57 'base/rtpdump.h', |
| 58 'base/rtputils.cc', |
| 59 'base/rtputils.h', |
| 60 'base/screencastid.h', |
| 61 'base/streamparams.cc', |
| 62 'base/streamparams.h', |
| 63 'base/turnutils.cc', |
| 64 'base/turnutils.h', |
| 65 'base/videoadapter.cc', |
| 66 'base/videoadapter.h', |
| 67 'base/videocapturer.cc', |
| 68 'base/videocapturer.h', |
| 69 'base/videocapturerfactory.h', |
| 70 'base/videocommon.cc', |
| 71 'base/videocommon.h', |
| 72 'base/videoframe.cc', |
| 73 'base/videoframe.h', |
| 74 'base/videoframefactory.cc', |
| 75 'base/videoframefactory.h', |
| 76 'base/videorenderer.h', |
| 77 'base/yuvframegenerator.cc', |
| 78 'base/yuvframegenerator.h', |
| 79 'devices/deviceinfo.h', |
| 80 'devices/devicemanager.cc', |
| 81 'devices/devicemanager.h', |
| 82 'devices/dummydevicemanager.h', |
| 83 'devices/filevideocapturer.cc', |
| 84 'devices/filevideocapturer.h', |
| 85 'devices/videorendererfactory.h', |
| 86 'devices/yuvframescapturer.cc', |
| 87 'devices/yuvframescapturer.h', |
| 88 'sctp/sctpdataengine.cc', |
| 89 'sctp/sctpdataengine.h', |
| 90 'webrtc/simulcast.cc', |
| 91 'webrtc/simulcast.h', |
| 92 'webrtc/webrtccommon.h', |
| 93 'webrtc/webrtcmediaengine.cc', |
| 94 'webrtc/webrtcmediaengine.h', |
| 95 'webrtc/webrtcmediaengine.cc', |
| 96 'webrtc/webrtcvideocapturer.cc', |
| 97 'webrtc/webrtcvideocapturer.h', |
| 98 'webrtc/webrtcvideocapturerfactory.h', |
| 99 'webrtc/webrtcvideocapturerfactory.cc', |
| 100 'webrtc/webrtcvideodecoderfactory.h', |
| 101 'webrtc/webrtcvideoencoderfactory.h', |
| 102 'webrtc/webrtcvideoengine2.cc', |
| 103 'webrtc/webrtcvideoengine2.h', |
| 104 'webrtc/webrtcvideoframe.cc', |
| 105 'webrtc/webrtcvideoframe.h', |
| 106 'webrtc/webrtcvideoframefactory.cc', |
| 107 'webrtc/webrtcvideoframefactory.h', |
| 108 'webrtc/webrtcvoe.h', |
| 109 'webrtc/webrtcvoiceengine.cc', |
| 110 'webrtc/webrtcvoiceengine.h', |
| 111 ], |
| 112 # TODO(kjellander): Make the code compile without disabling these flags. |
| 113 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=3307 |
| 114 'cflags': [ |
| 115 '-Wno-deprecated-declarations', |
| 116 ], |
| 117 'cflags!': [ |
| 118 '-Wextra', |
| 119 ], |
| 120 'cflags_cc!': [ |
| 121 '-Wnon-virtual-dtor', |
| 122 '-Woverloaded-virtual', |
| 123 ], |
| 124 'msvs_disabled_warnings': [ |
| 125 4245, # conversion from 'int' to 'size_t', signed/unsigned mismatch. |
| 126 4267, # conversion from 'size_t' to 'int', possible loss of data. |
| 127 4389, # signed/unsigned mismatch. |
| 128 ], |
| 129 'conditions': [ |
| 130 ['build_libyuv==1', { |
| 131 'dependencies': ['<(DEPTH)/third_party/libyuv/libyuv.gyp:libyuv',], |
| 132 }], |
| 133 ['build_usrsctp==1', { |
| 134 'include_dirs': [ |
| 135 # TODO(jiayl): move this into the direct_dependent_settings of |
| 136 # usrsctp.gyp. |
| 137 '<(DEPTH)/third_party/usrsctp/usrsctplib', |
| 138 ], |
| 139 'dependencies': [ |
| 140 '<(DEPTH)/third_party/usrsctp/usrsctp.gyp:usrsctplib', |
| 141 ], |
| 142 }], |
| 143 ['build_with_chromium==1', { |
| 144 'dependencies': [ |
| 145 '<(webrtc_root)/modules/modules.gyp:video_capture', |
| 146 '<(webrtc_root)/modules/modules.gyp:video_render', |
| 147 ], |
| 148 }, { |
| 149 'defines': [ |
| 150 'HAVE_WEBRTC_VIDEO', |
| 151 'HAVE_WEBRTC_VOICE', |
| 152 ], |
| 153 'direct_dependent_settings': { |
| 154 'defines': [ |
| 155 'HAVE_WEBRTC_VIDEO', |
| 156 'HAVE_WEBRTC_VOICE', |
| 157 ], |
| 158 }, |
| 159 'dependencies': [ |
| 160 '<(webrtc_root)/modules/modules.gyp:video_capture_module_internal_im
pl', |
| 161 '<(webrtc_root)/modules/modules.gyp:video_render_module_internal_imp
l', |
| 162 ], |
| 163 }], |
| 164 ['OS=="linux"', { |
| 165 'sources': [ |
| 166 'devices/libudevsymboltable.cc', |
| 167 'devices/libudevsymboltable.h', |
| 168 'devices/linuxdeviceinfo.cc', |
| 169 'devices/linuxdevicemanager.cc', |
| 170 'devices/linuxdevicemanager.h', |
| 171 'devices/v4llookup.cc', |
| 172 'devices/v4llookup.h', |
| 173 ], |
| 174 'conditions': [ |
| 175 ['use_gtk==1', { |
| 176 'sources': [ |
| 177 'devices/gtkvideorenderer.cc', |
| 178 'devices/gtkvideorenderer.h', |
| 179 ], |
| 180 'cflags': [ |
| 181 '<!@(pkg-config --cflags gobject-2.0 gthread-2.0 gtk+-2.0)', |
| 182 ], |
| 183 }], |
| 184 ], |
| 185 'include_dirs': [ |
| 186 'third_party/libudev' |
| 187 ], |
| 188 'libraries': [ |
| 189 '-lrt', |
| 190 ], |
| 191 }], |
| 192 ['OS=="win"', { |
| 193 'sources': [ |
| 194 'devices/gdivideorenderer.cc', |
| 195 'devices/gdivideorenderer.h', |
| 196 'devices/win32deviceinfo.cc', |
| 197 'devices/win32devicemanager.cc', |
| 198 'devices/win32devicemanager.h', |
| 199 ], |
| 200 'msvs_settings': { |
| 201 'VCLibrarianTool': { |
| 202 'AdditionalDependencies': [ |
| 203 'd3d9.lib', |
| 204 'gdi32.lib', |
| 205 'strmiids.lib', |
| 206 'winmm.lib', |
| 207 ], |
| 208 }, |
| 209 }, |
| 210 }], |
| 211 ['OS=="mac"', { |
| 212 'sources': [ |
| 213 'devices/macdeviceinfo.cc', |
| 214 'devices/macdevicemanager.cc', |
| 215 'devices/macdevicemanager.h', |
| 216 'devices/macdevicemanagermm.mm', |
| 217 ], |
| 218 'conditions': [ |
| 219 ['target_arch=="ia32"', { |
| 220 'sources': [ |
| 221 'devices/carbonvideorenderer.cc', |
| 222 'devices/carbonvideorenderer.h', |
| 223 ], |
| 224 'link_settings': { |
| 225 'xcode_settings': { |
| 226 'OTHER_LDFLAGS': [ |
| 227 '-framework Carbon', |
| 228 ], |
| 229 }, |
| 230 }, |
| 231 }], |
| 232 ], |
| 233 'xcode_settings': { |
| 234 'WARNING_CFLAGS': [ |
| 235 # TODO(ronghuawu): Update macdevicemanager.cc to stop using |
| 236 # deprecated functions and remove this flag. |
| 237 '-Wno-deprecated-declarations', |
| 238 ], |
| 239 # Disable partial availability warning to prevent errors |
| 240 # in macdevicemanagermm.mm using AVFoundation. |
| 241 # https://code.google.com/p/webrtc/issues/detail?id=4695 |
| 242 'WARNING_CFLAGS!': ['-Wpartial-availability'], |
| 243 }, |
| 244 'link_settings': { |
| 245 'xcode_settings': { |
| 246 'OTHER_LDFLAGS': [ |
| 247 '-weak_framework AVFoundation', |
| 248 '-framework Cocoa', |
| 249 '-framework CoreAudio', |
| 250 '-framework CoreVideo', |
| 251 '-framework OpenGL', |
| 252 '-framework QTKit', |
| 253 ], |
| 254 }, |
| 255 }, |
| 256 }], |
| 257 ['OS=="ios"', { |
| 258 'sources': [ |
| 259 'devices/mobiledevicemanager.cc', |
| 260 ], |
| 261 'include_dirs': [ |
| 262 # TODO(sjlee) Remove when vp8 is building for iOS. vp8 pulls in |
| 263 # libjpeg which pulls in libyuv which currently disabled. |
| 264 '../../third_party/libyuv/include', |
| 265 ], |
| 266 # TODO(kjellander): Make the code compile without disabling these. |
| 267 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=3307 |
| 268 'cflags': [ |
| 269 '-Wno-unused-const-variable', |
| 270 ], |
| 271 'xcode_settings': { |
| 272 'WARNING_CFLAGS': [ |
| 273 '-Wno-unused-const-variable', |
| 274 ], |
| 275 }, |
| 276 }], |
| 277 ['OS=="android"', { |
| 278 'sources': [ |
| 279 'devices/mobiledevicemanager.cc', |
| 280 ], |
| 281 }], |
| 282 ], |
| 283 }, # target rtc_media |
| 284 ], # targets. |
| 285 } |
OLD | NEW |