media/webrtc/trunk/peerconnection.gyp

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
     2 #
     3 # Use of this source code is governed by a BSD-style license
     4 # that can be found in the LICENSE file in the root of the source
     5 # tree. An additional intellectual property rights grant can be found
     6 # in the file PATENTS.  All contributing project authors may
     7 # be found in the AUTHORS file in the root of the source tree.
     9 {
    10   'includes': [ 'webrtc/build/common.gypi', ],
    11   'variables': {
    12     'peerconnection_sample': 'third_party/libjingle/source/talk/examples/peerconnection',
    13   },  
    15   # for mozilla, we want to force stuff to build but we don't want peerconnection_client or server
    16   # for unknown reasons, 'targets' must be outside of conditions.  And don't try to build a dummy
    17   # executable...
    18   'targets': [
    19   {
    20     'conditions': [
    21       ['build_with_mozilla==1', {
    22         'target_name': 'dummy',
    23         'type': 'none',
    24         'actions': [
    25 	{
    26           'action_name': 'dummy',
    27 	  'action': [
    28 	     'echo ARGHHHHHHHHHHHHHHHHHHHH',
    29           ],
    30 	  'inputs': [
    31 	     'dummy_file.txt',
    32           ],
    33           'message': 'Generating scream',
    34         }, ],
    35         'dependencies': [
    36           'webrtc/modules/modules.gyp:audio_device',
    37           'webrtc/modules/modules.gyp:video_capture_module',
    38 #          'webrtc/modules/modules.gyp:video_render_module',
    39 #          'webrtc/system_wrappers/source/system_wrappers.gyp:system_wrappers',
    40           'webrtc/video_engine/video_engine.gyp:video_engine_core',
    41           'webrtc/voice_engine/voice_engine.gyp:voice_engine',
    42         ],
    43       }, ],
    44     ],
    45   }, ],
    46   'conditions': [
    47     ['build_with_mozilla==0', {
    48     'targets': [
    49     {
    50       'target_name': 'peerconnection_server',
    51       'type': 'executable',
    52       'sources': [
    53         '<(peerconnection_sample)/server/data_socket.cc',
    54         '<(peerconnection_sample)/server/data_socket.h',
    55         '<(peerconnection_sample)/server/main.cc',
    56         '<(peerconnection_sample)/server/peer_channel.cc',
    57         '<(peerconnection_sample)/server/peer_channel.h',
    58         '<(peerconnection_sample)/server/utils.cc',
    59         '<(peerconnection_sample)/server/utils.h',
    60       ],
    61       'include_dirs': [
    62         'third_party/libjingle/source',
    63       ],
    64      }, ],
    65   'conditions': [
    66     # TODO(wu): Merge the target for different platforms.
    67     ['OS=="win"', {
    68       'targets': [
    69         {
    70           'target_name': 'peerconnection_client',
    71           'type': 'executable',
    72           'sources': [
    73             '<(peerconnection_sample)/client/conductor.cc',
    74             '<(peerconnection_sample)/client/conductor.h',
    75             '<(peerconnection_sample)/client/defaults.cc',
    76             '<(peerconnection_sample)/client/defaults.h',
    77             '<(peerconnection_sample)/client/main.cc',
    78             '<(peerconnection_sample)/client/main_wnd.cc',
    79             '<(peerconnection_sample)/client/main_wnd.h',
    80             '<(peerconnection_sample)/client/peer_connection_client.cc',
    81             '<(peerconnection_sample)/client/peer_connection_client.h',
    82             'third_party/libjingle/source/talk/base/win32socketinit.cc',
    83             'third_party/libjingle/source/talk/base/win32socketserver.cc',
    84           ],
    85           'msvs_settings': {
    86             'VCLinkerTool': {
    87              'SubSystem': '2',  # Windows
    88             },
    89           },
    90           'dependencies': [
    91             'third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
    92             'third_party/libjingle/libjingle.gyp:libjingle_peerconnection',
    93           ],
    94           'include_dirs': [
    95             'src',
    96             'webrtc/modules/interface',
    97             'third_party/libjingle/source',
    98           ],
    99         },
   100       ],  # targets
   101     }, ],  # OS="win"
   102     ['OS=="linux"', {
   103       'targets': [
   104         {
   105           'target_name': 'peerconnection_client',
   106           'type': 'executable',
   107           'sources': [
   108             '<(peerconnection_sample)/client/conductor.cc',
   109             '<(peerconnection_sample)/client/conductor.h',
   110             '<(peerconnection_sample)/client/defaults.cc',
   111             '<(peerconnection_sample)/client/defaults.h',
   112             '<(peerconnection_sample)/client/linux/main.cc',
   113             '<(peerconnection_sample)/client/linux/main_wnd.cc',
   114             '<(peerconnection_sample)/client/linux/main_wnd.h',
   115             '<(peerconnection_sample)/client/peer_connection_client.cc',
   116             '<(peerconnection_sample)/client/peer_connection_client.h',
   117           ],
   118           'dependencies': [
   119             'third_party/jsoncpp/jsoncpp.gyp:jsoncpp',
   120             'third_party/libjingle/libjingle.gyp:libjingle_peerconnection',
   121             # TODO(tommi): Switch to this and remove specific gtk dependency
   122             # sections below for cflags and link_settings.
   123             # '<(DEPTH)/build/linux/system.gyp:gtk',
   124           ],
   125           'include_dirs': [
   126             'third_party/libjingle/source',
   127           ],
   128           'cflags': [
   129             '<!@(pkg-config --cflags gtk+-2.0)',
   130           ],
   131           'link_settings': {
   132             'ldflags': [
   133               '<!@(pkg-config --libs-only-L --libs-only-other gtk+-2.0 gthread-2.0)',
   134             ],
   135             'libraries': [
   136               '<!@(pkg-config --libs-only-l gtk+-2.0 gthread-2.0)',
   137               '-lX11',
   138               '-lXcomposite',
   139               '-lXext',
   140               '-lXrender',
   141             ],
   142           },
   143         },
   144       ],  # targets
   145     }, ],  # OS="linux"
   146     # There's no peerconnection_client implementation for Mac.
   147     # But add this dummy peerconnection_client target so that the runhooks
   148     # won't complain.
   149     ['OS=="mac"', {
   150       'targets': [
   151         {
   152           'target_name': 'peerconnection_client',
   153           'type': 'none',
   154         },
   155       ],
   156     }, ],
   157   ],
   158     }, ],
   159   ],
   161 }

mercurial