OLD | NEW |
(Empty) | |
| 1 # Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. |
| 4 |
| 5 { |
| 6 'target_defaults': { |
| 7 'defines': [ |
| 8 ], |
| 9 'include_dirs': [ |
| 10 '..', # Root of Chrome checkout |
| 11 ], |
| 12 }, |
| 13 |
| 14 'conditions': [ |
| 15 # Chromoting Client targets |
| 16 ['OS=="linux" or OS=="mac"', { |
| 17 'targets': [ |
| 18 { |
| 19 'target_name': 'chromoting_client_plugin_lib', |
| 20 'type': 'static_library', |
| 21 'defines': [ |
| 22 'HAVE_STDINT_H', # Required by on2_integer.h |
| 23 ], |
| 24 'dependencies': [ |
| 25 '../third_party/zlib/zlib.gyp:zlib', |
| 26 ], |
| 27 'sources': [ |
| 28 'client/plugin/chromoting_main.cc', |
| 29 'client/plugin/chromoting_plugin.cc', |
| 30 'client/plugin/chromoting_plugin.h', |
| 31 'client/plugin/client.cc', |
| 32 'client/plugin/client.h', |
| 33 'client/plugin/compression.cc', |
| 34 'client/plugin/compression.h', |
| 35 'client/plugin/decoder.h', |
| 36 'client/plugin/host_connection.cc', |
| 37 'client/plugin/host_connection.h', |
| 38 'client/pepper/pepper_plugin.cc', |
| 39 'client/pepper/pepper_plugin.h', |
| 40 '../media/base/yuv_convert.cc', |
| 41 '../media/base/yuv_convert.h', |
| 42 '../media/base/yuv_row.h', |
| 43 '../media/base/yuv_row_posix.cc', |
| 44 '../media/base/yuv_row_table.cc', |
| 45 ], |
| 46 'conditions': [ |
| 47 ['OS=="win"', { |
| 48 'sources': [ |
| 49 '../media/base/yuv_row_win.cc', |
| 50 ], |
| 51 }], |
| 52 ['OS=="linux" and target_arch=="x64" and linux_fpic!=1', { |
| 53 # Shared libraries need -fPIC on x86-64 |
| 54 'cflags': ['-fPIC'], |
| 55 }], |
| 56 ['OS=="mac"', { |
| 57 'direct_dependent_settings': { |
| 58 'libraries': [ |
| 59 '$(SDKROOT)/usr/lib/libz.dylib', |
| 60 'demo/third_party/on2/lib/mac/libon2_codecs.a', |
| 61 ], |
| 62 }, |
| 63 }], |
| 64 ], # end of 'conditions' |
| 65 }, # end of target 'chromoting_client_plugin_lib' |
| 66 |
| 67 # Client plugin: libchromoting_plugin.so. |
| 68 { |
| 69 'target_name': 'chromoting_client_plugin', |
| 70 'type': 'shared_library', |
| 71 'product_name': 'chromoting_plugin', |
| 72 'dependencies': [ |
| 73 'chromoting_client_plugin_lib', |
| 74 ], |
| 75 'sources': [ |
| 76 # Required here (rather than in lib) so that functions are |
| 77 # exported properly. |
| 78 'client/pepper/pepper_main.cc', |
| 79 ], |
| 80 'conditions': [ |
| 81 |
| 82 ['OS=="linux" and target_arch=="x64" and linux_fpic!=1', { |
| 83 # Shared libraries need -fPIC on x86-64 |
| 84 'cflags': [ |
| 85 '-fPIC' |
| 86 ], |
| 87 }], |
| 88 ], # end of 'conditions' |
| 89 }, # end of target 'chromoting_client_plugin' |
| 90 |
| 91 # Simple webserver for testing chromoting client plugin. |
| 92 { |
| 93 'target_name': 'chromoting_client_test_webserver', |
| 94 'type': 'executable', |
| 95 'sources': [ |
| 96 'tools/client_webserver/main.c', |
| 97 ], |
| 98 }, # end of target 'chromoting_client_test_webserver' |
| 99 |
| 100 ], # end of Client targets |
| 101 }], # end of OS conditions for Client targets |
| 102 |
| 103 ], # end of 'conditions' |
| 104 |
| 105 'targets': [ |
| 106 { |
| 107 'target_name': 'chromoting_base', |
| 108 'type': '<(library)', |
| 109 'dependencies': [ |
| 110 '../gfx/gfx.gyp:*', |
| 111 '../media/media.gyp:media', |
| 112 '../third_party/protobuf2/protobuf.gyp:protobuf_lite', |
| 113 'base/protocol/chromotocol.gyp:chromotocol_proto_lib', |
| 114 'chromoting_jingle_glue', |
| 115 # TODO(hclam): Enable VP8 in the build. |
| 116 #'third_party/on2/on2.gyp:vp8', |
| 117 ], |
| 118 'export_dependent_settings': [ |
| 119 '../third_party/protobuf2/protobuf.gyp:protobuf_lite', |
| 120 'base/protocol/chromotocol.gyp:chromotocol_proto_lib', |
| 121 'chromoting_jingle_glue', |
| 122 # TODO(hclam): Enable VP8 in the build. |
| 123 #'third_party/on2/on2.gyp:vp8', |
| 124 ], |
| 125 # This target needs a hard dependency because dependent targets |
| 126 # depend on chromotocol_proto_lib for headers. |
| 127 'hard_dependency': 1, |
| 128 'sources': [ |
| 129 'base/constants.cc', |
| 130 'base/constants.h', |
| 131 'base/multiple_array_input_stream.cc', |
| 132 'base/multiple_array_input_stream.h', |
| 133 'base/protocol_decoder.cc', |
| 134 'base/protocol_decoder.h', |
| 135 'base/protocol_util.cc', |
| 136 'base/protocol_util.h', |
| 137 ], |
| 138 }, # end of target 'chromoting_base' |
| 139 |
| 140 { |
| 141 'target_name': 'chromoting_host', |
| 142 'type': '<(library)', |
| 143 'dependencies': [ |
| 144 'chromoting_base', |
| 145 'chromoting_jingle_glue', |
| 146 ], |
| 147 'sources': [ |
| 148 'host/capturer.cc', |
| 149 'host/capturer.h', |
| 150 'host/client_connection.cc', |
| 151 'host/client_connection.h', |
| 152 'host/differ_block.h', |
| 153 'host/differ_block.cc', |
| 154 'host/encoder.h', |
| 155 'host/encoder_verbatim.cc', |
| 156 'host/encoder_verbatim.h', |
| 157 # TODO(hclam): Enable VP8 in the build. |
| 158 #'host/encoder_vp8.cc', |
| 159 #'host/encoder_vp8.h', |
| 160 'host/event_executor.h', |
| 161 'host/session_manager.cc', |
| 162 'host/session_manager.h', |
| 163 'host/simple_host.cc', |
| 164 'host/simple_host.h', |
| 165 'host/heartbeat_sender.cc', |
| 166 'host/heartbeat_sender.h', |
| 167 ], |
| 168 'conditions': [ |
| 169 ['OS=="win"', { |
| 170 'sources': [ |
| 171 'host/capturer_gdi.cc', |
| 172 'host/capturer_gdi.h', |
| 173 'host/event_executor_win.cc', |
| 174 'host/event_executor_win.h', |
| 175 ], |
| 176 }], |
| 177 ['OS=="linux"', { |
| 178 'sources': [ |
| 179 'host/capturer_linux.cc', |
| 180 'host/capturer_linux.h', |
| 181 'host/event_executor_linux.cc', |
| 182 'host/event_executor_linux.h', |
| 183 ], |
| 184 }], |
| 185 ['OS=="mac"', { |
| 186 'sources': [ |
| 187 'host/capturer_mac.cc', |
| 188 'host/capturer_mac.h', |
| 189 'host/event_executor_mac.cc', |
| 190 'host/event_executor_mac.h', |
| 191 ], |
| 192 }], |
| 193 ], |
| 194 }, # end of target 'chromoting_host' |
| 195 |
| 196 { |
| 197 'target_name': 'chromoting_client', |
| 198 'type': '<(library)', |
| 199 'dependencies': [ |
| 200 'chromoting_base', |
| 201 'chromoting_jingle_glue', |
| 202 ], |
| 203 'sources': [ |
| 204 'client/decoder.h', |
| 205 'client/decoder_verbatim.cc', |
| 206 'client/decoder_verbatim.h', |
| 207 ], |
| 208 }, # end of target 'chromoting_client' |
| 209 |
| 210 { |
| 211 'target_name': 'chromoting_simple_host', |
| 212 'type': 'executable', |
| 213 'dependencies': [ |
| 214 'chromoting_base', |
| 215 'chromoting_host', |
| 216 '../base/base.gyp:base', |
| 217 '../base/base.gyp:base_i18n', |
| 218 ], |
| 219 'sources': [ |
| 220 'host/capturer_fake.cc', |
| 221 'host/capturer_fake.h', |
| 222 'host/capturer_fake_ascii.cc', |
| 223 'host/capturer_fake_ascii.h', |
| 224 'host/simple_host_process.cc', |
| 225 ], |
| 226 }, # end of target 'chromoting_simple_host' |
| 227 |
| 228 { |
| 229 'target_name': 'chromoting_simple_client', |
| 230 'type': 'executable', |
| 231 'dependencies': [ |
| 232 'chromoting_base', |
| 233 'chromoting_client', |
| 234 'chromoting_jingle_glue', |
| 235 ], |
| 236 'sources': [ |
| 237 'client/host_connection.cc', |
| 238 'client/host_connection.h', |
| 239 'client/simple_client.cc', |
| 240 ], |
| 241 }, # end of target 'chromoting_simple_client' |
| 242 |
| 243 { |
| 244 'target_name': 'chromoting_jingle_glue', |
| 245 'type': '<(library)', |
| 246 'dependencies': [ |
| 247 '../third_party/libjingle/libjingle.gyp:libjingle', |
| 248 '../third_party/libjingle/libjingle.gyp:libjingle_p2p', |
| 249 '../chrome/chrome.gyp:notifier', |
| 250 ], |
| 251 'export_dependent_settings': [ |
| 252 '../third_party/libjingle/libjingle.gyp:libjingle', |
| 253 '../third_party/libjingle/libjingle.gyp:libjingle_p2p', |
| 254 ], |
| 255 'sources': [ |
| 256 'jingle_glue/iq_request.h', |
| 257 'jingle_glue/iq_request.cc', |
| 258 'jingle_glue/jingle_channel.h', |
| 259 'jingle_glue/jingle_channel.cc', |
| 260 'jingle_glue/jingle_client.h', |
| 261 'jingle_glue/jingle_client.cc', |
| 262 'jingle_glue/jingle_info_task.h', |
| 263 'jingle_glue/jingle_info_task.cc', |
| 264 'jingle_glue/jingle_thread.h', |
| 265 'jingle_glue/jingle_thread.cc', |
| 266 'jingle_glue/relay_port_allocator.h', |
| 267 'jingle_glue/relay_port_allocator.cc', |
| 268 ], |
| 269 }, # end of target 'chromoting_jingle_glue' |
| 270 |
| 271 { |
| 272 'target_name': 'chromoting_jingle_test_client', |
| 273 'type': 'executable', |
| 274 'dependencies': [ |
| 275 'chromoting_jingle_glue', |
| 276 '../media/media.gyp:media', |
| 277 ], |
| 278 'sources': [ |
| 279 'jingle_glue/jingle_test_client.cc', |
| 280 ], |
| 281 }, # end of target 'chromoting_jingle_test_client' |
| 282 |
| 283 # Chromoting unit tests |
| 284 { |
| 285 'target_name': 'chromoting_unittests', |
| 286 'type': 'executable', |
| 287 'dependencies': [ |
| 288 'chromoting_base', |
| 289 'chromoting_client', |
| 290 'chromoting_host', |
| 291 'chromoting_jingle_glue', |
| 292 '../base/base.gyp:base', |
| 293 '../base/base.gyp:base_i18n', |
| 294 '../gfx/gfx.gyp:*', |
| 295 '../testing/gmock.gyp:gmock', |
| 296 '../testing/gtest.gyp:gtest', |
| 297 ], |
| 298 'include_dirs': [ |
| 299 '../testing/gmock/include', |
| 300 ], |
| 301 'sources': [ |
| 302 'host/client_connection_unittest.cc', |
| 303 'base/mock_objects.h', |
| 304 'base/multiple_array_input_stream_unittest.cc', |
| 305 'base/protocol_decoder_unittest.cc', |
| 306 'client/decoder_verbatim_unittest.cc', |
| 307 'host/differ_block_unittest.cc', |
| 308 'host/mock_objects.h', |
| 309 'host/session_manager_unittest.cc', |
| 310 # TODO(hclam): Enable VP8 in the build. |
| 311 #'host/encoder_vp8_unittest.cc', |
| 312 'jingle_glue/jingle_thread_unittest.cc', |
| 313 'jingle_glue/jingle_channel_unittest.cc', |
| 314 'jingle_glue/iq_request_unittest.cc', |
| 315 'jingle_glue/mock_objects.h', |
| 316 'run_all_unittests.cc', |
| 317 ], |
| 318 'conditions': [ |
| 319 ['OS=="win"', { |
| 320 'sources': [ |
| 321 'host/capturer_gdi_unittest.cc', |
| 322 ], |
| 323 }], |
| 324 ['OS=="linux"', { |
| 325 'dependencies': [ |
| 326 # Needed for the following #include chain: |
| 327 # base/run_all_unittests.cc |
| 328 # ../base/test_suite.h |
| 329 # gtk/gtk.h |
| 330 '../build/linux/system.gyp:gtk', |
| 331 ], |
| 332 'sources': [ |
| 333 'host/capturer_linux_unittest.cc', |
| 334 ], |
| 335 }], |
| 336 ['OS=="mac"', { |
| 337 'sources': [ |
| 338 'host/capturer_mac_unittest.cc', |
| 339 ], |
| 340 }], |
| 341 ['OS=="linux" or OS=="mac"', { |
| 342 'dependencies': [ |
| 343 'chromoting_client_plugin_lib', |
| 344 ], |
| 345 'sources': [ |
| 346 'client/plugin/chromoting_plugin_unittest.cc', |
| 347 'client/pepper/pepper_main.cc', |
| 348 'client/pepper/fake_browser.cc', |
| 349 'client/pepper/fake_browser.h', |
| 350 ], |
| 351 }], |
| 352 ], # end of 'conditions' |
| 353 }, # end of target 'chromoting_unittests' |
| 354 |
| 355 ], # end of targets |
| 356 } |
| 357 |
| 358 # Local Variables: |
| 359 # tab-width:2 |
| 360 # indent-tabs-mode:nil |
| 361 # End: |
| 362 # vim: set expandtab tabstop=2 shiftwidth=2: |
OLD | NEW |