diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-11 23:08:17 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-11 23:08:17 +0000 |
commit | 542bf24a69172067524bee43954955fd5b6d2341 (patch) | |
tree | f13e99c1861a8097ddeafc3c500ea037cdc42015 /remoting/remoting.gyp | |
parent | e09b39da942e19d4becad8f9c7aadc206385b58b (diff) | |
download | chromium_src-542bf24a69172067524bee43954955fd5b6d2341.zip chromium_src-542bf24a69172067524bee43954955fd5b6d2341.tar.gz chromium_src-542bf24a69172067524bee43954955fd5b6d2341.tar.bz2 |
Enable remoting unittests to run on build bots
Renamed chromoting.gyp to remoting.gyp.
Also enabled remoting_unittests to be executed on the build bots.
Review URL: http://codereview.chromium.org/2720007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49609 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/remoting.gyp')
-rw-r--r-- | remoting/remoting.gyp | 390 |
1 files changed, 390 insertions, 0 deletions
diff --git a/remoting/remoting.gyp b/remoting/remoting.gyp new file mode 100644 index 0000000..890f142 --- /dev/null +++ b/remoting/remoting.gyp @@ -0,0 +1,390 @@ +# Copyright (c) 2010 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'target_defaults': { + 'defines': [ + ], + 'include_dirs': [ + '..', # Root of Chrome checkout + ], + }, + + 'conditions': [ + # Chromoting Client targets + ['OS=="linux" or OS=="mac"', { + 'targets': [ + { + 'target_name': 'chromoting_client_plugin_lib', + 'type': 'static_library', + 'defines': [ + 'HAVE_STDINT_H', # Required by on2_integer.h + ], + 'dependencies': [ + '../third_party/zlib/zlib.gyp:zlib', + ], + 'sources': [ + 'client/plugin/chromoting_main.cc', + 'client/plugin/chromoting_plugin.cc', + 'client/plugin/chromoting_plugin.h', + 'client/plugin/client.cc', + 'client/plugin/client.h', + 'client/plugin/compression.cc', + 'client/plugin/compression.h', + 'client/plugin/decoder.h', + 'client/plugin/host_connection.cc', + 'client/plugin/host_connection.h', + 'client/pepper/pepper_plugin.cc', + 'client/pepper/pepper_plugin.h', + '../media/base/yuv_convert.cc', + '../media/base/yuv_convert.h', + '../media/base/yuv_row.h', + '../media/base/yuv_row_posix.cc', + '../media/base/yuv_row_table.cc', + ], + 'conditions': [ + ['OS=="win"', { + 'sources': [ + '../media/base/yuv_row_win.cc', + ], + }], + ['OS=="linux" and target_arch=="x64" and linux_fpic!=1', { + # Shared libraries need -fPIC on x86-64 + 'cflags': ['-fPIC'], + }], + ], # end of 'conditions' + }, # end of target 'chromoting_client_plugin_lib' + + # Client plugin: libchromoting_plugin.so. + { + 'target_name': 'chromoting_client_plugin', + 'type': 'shared_library', + 'product_name': 'chromoting_plugin', + 'dependencies': [ + 'chromoting_client_plugin_lib', + ], + 'sources': [ + # Required here (rather than in lib) so that functions are + # exported properly. + 'client/pepper/pepper_main.cc', + ], + 'conditions': [ + ['OS=="linux" and target_arch=="x64" and linux_fpic!=1', { + # Shared libraries need -fPIC on x86-64 + 'cflags': [ + '-fPIC' + ], + }], + ], # end of 'conditions' + }, # end of target 'chromoting_client_plugin' + + # Simple webserver for testing chromoting client plugin. + { + 'target_name': 'chromoting_client_test_webserver', + 'type': 'executable', + 'sources': [ + 'tools/client_webserver/main.c', + ], + }, # end of target 'chromoting_client_test_webserver' + + ], # end of Client targets + }], # end of OS conditions for Client targets + + # TODO(hclam): Enable this target for mac. + ['OS=="linux" or OS=="freebsd" or OS=="openbsd"', { + 'targets': [ + { + 'target_name': 'chromoting_x11_client', + 'type': 'executable', + 'dependencies': [ + 'chromoting_base', + 'chromoting_client', + 'chromoting_jingle_glue', + ], + 'link_settings': { + 'libraries': [ + '-ldl', + '-lX11', + '-lXrender', + '-lXext', + ], + }, + 'sources': [ + 'client/x11_client.cc', + 'client/x11_view.cc', + 'client/x11_view.h', + ], + }, # end of target 'chromoting_x11_client' + ], + }], # end of OS conditions for x11 client + + ], # end of 'conditions' + + 'targets': [ + { + 'target_name': 'chromoting_base', + 'type': '<(library)', + 'dependencies': [ + '../gfx/gfx.gyp:*', + '../media/media.gyp:media', + '../third_party/protobuf2/protobuf.gyp:protobuf_lite', + 'base/protocol/chromotocol.gyp:chromotocol_proto_lib', + 'chromoting_jingle_glue', + # TODO(hclam): Enable VP8 in the build. + #'third_party/on2/on2.gyp:vp8', + ], + 'export_dependent_settings': [ + '../third_party/protobuf2/protobuf.gyp:protobuf_lite', + 'base/protocol/chromotocol.gyp:chromotocol_proto_lib', + # TODO(hclam): Enable VP8 in the build. + #'third_party/on2/on2.gyp:vp8', + ], + # This target needs a hard dependency because dependent targets + # depend on chromotocol_proto_lib for headers. + 'hard_dependency': 1, + 'sources': [ + 'base/constants.cc', + 'base/constants.h', + 'base/multiple_array_input_stream.cc', + 'base/multiple_array_input_stream.h', + 'base/protocol_decoder.cc', + 'base/protocol_decoder.h', + 'base/protocol_util.cc', + 'base/protocol_util.h', + ], + }, # end of target 'chromoting_base' + + { + 'target_name': 'chromoting_host', + 'type': '<(library)', + 'dependencies': [ + 'chromoting_base', + 'chromoting_jingle_glue', + ], + 'sources': [ + 'host/capturer.cc', + 'host/capturer.h', + 'host/client_connection.cc', + 'host/client_connection.h', + 'host/differ.h', + 'host/differ.cc', + 'host/differ_block.h', + 'host/differ_block.cc', + 'host/encoder.h', + 'host/encoder_verbatim.cc', + 'host/encoder_verbatim.h', + # TODO(hclam): Enable VP8 in the build. + #'host/encoder_vp8.cc', + #'host/encoder_vp8.h', + 'host/event_executor.h', + 'host/session_manager.cc', + 'host/session_manager.h', + 'host/simple_host.cc', + 'host/simple_host.h', + 'host/heartbeat_sender.cc', + 'host/heartbeat_sender.h', + ], + 'conditions': [ + ['OS=="win"', { + 'sources': [ + 'host/capturer_gdi.cc', + 'host/capturer_gdi.h', + 'host/event_executor_win.cc', + 'host/event_executor_win.h', + ], + }], + ['OS=="linux"', { + 'sources': [ + 'host/capturer_linux.cc', + 'host/capturer_linux.h', + 'host/event_executor_linux.cc', + 'host/event_executor_linux.h', + ], + }], + ['OS=="mac"', { + 'sources': [ + 'host/capturer_mac.cc', + 'host/capturer_mac.h', + 'host/event_executor_mac.cc', + 'host/event_executor_mac.h', + ], + }], + ], + }, # end of target 'chromoting_host' + + { + 'target_name': 'chromoting_client', + 'type': '<(library)', + 'dependencies': [ + 'chromoting_base', + 'chromoting_jingle_glue', + ], + 'sources': [ + 'client/client_util.cc', + 'client/client_util.h', + 'client/chromoting_view.h', + 'client/decoder.h', + 'client/decoder_verbatim.cc', + 'client/decoder_verbatim.h', + 'client/host_connection.h', + 'client/jingle_host_connection.cc', + 'client/jingle_host_connection.h', + ], + }, # end of target 'chromoting_client' + + { + 'target_name': 'chromoting_simple_host', + 'type': 'executable', + 'dependencies': [ + 'chromoting_base', + 'chromoting_host', + 'chromoting_jingle_glue', + '../base/base.gyp:base', + '../base/base.gyp:base_i18n', + ], + 'sources': [ + 'host/capturer_fake.cc', + 'host/capturer_fake.h', + 'host/capturer_fake_ascii.cc', + 'host/capturer_fake_ascii.h', + 'host/simple_host_process.cc', + ], + }, # end of target 'chromoting_simple_host' + + { + 'target_name': 'chromoting_simple_client', + 'type': 'executable', + 'dependencies': [ + 'chromoting_base', + 'chromoting_client', + 'chromoting_jingle_glue', + ], + 'sources': [ + 'client/simple_client.cc', + ], + }, # end of target 'chromoting_simple_client' + + { + 'target_name': 'chromoting_jingle_glue', + 'type': '<(library)', + 'dependencies': [ + # TODO(sergeyu): move all code that is shared between notifier and + # jingle_glue to a separate library and use it here. + '../chrome/chrome.gyp:notifier', + '../third_party/libjingle/libjingle.gyp:libjingle', + '../third_party/libjingle/libjingle.gyp:libjingle_p2p', + ], + 'export_dependent_settings': [ + '../third_party/libjingle/libjingle.gyp:libjingle', + '../third_party/libjingle/libjingle.gyp:libjingle_p2p', + ], + 'sources': [ + 'jingle_glue/iq_request.h', + 'jingle_glue/iq_request.cc', + 'jingle_glue/jingle_channel.h', + 'jingle_glue/jingle_channel.cc', + 'jingle_glue/jingle_client.h', + 'jingle_glue/jingle_client.cc', + 'jingle_glue/jingle_info_task.h', + 'jingle_glue/jingle_info_task.cc', + 'jingle_glue/jingle_thread.h', + 'jingle_glue/jingle_thread.cc', + 'jingle_glue/relay_port_allocator.h', + 'jingle_glue/relay_port_allocator.cc', + ], + }, # end of target 'chromoting_jingle_glue' + + { + 'target_name': 'chromoting_jingle_test_client', + 'type': 'executable', + 'dependencies': [ + 'chromoting_base', + 'chromoting_jingle_glue', + '../media/media.gyp:media', + ], + 'sources': [ + 'jingle_glue/jingle_test_client.cc', + ], + }, # end of target 'chromoting_jingle_test_client' + + # Remoting unit tests + { + 'target_name': 'remoting_unittests', + 'type': 'executable', + 'dependencies': [ + 'chromoting_base', + 'chromoting_client', + 'chromoting_host', + 'chromoting_jingle_glue', + '../base/base.gyp:base', + '../base/base.gyp:base_i18n', + '../gfx/gfx.gyp:*', + '../testing/gmock.gyp:gmock', + '../testing/gtest.gyp:gtest', + ], + 'include_dirs': [ + '../testing/gmock/include', + ], + 'sources': [ + 'host/client_connection_unittest.cc', + 'base/mock_objects.h', + 'base/multiple_array_input_stream_unittest.cc', + 'base/protocol_decoder_unittest.cc', + 'client/decoder_verbatim_unittest.cc', + 'host/differ_unittest.cc', + 'host/differ_block_unittest.cc', + 'host/mock_objects.h', + 'host/session_manager_unittest.cc', + # TODO(hclam): Enable VP8 in the build. + #'host/encoder_vp8_unittest.cc', + 'jingle_glue/jingle_thread_unittest.cc', + 'jingle_glue/jingle_channel_unittest.cc', + 'jingle_glue/iq_request_unittest.cc', + 'jingle_glue/mock_objects.h', + 'run_all_unittests.cc', + ], + 'conditions': [ + ['OS=="win"', { + 'sources': [ + 'host/capturer_gdi_unittest.cc', + ], + }], + ['OS=="linux"', { + 'dependencies': [ + # Needed for the following #include chain: + # base/run_all_unittests.cc + # ../base/test_suite.h + # gtk/gtk.h + '../build/linux/system.gyp:gtk', + ], + 'sources': [ + 'host/capturer_linux_unittest.cc', + ], + }], + ['OS=="mac"', { + 'sources': [ + 'host/capturer_mac_unittest.cc', + ], + }], + ['OS=="linux" or OS=="mac"', { + 'dependencies': [ + 'chromoting_client_plugin_lib', + ], + 'sources': [ + 'client/plugin/chromoting_plugin_unittest.cc', + 'client/pepper/pepper_main.cc', + 'client/pepper/fake_browser.cc', + 'client/pepper/fake_browser.h', + ], + }], + ], # end of 'conditions' + }, # end of target 'chromoting_unittests' + ], # end of targets +} + +# Local Variables: +# tab-width:2 +# indent-tabs-mode:nil +# End: +# vim: set expandtab tabstop=2 shiftwidth=2: |