michael@0: # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. michael@0: # michael@0: # Use of this source code is governed by a BSD-style license michael@0: # that can be found in the LICENSE file in the root of the source michael@0: # tree. An additional intellectual property rights grant can be found michael@0: # in the file PATENTS. All contributing project authors may michael@0: # be found in the AUTHORS file in the root of the source tree. michael@0: michael@0: { michael@0: 'includes': [ 'webrtc/build/common.gypi', ], michael@0: 'variables': { michael@0: 'peerconnection_sample': 'third_party/libjingle/source/talk/examples/peerconnection', michael@0: }, michael@0: michael@0: # for mozilla, we want to force stuff to build but we don't want peerconnection_client or server michael@0: # for unknown reasons, 'targets' must be outside of conditions. And don't try to build a dummy michael@0: # executable... michael@0: 'targets': [ michael@0: { michael@0: 'conditions': [ michael@0: ['build_with_mozilla==1', { michael@0: 'target_name': 'dummy', michael@0: 'type': 'none', michael@0: 'actions': [ michael@0: { michael@0: 'action_name': 'dummy', michael@0: 'action': [ michael@0: 'echo ARGHHHHHHHHHHHHHHHHHHHH', michael@0: ], michael@0: 'inputs': [ michael@0: 'dummy_file.txt', michael@0: ], michael@0: 'message': 'Generating scream', michael@0: }, ], michael@0: 'dependencies': [ michael@0: 'webrtc/modules/modules.gyp:audio_device', michael@0: 'webrtc/modules/modules.gyp:video_capture_module', michael@0: # 'webrtc/modules/modules.gyp:video_render_module', michael@0: # 'webrtc/system_wrappers/source/system_wrappers.gyp:system_wrappers', michael@0: 'webrtc/video_engine/video_engine.gyp:video_engine_core', michael@0: 'webrtc/voice_engine/voice_engine.gyp:voice_engine', michael@0: ], michael@0: }, ], michael@0: ], michael@0: }, ], michael@0: 'conditions': [ michael@0: ['build_with_mozilla==0', { michael@0: 'targets': [ michael@0: { michael@0: 'target_name': 'peerconnection_server', michael@0: 'type': 'executable', michael@0: 'sources': [ michael@0: '<(peerconnection_sample)/server/data_socket.cc', michael@0: '<(peerconnection_sample)/server/data_socket.h', michael@0: '<(peerconnection_sample)/server/main.cc', michael@0: '<(peerconnection_sample)/server/peer_channel.cc', michael@0: '<(peerconnection_sample)/server/peer_channel.h', michael@0: '<(peerconnection_sample)/server/utils.cc', michael@0: '<(peerconnection_sample)/server/utils.h', michael@0: ], michael@0: 'include_dirs': [ michael@0: 'third_party/libjingle/source', michael@0: ], michael@0: }, ], michael@0: 'conditions': [ michael@0: # TODO(wu): Merge the target for different platforms. michael@0: ['OS=="win"', { michael@0: 'targets': [ michael@0: { michael@0: 'target_name': 'peerconnection_client', michael@0: 'type': 'executable', michael@0: 'sources': [ michael@0: '<(peerconnection_sample)/client/conductor.cc', michael@0: '<(peerconnection_sample)/client/conductor.h', michael@0: '<(peerconnection_sample)/client/defaults.cc', michael@0: '<(peerconnection_sample)/client/defaults.h', michael@0: '<(peerconnection_sample)/client/main.cc', michael@0: '<(peerconnection_sample)/client/main_wnd.cc', michael@0: '<(peerconnection_sample)/client/main_wnd.h', michael@0: '<(peerconnection_sample)/client/peer_connection_client.cc', michael@0: '<(peerconnection_sample)/client/peer_connection_client.h', michael@0: 'third_party/libjingle/source/talk/base/win32socketinit.cc', michael@0: 'third_party/libjingle/source/talk/base/win32socketserver.cc', michael@0: ], michael@0: 'msvs_settings': { michael@0: 'VCLinkerTool': { michael@0: 'SubSystem': '2', # Windows michael@0: }, michael@0: }, michael@0: 'dependencies': [ michael@0: 'third_party/jsoncpp/jsoncpp.gyp:jsoncpp', michael@0: 'third_party/libjingle/libjingle.gyp:libjingle_peerconnection', michael@0: ], michael@0: 'include_dirs': [ michael@0: 'src', michael@0: 'webrtc/modules/interface', michael@0: 'third_party/libjingle/source', michael@0: ], michael@0: }, michael@0: ], # targets michael@0: }, ], # OS="win" michael@0: ['OS=="linux"', { michael@0: 'targets': [ michael@0: { michael@0: 'target_name': 'peerconnection_client', michael@0: 'type': 'executable', michael@0: 'sources': [ michael@0: '<(peerconnection_sample)/client/conductor.cc', michael@0: '<(peerconnection_sample)/client/conductor.h', michael@0: '<(peerconnection_sample)/client/defaults.cc', michael@0: '<(peerconnection_sample)/client/defaults.h', michael@0: '<(peerconnection_sample)/client/linux/main.cc', michael@0: '<(peerconnection_sample)/client/linux/main_wnd.cc', michael@0: '<(peerconnection_sample)/client/linux/main_wnd.h', michael@0: '<(peerconnection_sample)/client/peer_connection_client.cc', michael@0: '<(peerconnection_sample)/client/peer_connection_client.h', michael@0: ], michael@0: 'dependencies': [ michael@0: 'third_party/jsoncpp/jsoncpp.gyp:jsoncpp', michael@0: 'third_party/libjingle/libjingle.gyp:libjingle_peerconnection', michael@0: # TODO(tommi): Switch to this and remove specific gtk dependency michael@0: # sections below for cflags and link_settings. michael@0: # '<(DEPTH)/build/linux/system.gyp:gtk', michael@0: ], michael@0: 'include_dirs': [ michael@0: 'third_party/libjingle/source', michael@0: ], michael@0: 'cflags': [ michael@0: '