# Copyright (c) 2012 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. { 'variables': { 'chromium_code': 1, 'variables': { # Force rlz to use chrome's networking stack. 'force_rlz_use_chrome_net%': 1, }, 'conditions': [ ['force_rlz_use_chrome_net or OS!="win"', { 'rlz_use_chrome_net%': 1, }, { 'rlz_use_chrome_net%': 0, }], ], }, 'target_defaults': { 'include_dirs': [ '..', ], }, 'targets': [ { 'target_name': 'rlz_lib', 'type': 'static_library', 'dependencies': [ '../base/base.gyp:base', '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', ], 'sources': [ 'chromeos/lib/machine_id_chromeos.cc', 'chromeos/lib/rlz_value_store_chromeos.cc', 'chromeos/lib/rlz_value_store_chromeos.h', 'ios/lib/machine_id_ios.cc', 'lib/assert.cc', 'lib/assert.h', 'lib/crc32.h', 'lib/crc32_wrapper.cc', 'lib/crc8.h', 'lib/crc8.cc', 'lib/financial_ping.cc', 'lib/financial_ping.h', 'lib/lib_values.cc', 'lib/machine_id.cc', 'lib/machine_id.h', 'lib/recursive_cross_process_lock_posix.cc', 'lib/recursive_cross_process_lock_posix.h', 'lib/rlz_enums.h', 'lib/rlz_lib.cc', 'lib/rlz_lib.h', 'lib/rlz_lib_clear.cc', 'lib/lib_values.h', 'lib/rlz_value_store.h', 'lib/string_utils.cc', 'lib/string_utils.h', 'mac/lib/machine_id_mac.cc', 'mac/lib/rlz_value_store_mac.mm', 'mac/lib/rlz_value_store_mac.h', 'win/lib/lib_mutex.cc', 'win/lib/lib_mutex.h', 'win/lib/machine_deal.cc', 'win/lib/machine_deal.h', 'win/lib/machine_id_win.cc', 'win/lib/process_info.cc', 'win/lib/process_info.h', 'win/lib/registry_util.cc', 'win/lib/registry_util.h', 'win/lib/rlz_lib_win.cc', 'win/lib/rlz_value_store_registry.cc', 'win/lib/rlz_value_store_registry.h', ], 'conditions': [ ['rlz_use_chrome_net==1', { 'defines': [ 'RLZ_NETWORK_IMPLEMENTATION_CHROME_NET', ], 'direct_dependent_settings': { 'defines': [ 'RLZ_NETWORK_IMPLEMENTATION_CHROME_NET', ], }, 'dependencies': [ '../net/net.gyp:net', '../url/url.gyp:url_lib', ], }, { 'defines': [ 'RLZ_NETWORK_IMPLEMENTATION_WIN_INET', ], 'direct_dependent_settings': { 'defines': [ 'RLZ_NETWORK_IMPLEMENTATION_WIN_INET', ], }, }], ], 'target_conditions': [ # Need 'target_conditions' to override default filename_rules to include # the files on iOS. ['OS=="ios"', { 'sources/': [ ['include', '^mac/lib/rlz_value_store_mac\\.'], ], }], ], # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 'msvs_disabled_warnings': [ 4267, ], }, { 'target_name': 'test_support_rlz', 'type': 'static_library', 'dependencies': [ ':rlz_lib', '../base/base.gyp:base', '../base/base.gyp:test_support_base', '../testing/gtest.gyp:gtest', ], 'sources': [ 'test/rlz_test_helpers.cc', 'test/rlz_test_helpers.h', ], }, { 'target_name': 'rlz_unittests', 'type': 'executable', 'dependencies': [ ':rlz_lib', ':test_support_rlz', '../base/base.gyp:base', '../testing/gmock.gyp:gmock', '../testing/gtest.gyp:gtest', '../third_party/zlib/zlib.gyp:zlib', ], 'sources': [ 'lib/crc32_unittest.cc', 'lib/crc8_unittest.cc', 'lib/financial_ping_test.cc', 'lib/lib_values_unittest.cc', 'lib/machine_id_unittest.cc', 'lib/rlz_lib_test.cc', 'lib/string_utils_unittest.cc', 'test/rlz_unittest_main.cc', 'win/lib/machine_deal_test.cc', ], 'conditions': [ ['rlz_use_chrome_net==1', { 'dependencies': [ '../net/net.gyp:net_test_support', ], }], ], # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 'msvs_disabled_warnings': [ 4267, ], }, { 'target_name': 'rlz_id', 'type': 'executable', 'dependencies': [ ':rlz_lib', ], 'sources': [ 'examples/rlz_id.cc', ], }, ], 'conditions': [ ['OS=="win"', { 'targets': [ { 'target_name': 'rlz', 'type': 'shared_library', 'sources': [ 'win/dll/dll_main.cc', 'win/dll/exports.cc', ], 'dependencies': [ ':rlz_lib', '../third_party/zlib/zlib.gyp:zlib', ], }, ], }], ], }