media/webrtc/trunk/peerconnection.gyp

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

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

mercurial