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