1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/media/webrtc/trunk/peerconnection.gyp Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,161 @@ 1.4 +# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 1.5 +# 1.6 +# Use of this source code is governed by a BSD-style license 1.7 +# that can be found in the LICENSE file in the root of the source 1.8 +# tree. An additional intellectual property rights grant can be found 1.9 +# in the file PATENTS. All contributing project authors may 1.10 +# be found in the AUTHORS file in the root of the source tree. 1.11 + 1.12 +{ 1.13 + 'includes': [ 'webrtc/build/common.gypi', ], 1.14 + 'variables': { 1.15 + 'peerconnection_sample': 'third_party/libjingle/source/talk/examples/peerconnection', 1.16 + }, 1.17 + 1.18 + # for mozilla, we want to force stuff to build but we don't want peerconnection_client or server 1.19 + # for unknown reasons, 'targets' must be outside of conditions. And don't try to build a dummy 1.20 + # executable... 1.21 + 'targets': [ 1.22 + { 1.23 + 'conditions': [ 1.24 + ['build_with_mozilla==1', { 1.25 + 'target_name': 'dummy', 1.26 + 'type': 'none', 1.27 + 'actions': [ 1.28 + { 1.29 + 'action_name': 'dummy', 1.30 + 'action': [ 1.31 + 'echo ARGHHHHHHHHHHHHHHHHHHHH', 1.32 + ], 1.33 + 'inputs': [ 1.34 + 'dummy_file.txt', 1.35 + ], 1.36 + 'message': 'Generating scream', 1.37 + }, ], 1.38 + 'dependencies': [ 1.39 + 'webrtc/modules/modules.gyp:audio_device', 1.40 + 'webrtc/modules/modules.gyp:video_capture_module', 1.41 +# 'webrtc/modules/modules.gyp:video_render_module', 1.42 +# 'webrtc/system_wrappers/source/system_wrappers.gyp:system_wrappers', 1.43 + 'webrtc/video_engine/video_engine.gyp:video_engine_core', 1.44 + 'webrtc/voice_engine/voice_engine.gyp:voice_engine', 1.45 + ], 1.46 + }, ], 1.47 + ], 1.48 + }, ], 1.49 + 'conditions': [ 1.50 + ['build_with_mozilla==0', { 1.51 + 'targets': [ 1.52 + { 1.53 + 'target_name': 'peerconnection_server', 1.54 + 'type': 'executable', 1.55 + 'sources': [ 1.56 + '<(peerconnection_sample)/server/data_socket.cc', 1.57 + '<(peerconnection_sample)/server/data_socket.h', 1.58 + '<(peerconnection_sample)/server/main.cc', 1.59 + '<(peerconnection_sample)/server/peer_channel.cc', 1.60 + '<(peerconnection_sample)/server/peer_channel.h', 1.61 + '<(peerconnection_sample)/server/utils.cc', 1.62 + '<(peerconnection_sample)/server/utils.h', 1.63 + ], 1.64 + 'include_dirs': [ 1.65 + 'third_party/libjingle/source', 1.66 + ], 1.67 + }, ], 1.68 + 'conditions': [ 1.69 + # TODO(wu): Merge the target for different platforms. 1.70 + ['OS=="win"', { 1.71 + 'targets': [ 1.72 + { 1.73 + 'target_name': 'peerconnection_client', 1.74 + 'type': 'executable', 1.75 + 'sources': [ 1.76 + '<(peerconnection_sample)/client/conductor.cc', 1.77 + '<(peerconnection_sample)/client/conductor.h', 1.78 + '<(peerconnection_sample)/client/defaults.cc', 1.79 + '<(peerconnection_sample)/client/defaults.h', 1.80 + '<(peerconnection_sample)/client/main.cc', 1.81 + '<(peerconnection_sample)/client/main_wnd.cc', 1.82 + '<(peerconnection_sample)/client/main_wnd.h', 1.83 + '<(peerconnection_sample)/client/peer_connection_client.cc', 1.84 + '<(peerconnection_sample)/client/peer_connection_client.h', 1.85 + 'third_party/libjingle/source/talk/base/win32socketinit.cc', 1.86 + 'third_party/libjingle/source/talk/base/win32socketserver.cc', 1.87 + ], 1.88 + 'msvs_settings': { 1.89 + 'VCLinkerTool': { 1.90 + 'SubSystem': '2', # Windows 1.91 + }, 1.92 + }, 1.93 + 'dependencies': [ 1.94 + 'third_party/jsoncpp/jsoncpp.gyp:jsoncpp', 1.95 + 'third_party/libjingle/libjingle.gyp:libjingle_peerconnection', 1.96 + ], 1.97 + 'include_dirs': [ 1.98 + 'src', 1.99 + 'webrtc/modules/interface', 1.100 + 'third_party/libjingle/source', 1.101 + ], 1.102 + }, 1.103 + ], # targets 1.104 + }, ], # OS="win" 1.105 + ['OS=="linux"', { 1.106 + 'targets': [ 1.107 + { 1.108 + 'target_name': 'peerconnection_client', 1.109 + 'type': 'executable', 1.110 + 'sources': [ 1.111 + '<(peerconnection_sample)/client/conductor.cc', 1.112 + '<(peerconnection_sample)/client/conductor.h', 1.113 + '<(peerconnection_sample)/client/defaults.cc', 1.114 + '<(peerconnection_sample)/client/defaults.h', 1.115 + '<(peerconnection_sample)/client/linux/main.cc', 1.116 + '<(peerconnection_sample)/client/linux/main_wnd.cc', 1.117 + '<(peerconnection_sample)/client/linux/main_wnd.h', 1.118 + '<(peerconnection_sample)/client/peer_connection_client.cc', 1.119 + '<(peerconnection_sample)/client/peer_connection_client.h', 1.120 + ], 1.121 + 'dependencies': [ 1.122 + 'third_party/jsoncpp/jsoncpp.gyp:jsoncpp', 1.123 + 'third_party/libjingle/libjingle.gyp:libjingle_peerconnection', 1.124 + # TODO(tommi): Switch to this and remove specific gtk dependency 1.125 + # sections below for cflags and link_settings. 1.126 + # '<(DEPTH)/build/linux/system.gyp:gtk', 1.127 + ], 1.128 + 'include_dirs': [ 1.129 + 'third_party/libjingle/source', 1.130 + ], 1.131 + 'cflags': [ 1.132 + '<!@(pkg-config --cflags gtk+-2.0)', 1.133 + ], 1.134 + 'link_settings': { 1.135 + 'ldflags': [ 1.136 + '<!@(pkg-config --libs-only-L --libs-only-other gtk+-2.0 gthread-2.0)', 1.137 + ], 1.138 + 'libraries': [ 1.139 + '<!@(pkg-config --libs-only-l gtk+-2.0 gthread-2.0)', 1.140 + '-lX11', 1.141 + '-lXcomposite', 1.142 + '-lXext', 1.143 + '-lXrender', 1.144 + ], 1.145 + }, 1.146 + }, 1.147 + ], # targets 1.148 + }, ], # OS="linux" 1.149 + # There's no peerconnection_client implementation for Mac. 1.150 + # But add this dummy peerconnection_client target so that the runhooks 1.151 + # won't complain. 1.152 + ['OS=="mac"', { 1.153 + 'targets': [ 1.154 + { 1.155 + 'target_name': 'peerconnection_client', 1.156 + 'type': 'none', 1.157 + }, 1.158 + ], 1.159 + }, ], 1.160 + ], 1.161 + }, ], 1.162 + ], 1.163 + 1.164 +}