Home | History | Annotate | Download | only in rlz
      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