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 'variables': { 9 # Force rlz to use chrome's networking stack. 10 'force_rlz_use_chrome_net%': 1, 11 }, 12 'conditions': [ 13 ['force_rlz_use_chrome_net or OS!="win"', { 14 'rlz_use_chrome_net%': 1, 15 }, { 16 'rlz_use_chrome_net%': 0, 17 }], 18 ], 19 }, 20 'target_defaults': { 21 'include_dirs': [ 22 '..', 23 ], 24 }, 25 'targets': [ 26 { 27 'target_name': 'rlz_lib', 28 'type': 'static_library', 29 'dependencies': [ 30 '../base/base.gyp:base', 31 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 32 ], 33 'sources': [ 34 'chromeos/lib/machine_id_chromeos.cc', 35 'chromeos/lib/rlz_value_store_chromeos.cc', 36 'chromeos/lib/rlz_value_store_chromeos.h', 37 'ios/lib/machine_id_ios.cc', 38 'lib/assert.cc', 39 'lib/assert.h', 40 'lib/crc32.h', 41 'lib/crc32_wrapper.cc', 42 'lib/crc8.h', 43 'lib/crc8.cc', 44 'lib/financial_ping.cc', 45 'lib/financial_ping.h', 46 'lib/lib_values.cc', 47 'lib/machine_id.cc', 48 'lib/machine_id.h', 49 'lib/recursive_cross_process_lock_posix.cc', 50 'lib/recursive_cross_process_lock_posix.h', 51 'lib/rlz_enums.h', 52 'lib/rlz_lib.cc', 53 'lib/rlz_lib.h', 54 'lib/rlz_lib_clear.cc', 55 'lib/lib_values.h', 56 'lib/rlz_value_store.h', 57 'lib/string_utils.cc', 58 'lib/string_utils.h', 59 'mac/lib/machine_id_mac.cc', 60 'mac/lib/rlz_value_store_mac.mm', 61 'mac/lib/rlz_value_store_mac.h', 62 'win/lib/lib_mutex.cc', 63 'win/lib/lib_mutex.h', 64 'win/lib/machine_deal.cc', 65 'win/lib/machine_deal.h', 66 'win/lib/machine_id_win.cc', 67 'win/lib/process_info.cc', 68 'win/lib/process_info.h', 69 'win/lib/registry_util.cc', 70 'win/lib/registry_util.h', 71 'win/lib/rlz_lib_win.cc', 72 'win/lib/rlz_value_store_registry.cc', 73 'win/lib/rlz_value_store_registry.h', 74 ], 75 'conditions': [ 76 ['rlz_use_chrome_net==1', { 77 'defines': [ 78 'RLZ_NETWORK_IMPLEMENTATION_CHROME_NET', 79 ], 80 'direct_dependent_settings': { 81 'defines': [ 82 'RLZ_NETWORK_IMPLEMENTATION_CHROME_NET', 83 ], 84 }, 85 'dependencies': [ 86 '../net/net.gyp:net', 87 '../url/url.gyp:url_lib', 88 ], 89 }, { 90 'defines': [ 91 'RLZ_NETWORK_IMPLEMENTATION_WIN_INET', 92 ], 93 'direct_dependent_settings': { 94 'defines': [ 95 'RLZ_NETWORK_IMPLEMENTATION_WIN_INET', 96 ], 97 }, 98 }], 99 ], 100 'target_conditions': [ 101 # Need 'target_conditions' to override default filename_rules to include 102 # the files on iOS. 103 ['OS=="ios"', { 104 'sources/': [ 105 ['include', '^mac/lib/rlz_value_store_mac\\.'], 106 ], 107 }], 108 ], 109 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 110 'msvs_disabled_warnings': [ 4267, ], 111 }, 112 { 113 'target_name': 'test_support_rlz', 114 'type': 'static_library', 115 'dependencies': [ 116 ':rlz_lib', 117 '../base/base.gyp:base', 118 '../base/base.gyp:test_support_base', 119 '../testing/gtest.gyp:gtest', 120 ], 121 'sources': [ 122 'test/rlz_test_helpers.cc', 123 'test/rlz_test_helpers.h', 124 ], 125 }, 126 { 127 'target_name': 'rlz_unittests', 128 'type': 'executable', 129 'dependencies': [ 130 ':rlz_lib', 131 ':test_support_rlz', 132 '../base/base.gyp:base', 133 '../base/base.gyp:base_prefs', 134 '../testing/gmock.gyp:gmock', 135 '../testing/gtest.gyp:gtest', 136 '../third_party/zlib/zlib.gyp:zlib', 137 ], 138 'sources': [ 139 'lib/crc32_unittest.cc', 140 'lib/crc8_unittest.cc', 141 'lib/financial_ping_test.cc', 142 'lib/lib_values_unittest.cc', 143 'lib/machine_id_unittest.cc', 144 'lib/rlz_lib_test.cc', 145 'lib/string_utils_unittest.cc', 146 'test/rlz_unittest_main.cc', 147 'win/lib/machine_deal_test.cc', 148 ], 149 'conditions': [ 150 ['rlz_use_chrome_net==1', { 151 'dependencies': [ 152 '../net/net.gyp:net_test_support', 153 ], 154 }], 155 ], 156 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 157 'msvs_disabled_warnings': [ 4267, ], 158 }, 159 { 160 'target_name': 'rlz_id', 161 'type': 'executable', 162 'dependencies': [ 163 ':rlz_lib', 164 ], 165 'sources': [ 166 'examples/rlz_id.cc', 167 ], 168 }, 169 ], 170 'conditions': [ 171 ['OS=="win"', { 172 'targets': [ 173 { 174 'target_name': 'rlz', 175 'type': 'shared_library', 176 'sources': [ 177 'win/dll/dll_main.cc', 178 'win/dll/exports.cc', 179 ], 180 'dependencies': [ 181 ':rlz_lib', 182 '../third_party/zlib/zlib.gyp:zlib', 183 ], 184 }, 185 ], 186 }], 187 ], 188 } 189