Home | History | Annotate | Download | only in crypto
      1 # Copyright (c) 2011 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   'targets': [
     10     {
     11       'target_name': 'crypto',
     12       'product_name': 'crcrypto',  # Avoid colliding with OpenSSL's libcrypto
     13       'type': '<(library)',
     14       'dependencies': [
     15         '../base/base.gyp:base',
     16       ],
     17       'msvs_disabled_warnings': [
     18         4018,
     19       ],
     20       'conditions': [
     21         [ 'OS == "linux" or OS == "freebsd" or OS == "openbsd" or OS == "solaris"', {
     22           'conditions': [
     23             [ 'chromeos==1', {
     24                 'sources/': [ ['include', '_chromeos\\.cc$'] ]
     25               },
     26             ],
     27             [ 'use_openssl==1', {
     28                 'dependencies': [
     29                   '../third_party/openssl/openssl.gyp:openssl',
     30                 ],
     31               }, {  # use_openssl==0
     32                 'dependencies': [
     33                   '../build/linux/system.gyp:nss',
     34                 ],
     35                 'export_dependent_settings': [
     36                   '../build/linux/system.gyp:nss',
     37                 ],
     38               }
     39             ],
     40           ],
     41         }, {  # OS != "linux" and OS != "freebsd" and OS != "openbsd" and OS != "solaris"
     42             'sources/': [
     43               ['exclude', '_nss\.cc$'],
     44             ],
     45         }],
     46         [ 'OS == "freebsd" or OS == "openbsd"', {
     47           'link_settings': {
     48             'libraries': [
     49               '-L/usr/local/lib -lexecinfo',
     50               ],
     51             },
     52           },
     53         ],
     54         [ 'OS == "mac"', {
     55           'link_settings': {
     56             'libraries': [
     57               '$(SDKROOT)/System/Library/Frameworks/Security.framework',
     58             ],
     59           },
     60         }, {  # OS != "mac"
     61           'sources!': [
     62             'cssm_init.cc',
     63             'cssm_init.h',
     64             'mac_security_services_lock.cc',
     65             'mac_security_services_lock.h',
     66           ],
     67         }],
     68         [ 'OS == "mac" or OS == "win"', {
     69             'dependencies': [
     70               '../third_party/nss/nss.gyp:nss',
     71             ],
     72         },],
     73         [ 'OS != "win"', {
     74             'sources!': [
     75               'capi_util.h',
     76               'capi_util.cc',
     77             ],
     78         },],
     79         [ 'use_openssl==1', {
     80             # TODO(joth): Use a glob to match exclude patterns once the
     81             #             OpenSSL file set is complete.
     82             'sources!': [
     83               'encryptor_nss.cc',
     84               'hmac_nss.cc',
     85               'nss_util.cc',
     86               'nss_util.h',
     87               'rsa_private_key_nss.cc',
     88               'secure_hash_default.cc',
     89               'signature_creator_nss.cc',
     90               'signature_verifier_nss.cc',
     91               'symmetric_key_nss.cc',
     92               'third_party/nss/blapi.h',
     93               'third_party/nss/blapit.h',
     94               'third_party/nss/sha256.h',
     95               'third_party/nss/sha512.cc',
     96             ],
     97           }, {
     98             'sources!': [
     99               'encryptor_openssl.cc',
    100               'hmac_openssl.cc',
    101               'openssl_util.cc',
    102               'openssl_util.h',
    103               'rsa_private_key_openssl.cc',
    104               'secure_hash_openssl.cc',
    105               'signature_creator_openssl.cc',
    106               'signature_verifier_openssl.cc',
    107               'symmetric_key_openssl.cc',
    108             ],
    109         },],
    110       ],
    111       'sources': [
    112         'capi_util.cc',
    113         'capi_util.h',
    114         'crypto_module_blocking_password_delegate.h',
    115         'cssm_init.cc',
    116         'cssm_init.h',
    117         'encryptor.h',
    118         'encryptor_mac.cc',
    119         'encryptor_nss.cc',
    120         'encryptor_openssl.cc',
    121         'encryptor_win.cc',
    122         'hmac.h',
    123         'hmac_mac.cc',
    124         'hmac_nss.cc',
    125         'hmac_openssl.cc',
    126         'hmac_win.cc',
    127         'mac_security_services_lock.cc',
    128         'mac_security_services_lock.h',
    129         'openssl_util.cc',
    130         'openssl_util.h',
    131         'nss_util.cc',
    132         'nss_util.h',
    133         'nss_util_internal.h',
    134         'rsa_private_key.h',
    135         'rsa_private_key.cc',
    136         'rsa_private_key_mac.cc',
    137         'rsa_private_key_nss.cc',
    138         'rsa_private_key_openssl.cc',
    139         'rsa_private_key_win.cc',
    140         'scoped_capi_types.h',
    141         'scoped_nss_types.h',
    142         'secure_hash.h',
    143         'secure_hash_default.cc',
    144         'secure_hash_openssl.cc',
    145         'sha2.cc',
    146         'sha2.h',
    147         'signature_creator.h',
    148         'signature_creator_mac.cc',
    149         'signature_creator_nss.cc',
    150         'signature_creator_openssl.cc',
    151         'signature_creator_win.cc',
    152         'signature_verifier.h',
    153         'signature_verifier_mac.cc',
    154         'signature_verifier_nss.cc',
    155         'signature_verifier_openssl.cc',
    156         'signature_verifier_win.cc',
    157         'symmetric_key.h',
    158         'symmetric_key_mac.cc',
    159         'symmetric_key_nss.cc',
    160         'symmetric_key_openssl.cc',
    161         'symmetric_key_win.cc',
    162         'third_party/nss/blapi.h',
    163         'third_party/nss/blapit.h',
    164         'third_party/nss/sha256.h',
    165         'third_party/nss/sha512.cc',
    166       ],
    167     },
    168     {
    169       'target_name': 'crypto_unittests',
    170       'type': 'executable',
    171       'sources': [
    172         # Infrastructure files.
    173         'run_all_unittests.cc',
    174 
    175         # Tests.
    176         'encryptor_unittest.cc',
    177         'hmac_unittest.cc',
    178         'rsa_private_key_unittest.cc',
    179         'rsa_private_key_nss_unittest.cc',
    180         'secure_hash_unittest.cc',
    181         'sha2_unittest.cc',
    182         'signature_creator_unittest.cc',
    183         'signature_verifier_unittest.cc',
    184         'symmetric_key_unittest.cc',
    185       ],
    186       'dependencies': [
    187         'crypto',
    188         '../base/base.gyp:base',
    189         '../base/base.gyp:test_support_base',
    190         '../testing/gmock.gyp:gmock',
    191         '../testing/gtest.gyp:gtest',
    192       ],
    193       'conditions': [
    194         [ 'OS == "linux" or OS == "freebsd" or OS == "openbsd" or OS == "solaris"', {
    195           'conditions': [
    196             [ 'linux_use_tcmalloc==1', {
    197                 'dependencies': [
    198                   '../base/allocator/allocator.gyp:allocator',
    199                 ],
    200               },
    201             ],
    202           ],
    203           'dependencies': [
    204             '../build/linux/system.gyp:nss',
    205           ],
    206         }, {  # OS != "linux" and OS != "freebsd" and OS != "openbsd" and OS != "solaris"
    207           'sources!': [
    208             'rsa_private_key_nss_unittest.cc',
    209           ]
    210         }],
    211         [ 'OS == "mac" or OS == "win"', {
    212           'dependencies': [
    213             '../third_party/nss/nss.gyp:nss',
    214           ],
    215         }],
    216         [ 'use_openssl==1', {
    217           'sources!': [
    218             'rsa_private_key_nss_unittest.cc',
    219           ],
    220         }],
    221       ],
    222     },
    223   ],
    224 }
    225