194 lines
7.8 KiB
Python
194 lines
7.8 KiB
Python
#
|
|
# 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
|
|
],
|
|
}],
|
|
],
|
|
}
|