ipc.gyp revision 5821806d5e7f356e8fa4b058a389a808ea183019
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{ 6 'variables': { 7 'chromium_code': 1, 8 }, 9 'includes': [ 10 'ipc.gypi', 11 ], 12 'targets': [ 13 { 14 'target_name': 'ipc', 15 'type': '<(component)', 16 'variables': { 17 'ipc_target': 1, 18 }, 19 'dependencies': [ 20 '../base/base.gyp:base', 21 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 22 ], 23 # TODO(gregoryd): direct_dependent_settings should be shared with the 24 # 64-bit target, but it doesn't work due to a bug in gyp 25 'direct_dependent_settings': { 26 'include_dirs': [ 27 '..', 28 ], 29 }, 30 }, 31 { 32 'target_name': 'ipc_tests', 33 'type': '<(gtest_target_type)', 34 'dependencies': [ 35 'ipc', 36 'test_support_ipc', 37 '../base/base.gyp:base', 38 '../base/base.gyp:base_i18n', 39 '../base/base.gyp:test_support_base', 40 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 41 '../testing/gtest.gyp:gtest', 42 ], 43 'include_dirs': [ 44 '..' 45 ], 46 'sources': [ 47 'file_descriptor_set_posix_unittest.cc', 48 'ipc_channel_posix_unittest.cc', 49 'ipc_fuzzing_tests.cc', 50 'ipc_message_unittest.cc', 51 'ipc_message_utils_unittest.cc', 52 'ipc_send_fds_test.cc', 53 'ipc_sync_channel_unittest.cc', 54 'ipc_sync_message_unittest.cc', 55 'ipc_sync_message_unittest.h', 56 'ipc_tests.cc', 57 'ipc_tests.h', 58 'sync_socket_unittest.cc', 59 ], 60 'conditions': [ 61 ['toolkit_uses_gtk == 1', { 62 'dependencies': [ 63 '../build/linux/system.gyp:gtk', 64 ], 65 }], 66 ['OS == "android" and gtest_target_type == "shared_library"', { 67 'dependencies': [ 68 '../testing/android/native_test.gyp:native_test_native_code', 69 ], 70 }], 71 ['os_posix == 1 and OS != "mac" and OS != "android"', { 72 'conditions': [ 73 ['linux_use_tcmalloc==1', { 74 'dependencies': [ 75 '../base/allocator/allocator.gyp:allocator', 76 ], 77 }], 78 ], 79 }] 80 ], 81 }, 82 { 83 'target_name': 'test_support_ipc', 84 'type': 'static_library', 85 'dependencies': [ 86 'ipc', 87 '../base/base.gyp:base', 88 '../testing/gtest.gyp:gtest', 89 ], 90 'sources': [ 91 'ipc_multiprocess_test.cc', 92 'ipc_multiprocess_test.h', 93 'ipc_test_sink.cc', 94 'ipc_test_sink.h', 95 ], 96 }, 97 ], 98 'conditions': [ 99 ['OS=="win"', { 100 'targets': [ 101 { 102 'target_name': 'ipc_win64', 103 'type': '<(component)', 104 'variables': { 105 'ipc_target': 1, 106 }, 107 'dependencies': [ 108 '../base/base.gyp:base_nacl_win64', 109 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64', 110 ], 111 # TODO(gregoryd): direct_dependent_settings should be shared with the 112 # 32-bit target, but it doesn't work due to a bug in gyp 113 'direct_dependent_settings': { 114 'include_dirs': [ 115 '..', 116 ], 117 }, 118 'configurations': { 119 'Common_Base': { 120 'msvs_target_platform': 'x64', 121 }, 122 }, 123 }, 124 ], 125 }], 126 # Special target to wrap a gtest_target_type==shared_library 127 # ipc_tests into an android apk for execution. 128 # See base.gyp for TODO(jrg)s about this strategy. 129 ['OS == "android" and gtest_target_type == "shared_library"', { 130 'targets': [ 131 { 132 'target_name': 'ipc_tests_apk', 133 'type': 'none', 134 'dependencies': [ 135 'ipc_tests', 136 ], 137 'variables': { 138 'test_suite_name': 'ipc_tests', 139 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)ipc_tests<(SHARED_LIB_SUFFIX)', 140 }, 141 'includes': [ '../build/apk_test.gypi' ], 142 }], 143 }], 144 ], 145} 146