Home | History | Annotate | Download | only in ipc
      1 # Copyright (c) 2012 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 component("ipc") {
      6   sources = [
      7     "file_descriptor_set_posix.cc",
      8     "file_descriptor_set_posix.h",
      9     "ipc_channel.cc",
     10     "ipc_channel.h",
     11     "ipc_channel_factory.cc",
     12     "ipc_channel_factory.h",
     13     "ipc_channel_handle.h",
     14     "ipc_channel_nacl.cc",
     15     "ipc_channel_nacl.h",
     16     "ipc_channel_posix.cc",
     17     "ipc_channel_posix.h",
     18     "ipc_channel_proxy.cc",
     19     "ipc_channel_proxy.h",
     20     "ipc_channel_reader.cc",
     21     "ipc_channel_reader.h",
     22     "ipc_channel_win.cc",
     23     "ipc_channel_win.h",
     24     "ipc_descriptors.h",
     25     "ipc_export.h",
     26     "ipc_forwarding_message_filter.cc",
     27     "ipc_forwarding_message_filter.h",
     28     "ipc_listener.h",
     29     "ipc_logging.cc",
     30     "ipc_logging.h",
     31     "ipc_message.cc",
     32     "ipc_message.h",
     33     "ipc_message_macros.h",
     34     "ipc_message_start.h",
     35     "ipc_message_utils.cc",
     36     "ipc_message_utils.h",
     37     "ipc_param_traits.h",
     38     "ipc_platform_file.cc",
     39     "ipc_platform_file.h",
     40     "ipc_sender.h",
     41     "ipc_switches.cc",
     42     "ipc_switches.h",
     43     "ipc_sync_channel.cc",
     44     "ipc_sync_channel.h",
     45     "ipc_sync_message.cc",
     46     "ipc_sync_message.h",
     47     "ipc_sync_message_filter.cc",
     48     "ipc_sync_message_filter.h",
     49     "param_traits_log_macros.h",
     50     "param_traits_macros.h",
     51     "param_traits_read_macros.h",
     52     "param_traits_write_macros.h",
     53     "struct_constructor_macros.h",
     54     "struct_destructor_macros.h",
     55     "unix_domain_socket_util.cc",
     56     "unix_domain_socket_util.h",
     57   ]
     58 
     59   #if (!is_untrusted_nacl) {
     60     sources -= [
     61       "ipc_channel_nacl.cc",
     62       "ipc_channel_nacl.h",
     63     ]
     64 
     65   if (is_win || is_ios) {
     66     sources -= [
     67       "ipc_channel_factory.cc",
     68       "unix_domain_socket_util.cc",
     69     ]
     70   }
     71 
     72   defines = [ "IPC_IMPLEMENTATION" ]
     73 
     74   deps = [
     75     "//base",
     76     # TODO(viettrungluu): Needed for base/lazy_instance.h, which is suspect.
     77     "//base/third_party/dynamic_annotations",
     78   ]
     79 }
     80 
     81 test("ipc_tests") {
     82   sources = [
     83     "file_descriptor_set_posix_unittest.cc",
     84     "ipc_channel_posix_unittest.cc",
     85     "ipc_channel_unittest.cc",
     86     "ipc_fuzzing_tests.cc",
     87     "ipc_message_unittest.cc",
     88     "ipc_message_utils_unittest.cc",
     89     "ipc_send_fds_test.cc",
     90     "ipc_sync_channel_unittest.cc",
     91     "ipc_sync_message_unittest.cc",
     92     "ipc_sync_message_unittest.h",
     93     "ipc_test_base.cc",
     94     "ipc_test_base.h",
     95     "sync_socket_unittest.cc",
     96     "unix_domain_socket_util_unittest.cc",
     97   ]
     98 
     99   #if (toolkit_uses_gtk) {
    100   #  deps += "/build/linux/system:gtk"
    101   #}
    102   if (is_win || is_ios) {
    103     sources -= "unix_domain_socket_util_unittest.cc"
    104   }
    105   #if (is_android && gtest_target_type == "shared_library") {
    106   #  deps += "/testing/android/native_test.gyp:native_testNative_code"
    107   #}
    108   #if (is_posix && !is_mac && !is_android) {
    109   #  if (linux_use_tcmalloc) {
    110   #    deps += "/base/allocator"
    111   #  }
    112   #}
    113 
    114   deps = [
    115     ":ipc",
    116     ":test_support_ipc",
    117     "//base",
    118     "//base:base_i18n",
    119     "//base:run_all_unittests",
    120     "//base:test_support_base",
    121     "//testing:gtest",
    122   ]
    123 }
    124 
    125 test("ipc_perftests") {
    126   sources = [
    127     "ipc_perftests.cc",
    128     "ipc_test_base.cc",
    129     "ipc_test_base.h",
    130   ]
    131 
    132   #if (toolkit_uses_gtk) {
    133   #  deps += "/build/linux/system:gtk"
    134   #}
    135   #if (is_android && gtest_target_type == "shared_library") {
    136   #  deps += "/testing/android/native_test.gyp:native_testNative_code"
    137   #}
    138   #if (is_posix && !is_mac && !is_android) {
    139   #  if (linux_use_tcmalloc) {
    140   #    deps += "/base/allocator"
    141   #  }
    142   #}
    143 
    144   deps = [
    145     ":ipc",
    146     ":test_support_ipc",
    147     "//base",
    148     "//base:base_i18n",
    149     "//base:test_support_base",
    150     "//base:test_support_perf",
    151     "//testing:gtest",
    152   ]
    153 }
    154 
    155 static_library("test_support_ipc") {
    156   sources = [
    157     "ipc_multiprocess_test.cc",
    158     "ipc_multiprocess_test.h",
    159     "ipc_test_sink.cc",
    160     "ipc_test_sink.h",
    161   ]
    162   deps = [
    163     ":ipc",
    164     "//base",
    165     "//testing:gtest",
    166   ]
    167 }
    168 
    169