| # |
| # libjingle |
| # Copyright 2012 Google Inc. |
| # |
| # Redistribution and use in source and binary forms, with or without |
| # modification, are permitted provided that the following conditions are met: |
| # |
| # 1. Redistributions of source code must retain the above copyright notice, |
| # this list of conditions and the following disclaimer. |
| # 2. Redistributions in binary form must reproduce the above copyright notice, |
| # this list of conditions and the following disclaimer in the documentation |
| # and/or other materials provided with the distribution. |
| # 3. The name of the author may not be used to endorse or promote products |
| # derived from this software without specific prior written permission. |
| # |
| # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED |
| # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
| # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO |
| # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
| # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; |
| # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, |
| # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
| # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF |
| # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| |
| { |
| 'includes': ['../../build/common.gypi'], |
| 'conditions': [ |
| ['OS=="ios" or (OS=="mac" and target_arch!="ia32")', { |
| # The >= 10.7 above is required for ARC. |
| 'targets': [ |
| { |
| 'target_name': 'libjingle_peerconnection_objc', |
| 'type': 'static_library', |
| 'dependencies': [ |
| '<(webrtc_root)/api/api.gyp:libjingle_peerconnection', |
| ], |
| 'sources': [ |
| 'objc/RTCAudioTrack+Internal.h', |
| 'objc/RTCAudioTrack.mm', |
| 'objc/RTCDataChannel+Internal.h', |
| 'objc/RTCDataChannel.mm', |
| 'objc/RTCEnumConverter.h', |
| 'objc/RTCEnumConverter.mm', |
| 'objc/RTCI420Frame+Internal.h', |
| 'objc/RTCI420Frame.mm', |
| 'objc/RTCICECandidate+Internal.h', |
| 'objc/RTCICECandidate.mm', |
| 'objc/RTCICEServer+Internal.h', |
| 'objc/RTCICEServer.mm', |
| 'objc/RTCLogging.mm', |
| 'objc/RTCMediaConstraints+Internal.h', |
| 'objc/RTCMediaConstraints.mm', |
| 'objc/RTCMediaConstraintsNative.cc', |
| 'objc/RTCMediaConstraintsNative.h', |
| 'objc/RTCMediaSource+Internal.h', |
| 'objc/RTCMediaSource.mm', |
| 'objc/RTCMediaStream+Internal.h', |
| 'objc/RTCMediaStream.mm', |
| 'objc/RTCMediaStreamTrack+Internal.h', |
| 'objc/RTCMediaStreamTrack.mm', |
| 'objc/RTCOpenGLVideoRenderer.mm', |
| 'objc/RTCPair.m', |
| 'objc/RTCPeerConnection+Internal.h', |
| 'objc/RTCPeerConnection.mm', |
| 'objc/RTCPeerConnectionFactory.mm', |
| 'objc/RTCPeerConnectionInterface+Internal.h', |
| 'objc/RTCPeerConnectionInterface.mm', |
| 'objc/RTCPeerConnectionObserver.h', |
| 'objc/RTCPeerConnectionObserver.mm', |
| 'objc/RTCSessionDescription+Internal.h', |
| 'objc/RTCSessionDescription.mm', |
| 'objc/RTCStatsReport+Internal.h', |
| 'objc/RTCStatsReport.mm', |
| 'objc/RTCVideoCapturer+Internal.h', |
| 'objc/RTCVideoCapturer.mm', |
| 'objc/RTCVideoRendererAdapter.h', |
| 'objc/RTCVideoRendererAdapter.mm', |
| 'objc/RTCVideoSource+Internal.h', |
| 'objc/RTCVideoSource.mm', |
| 'objc/RTCVideoTrack+Internal.h', |
| 'objc/RTCVideoTrack.mm', |
| 'objc/public/RTCAudioSource.h', |
| 'objc/public/RTCAudioTrack.h', |
| 'objc/public/RTCDataChannel.h', |
| 'objc/public/RTCFileLogger.h', |
| 'objc/public/RTCI420Frame.h', |
| 'objc/public/RTCICECandidate.h', |
| 'objc/public/RTCICEServer.h', |
| 'objc/public/RTCLogging.h', |
| 'objc/public/RTCMediaConstraints.h', |
| 'objc/public/RTCMediaSource.h', |
| 'objc/public/RTCMediaStream.h', |
| 'objc/public/RTCMediaStreamTrack.h', |
| 'objc/public/RTCOpenGLVideoRenderer.h', |
| 'objc/public/RTCPair.h', |
| 'objc/public/RTCPeerConnection.h', |
| 'objc/public/RTCPeerConnectionDelegate.h', |
| 'objc/public/RTCPeerConnectionFactory.h', |
| 'objc/public/RTCPeerConnectionInterface.h', |
| 'objc/public/RTCSessionDescription.h', |
| 'objc/public/RTCSessionDescriptionDelegate.h', |
| 'objc/public/RTCStatsDelegate.h', |
| 'objc/public/RTCStatsReport.h', |
| 'objc/public/RTCTypes.h', |
| 'objc/public/RTCVideoCapturer.h', |
| 'objc/public/RTCVideoRenderer.h', |
| 'objc/public/RTCVideoSource.h', |
| 'objc/public/RTCVideoTrack.h', |
| ], |
| 'direct_dependent_settings': { |
| 'include_dirs': [ |
| '<(DEPTH)/talk/app/webrtc/objc/public', |
| ], |
| }, |
| 'include_dirs': [ |
| '<(webrtc_root)/webrtc/api', |
| '<(DEPTH)/talk/app/webrtc/objc', |
| '<(DEPTH)/talk/app/webrtc/objc/public', |
| ], |
| 'link_settings': { |
| 'libraries': [ |
| '-lstdc++', |
| ], |
| }, |
| 'all_dependent_settings': { |
| 'xcode_settings': { |
| 'CLANG_ENABLE_OBJC_ARC': 'YES', |
| }, |
| }, |
| 'xcode_settings': { |
| 'CLANG_ENABLE_OBJC_ARC': 'YES', |
| # common.gypi enables this for mac but we want this to be disabled |
| # like it is for ios. |
| 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'NO', |
| # Disabled due to failing when compiled with -Wall, see |
| # https://bugs.chromium.org/p/webrtc/issues/detail?id=5397 |
| 'WARNING_CFLAGS': ['-Wno-unused-property-ivar'], |
| }, |
| 'conditions': [ |
| ['OS=="ios"', { |
| 'sources': [ |
| 'objc/avfoundationvideocapturer.h', |
| 'objc/avfoundationvideocapturer.mm', |
| 'objc/RTCAVFoundationVideoSource+Internal.h', |
| 'objc/RTCAVFoundationVideoSource.mm', |
| 'objc/RTCEAGLVideoView.m', |
| 'objc/public/RTCEAGLVideoView.h', |
| 'objc/public/RTCAVFoundationVideoSource.h', |
| ], |
| 'dependencies': [ |
| '<(webrtc_root)/sdk/sdk.gyp:rtc_sdk_common_objc', |
| ], |
| 'link_settings': { |
| 'xcode_settings': { |
| 'OTHER_LDFLAGS': [ |
| '-framework CoreGraphics', |
| '-framework GLKit', |
| '-framework OpenGLES', |
| '-framework QuartzCore', |
| ], |
| }, |
| }, |
| }], |
| ['OS=="mac"', { |
| 'sources': [ |
| 'objc/RTCNSGLVideoView.m', |
| 'objc/public/RTCNSGLVideoView.h', |
| ], |
| 'xcode_settings': { |
| # Need to build against 10.7 framework for full ARC support |
| # on OSX. |
| 'MACOSX_DEPLOYMENT_TARGET' : '10.7', |
| # RTCVideoTrack.mm uses code with partial availability. |
| # https://code.google.com/p/webrtc/issues/detail?id=4695 |
| 'WARNING_CFLAGS!': ['-Wpartial-availability'], |
| }, |
| 'link_settings': { |
| 'xcode_settings': { |
| 'OTHER_LDFLAGS': [ |
| '-framework Cocoa', |
| '-framework OpenGL', |
| ], |
| }, |
| }, |
| }], |
| ], |
| }, # target libjingle_peerconnection_objc |
| ], |
| }], |
| ], |
| } |