OLD | NEW |
(Empty) | |
| 1 # |
| 2 # libjingle |
| 3 # Copyright 2012 Google Inc. |
| 4 # |
| 5 # Redistribution and use in source and binary forms, with or without |
| 6 # modification, are permitted provided that the following conditions are met: |
| 7 # |
| 8 # 1. Redistributions of source code must retain the above copyright notice, |
| 9 # this list of conditions and the following disclaimer. |
| 10 # 2. Redistributions in binary form must reproduce the above copyright notice, |
| 11 # this list of conditions and the following disclaimer in the documentation |
| 12 # and/or other materials provided with the distribution. |
| 13 # 3. The name of the author may not be used to endorse or promote products |
| 14 # derived from this software without specific prior written permission. |
| 15 # |
| 16 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED |
| 17 # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
| 18 # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO |
| 19 # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| 20 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
| 21 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; |
| 22 # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, |
| 23 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
| 24 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF |
| 25 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 26 |
| 27 { |
| 28 'includes': ['../../build/common.gypi'], |
| 29 'conditions': [ |
| 30 ['OS=="ios" or (OS=="mac" and target_arch!="ia32")', { |
| 31 # The >= 10.7 above is required for ARC. |
| 32 'targets': [ |
| 33 { |
| 34 'target_name': 'libjingle_peerconnection_objc', |
| 35 'type': 'static_library', |
| 36 'dependencies': [ |
| 37 '<(webrtc_root)/api/api.gyp:libjingle_peerconnection', |
| 38 ], |
| 39 'sources': [ |
| 40 'objc/RTCAudioTrack+Internal.h', |
| 41 'objc/RTCAudioTrack.mm', |
| 42 'objc/RTCDataChannel+Internal.h', |
| 43 'objc/RTCDataChannel.mm', |
| 44 'objc/RTCEnumConverter.h', |
| 45 'objc/RTCEnumConverter.mm', |
| 46 'objc/RTCFileLogger.mm', |
| 47 'objc/RTCI420Frame+Internal.h', |
| 48 'objc/RTCI420Frame.mm', |
| 49 'objc/RTCICECandidate+Internal.h', |
| 50 'objc/RTCICECandidate.mm', |
| 51 'objc/RTCICEServer+Internal.h', |
| 52 'objc/RTCICEServer.mm', |
| 53 'objc/RTCLogging.mm', |
| 54 'objc/RTCMediaConstraints+Internal.h', |
| 55 'objc/RTCMediaConstraints.mm', |
| 56 'objc/RTCMediaConstraintsNative.cc', |
| 57 'objc/RTCMediaConstraintsNative.h', |
| 58 'objc/RTCMediaSource+Internal.h', |
| 59 'objc/RTCMediaSource.mm', |
| 60 'objc/RTCMediaStream+Internal.h', |
| 61 'objc/RTCMediaStream.mm', |
| 62 'objc/RTCMediaStreamTrack+Internal.h', |
| 63 'objc/RTCMediaStreamTrack.mm', |
| 64 'objc/RTCOpenGLVideoRenderer.mm', |
| 65 'objc/RTCPair.m', |
| 66 'objc/RTCPeerConnection+Internal.h', |
| 67 'objc/RTCPeerConnection.mm', |
| 68 'objc/RTCPeerConnectionFactory.mm', |
| 69 'objc/RTCPeerConnectionInterface+Internal.h', |
| 70 'objc/RTCPeerConnectionInterface.mm', |
| 71 'objc/RTCPeerConnectionObserver.h', |
| 72 'objc/RTCPeerConnectionObserver.mm', |
| 73 'objc/RTCSessionDescription+Internal.h', |
| 74 'objc/RTCSessionDescription.mm', |
| 75 'objc/RTCStatsReport+Internal.h', |
| 76 'objc/RTCStatsReport.mm', |
| 77 'objc/RTCVideoCapturer+Internal.h', |
| 78 'objc/RTCVideoCapturer.mm', |
| 79 'objc/RTCVideoRendererAdapter.h', |
| 80 'objc/RTCVideoRendererAdapter.mm', |
| 81 'objc/RTCVideoSource+Internal.h', |
| 82 'objc/RTCVideoSource.mm', |
| 83 'objc/RTCVideoTrack+Internal.h', |
| 84 'objc/RTCVideoTrack.mm', |
| 85 'objc/public/RTCAudioSource.h', |
| 86 'objc/public/RTCAudioTrack.h', |
| 87 'objc/public/RTCDataChannel.h', |
| 88 'objc/public/RTCFileLogger.h', |
| 89 'objc/public/RTCI420Frame.h', |
| 90 'objc/public/RTCICECandidate.h', |
| 91 'objc/public/RTCICEServer.h', |
| 92 'objc/public/RTCLogging.h', |
| 93 'objc/public/RTCMediaConstraints.h', |
| 94 'objc/public/RTCMediaSource.h', |
| 95 'objc/public/RTCMediaStream.h', |
| 96 'objc/public/RTCMediaStreamTrack.h', |
| 97 'objc/public/RTCOpenGLVideoRenderer.h', |
| 98 'objc/public/RTCPair.h', |
| 99 'objc/public/RTCPeerConnection.h', |
| 100 'objc/public/RTCPeerConnectionDelegate.h', |
| 101 'objc/public/RTCPeerConnectionFactory.h', |
| 102 'objc/public/RTCPeerConnectionInterface.h', |
| 103 'objc/public/RTCSessionDescription.h', |
| 104 'objc/public/RTCSessionDescriptionDelegate.h', |
| 105 'objc/public/RTCStatsDelegate.h', |
| 106 'objc/public/RTCStatsReport.h', |
| 107 'objc/public/RTCTypes.h', |
| 108 'objc/public/RTCVideoCapturer.h', |
| 109 'objc/public/RTCVideoRenderer.h', |
| 110 'objc/public/RTCVideoSource.h', |
| 111 'objc/public/RTCVideoTrack.h', |
| 112 ], |
| 113 'direct_dependent_settings': { |
| 114 'include_dirs': [ |
| 115 '<(DEPTH)/talk/app/webrtc/objc/public', |
| 116 ], |
| 117 }, |
| 118 'include_dirs': [ |
| 119 '<(webrtc_root)/webrtc/api', |
| 120 '<(DEPTH)/talk/app/webrtc/objc', |
| 121 '<(DEPTH)/talk/app/webrtc/objc/public', |
| 122 ], |
| 123 'link_settings': { |
| 124 'libraries': [ |
| 125 '-lstdc++', |
| 126 ], |
| 127 }, |
| 128 'all_dependent_settings': { |
| 129 'xcode_settings': { |
| 130 'CLANG_ENABLE_OBJC_ARC': 'YES', |
| 131 }, |
| 132 }, |
| 133 'xcode_settings': { |
| 134 'CLANG_ENABLE_OBJC_ARC': 'YES', |
| 135 # common.gypi enables this for mac but we want this to be disabled |
| 136 # like it is for ios. |
| 137 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'NO', |
| 138 # Disabled due to failing when compiled with -Wall, see |
| 139 # https://bugs.chromium.org/p/webrtc/issues/detail?id=5397 |
| 140 'WARNING_CFLAGS': ['-Wno-unused-property-ivar'], |
| 141 }, |
| 142 'conditions': [ |
| 143 ['OS=="ios"', { |
| 144 'sources': [ |
| 145 'objc/avfoundationvideocapturer.h', |
| 146 'objc/avfoundationvideocapturer.mm', |
| 147 'objc/RTCAVFoundationVideoSource+Internal.h', |
| 148 'objc/RTCAVFoundationVideoSource.mm', |
| 149 'objc/RTCEAGLVideoView.m', |
| 150 'objc/public/RTCEAGLVideoView.h', |
| 151 'objc/public/RTCAVFoundationVideoSource.h', |
| 152 ], |
| 153 'dependencies': [ |
| 154 '<(webrtc_root)/base/base.gyp:rtc_base_objc', |
| 155 ], |
| 156 'link_settings': { |
| 157 'xcode_settings': { |
| 158 'OTHER_LDFLAGS': [ |
| 159 '-framework CoreGraphics', |
| 160 '-framework GLKit', |
| 161 ], |
| 162 }, |
| 163 }, |
| 164 }], |
| 165 ['OS=="mac"', { |
| 166 'sources': [ |
| 167 'objc/RTCNSGLVideoView.m', |
| 168 'objc/public/RTCNSGLVideoView.h', |
| 169 ], |
| 170 'xcode_settings': { |
| 171 # Need to build against 10.7 framework for full ARC support |
| 172 # on OSX. |
| 173 'MACOSX_DEPLOYMENT_TARGET' : '10.7', |
| 174 # RTCVideoTrack.mm uses code with partial availability. |
| 175 # https://code.google.com/p/webrtc/issues/detail?id=4695 |
| 176 'WARNING_CFLAGS!': ['-Wpartial-availability'], |
| 177 }, |
| 178 'link_settings': { |
| 179 'xcode_settings': { |
| 180 'OTHER_LDFLAGS': [ |
| 181 '-framework Cocoa', |
| 182 ], |
| 183 }, |
| 184 }, |
| 185 }], |
| 186 ], |
| 187 }, # target libjingle_peerconnection_objc |
| 188 ], |
| 189 }], |
| 190 ], |
| 191 } |
OLD | NEW |