nss.gyp 11.6 KB
Newer Older
1 2 3 4 5 6 7
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
{
  'includes': [
    'coreconf/config.gypi'
  ],
8 9 10 11 12 13
  'conditions': [
    [ 'mozpkix_only==0', {
      'targets': [
        {
          'target_name': 'nss_libs',
          'type': 'none',
14
          'dependencies': [
15 16
            'lib/ckfw/builtins/builtins.gyp:nssckbi',
            'lib/softoken/softoken.gyp:softokn3',
17
          ],
18
          'conditions': [
19 20 21 22 23 24 25 26 27 28
            [ 'OS=="solaris" and target_arch=="sparc64"', {
              'dependencies': [
                'lib/freebl/freebl.gyp:freebl_64int_3',
                'lib/freebl/freebl.gyp:freebl_64fpu_3',
              ],
            }, {
              'dependencies': [
                'lib/freebl/freebl.gyp:freebl3',
              ],
            }],
29 30 31 32 33 34 35 36 37 38 39 40
            [ 'moz_fold_libs==0', {
              'dependencies': [
                'lib/nss/nss.gyp:nss3',
                'lib/smime/smime.gyp:smime3',
                'lib/sqlite/sqlite.gyp:sqlite3',
                'lib/ssl/ssl.gyp:ssl3',
                'lib/util/util.gyp:nssutil3',
              ],
            }],
            [ 'OS=="linux"', {
              'dependencies': [
                'lib/freebl/freebl.gyp:freeblpriv3',
41 42 43 44
              ],
            }],
            [ 'OS=="linux" and mozilla_client==0', {
              'dependencies': [
45 46 47 48 49 50 51 52
                'lib/sysinit/sysinit.gyp:nsssysinit',
              ],
            }],
            [ 'disable_dbm==0', {
              'dependencies': [
                'lib/softoken/legacydb/legacydb.gyp:nssdbm3',
              ],
            }],
53
          ],
54 55 56 57
        },
        {
          'target_name': 'nss_static_libs',
          'type': 'none',
58
          'dependencies': [
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
            'cmd/lib/lib.gyp:sectool',
            'lib/base/base.gyp:nssb',
            'lib/certdb/certdb.gyp:certdb',
            'lib/certhigh/certhigh.gyp:certhi',
            'lib/ckfw/ckfw.gyp:nssckfw',
            'lib/crmf/crmf.gyp:crmf',
            'lib/cryptohi/cryptohi.gyp:cryptohi',
            'lib/dev/dev.gyp:nssdev',
            'lib/freebl/freebl.gyp:freebl',
            'lib/jar/jar.gyp:jar',
            'lib/libpkix/libpkix.gyp:libpkix',
            # mozpkix and mozpkix-testlib are static C++ libs
            'lib/mozpkix/mozpkix.gyp:mozpkix',
            'lib/mozpkix/mozpkix.gyp:mozpkix-testlib',
            'lib/nss/nss.gyp:nss_static',
            'lib/pk11wrap/pk11wrap.gyp:pk11wrap',
            'lib/pkcs12/pkcs12.gyp:pkcs12',
            'lib/pkcs7/pkcs7.gyp:pkcs7',
            'lib/pki/pki.gyp:nsspki',
            'lib/smime/smime.gyp:smime',
            'lib/softoken/softoken.gyp:softokn',
            'lib/ssl/ssl.gyp:ssl',
            'lib/util/util.gyp:nssutil',
82
          ],
83
          'conditions': [
84
            [ 'OS=="linux" and mozilla_client==0', {
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
              'dependencies': [
                'lib/sysinit/sysinit.gyp:nsssysinit_static',
              ],
            }],
            [ 'disable_dbm==0', {
              'dependencies': [
                'lib/dbm/src/src.gyp:dbm',
                'lib/softoken/legacydb/legacydb.gyp:nssdbm',
              ],
            }],
            [ 'use_system_sqlite==0', {
              'dependencies': [
                'lib/sqlite/sqlite.gyp:sqlite',
              ],
            }],
            [ 'moz_fold_libs==1', {
              'dependencies': [
                'lib/nss/nss.gyp:nss3_static',
                'lib/smime/smime.gyp:smime3_static',
              ],
            }],
106
          ],
107 108 109 110
        },
        {
          'target_name': 'nss_cmds',
          'type': 'none',
111
          'dependencies': [
112 113 114 115
            'cmd/certutil/certutil.gyp:certutil',
            'cmd/modutil/modutil.gyp:modutil',
            'cmd/pk12util/pk12util.gyp:pk12util',
            'cmd/shlibsign/shlibsign.gyp:shlibsign',
116
          ],
117 118 119 120
          'conditions': [
            [ 'comm_client==1', {
              'dependencies': [
                'cmd/smimetools/smimetools.gyp:cmsutil',
121 122
                'cmd/atob/atob.gyp:atob',
                'cmd/btoa/btoa.gyp:btoa',
123 124
              ],
            }],
125 126 127 128 129 130
            [ 'mozilla_client==0', {
              'dependencies': [
                'cmd/crlutil/crlutil.gyp:crlutil',
                'cmd/pwdecrypt/pwdecrypt.gyp:pwdecrypt',
                'cmd/signtool/signtool.gyp:signtool',
                'cmd/signver/signver.gyp:signver',
131
                'cmd/smimetools/smimetools.gyp:cmsutil',
132 133 134 135 136 137
                'cmd/ssltap/ssltap.gyp:ssltap',
                'cmd/symkeyutil/symkeyutil.gyp:symkeyutil',
                'nss-tool/nss_tool.gyp:nss',
                'nss-tool/nss_tool.gyp:hw-support',
              ],
            }],
138
          ],
139
        },
140
      ],
141 142 143 144 145 146
    }, { # else, i.e. mozpkix_only==1
      # Build only mozpkix.
      'targets': [
        {
          'target_name': 'nss_mozpkix_libs',
          'type': 'none',
147
          'dependencies': [
148 149 150
            # mozpkix and mozpkix-testlib are static C++ libs
            'lib/mozpkix/mozpkix.gyp:mozpkix',
            'lib/mozpkix/mozpkix.gyp:mozpkix-testlib',
151
          ],
152
        },
153
      ],
154
    }],
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
    [ 'disable_tests==0', {
      'targets': [
        {
          'target_name': 'nss_tests',
          'type': 'none',
          'dependencies': [
            'cmd/addbuiltin/addbuiltin.gyp:addbuiltin',
            'cmd/atob/atob.gyp:atob',
            'cmd/bltest/bltest.gyp:bltest',
            'cmd/btoa/btoa.gyp:btoa',
            'cmd/chktest/chktest.gyp:chktest',
            'cmd/crmftest/crmftest.gyp:crmftest',
            'cmd/dbtest/dbtest.gyp:dbtest',
            'cmd/derdump/derdump.gyp:derdump',
            'cmd/digest/digest.gyp:digest',
            'cmd/ecperf/ecperf.gyp:ecperf',
171
            'cmd/fbectest/fbectest.gyp:fbectest',
172 173 174 175
            'cmd/httpserv/httpserv.gyp:httpserv',
            'cmd/listsuites/listsuites.gyp:listsuites',
            'cmd/makepqg/makepqg.gyp:makepqg',
            'cmd/multinit/multinit.gyp:multinit',
176
            'cmd/nss-policy-check/nss-policy-check.gyp:nss-policy-check',
177 178 179 180 181 182 183
            'cmd/ocspclnt/ocspclnt.gyp:ocspclnt',
            'cmd/ocspresp/ocspresp.gyp:ocspresp',
            'cmd/oidcalc/oidcalc.gyp:oidcalc',
            'cmd/p7content/p7content.gyp:p7content',
            'cmd/p7env/p7env.gyp:p7env',
            'cmd/p7sign/p7sign.gyp:p7sign',
            'cmd/p7verify/p7verify.gyp:p7verify',
184
            'cmd/pk11ectest/pk11ectest.gyp:pk11ectest',
185 186
            'cmd/pk11gcmtest/pk11gcmtest.gyp:pk11gcmtest',
            'cmd/pk11mode/pk11mode.gyp:pk11mode',
187
            'cmd/pk11importtest/pk11importtest.gyp:pk11importtest',
188 189 190
            'cmd/pk1sign/pk1sign.gyp:pk1sign',
            'cmd/pp/pp.gyp:pp',
            'cmd/rsaperf/rsaperf.gyp:rsaperf',
191
            'cmd/rsapoptst/rsapoptst.gyp:rsapoptst',
192 193 194 195 196 197 198 199 200 201 202 203 204 205
            'cmd/sdrtest/sdrtest.gyp:sdrtest',
            'cmd/selfserv/selfserv.gyp:selfserv',
            'cmd/shlibsign/mangle/mangle.gyp:mangle',
            'cmd/strsclnt/strsclnt.gyp:strsclnt',
            'cmd/tests/tests.gyp:baddbdir',
            'cmd/tests/tests.gyp:conflict',
            'cmd/tests/tests.gyp:dertimetest',
            'cmd/tests/tests.gyp:encodeinttest',
            'cmd/tests/tests.gyp:nonspr10',
            'cmd/tests/tests.gyp:remtest',
            'cmd/tests/tests.gyp:secmodtest',
            'cmd/tstclnt/tstclnt.gyp:tstclnt',
            'cmd/vfychain/vfychain.gyp:vfychain',
            'cmd/vfyserv/vfyserv.gyp:vfyserv',
206
            'cmd/mpitests/mpitests.gyp:mpi_tests',
207
            'gtests/certhigh_gtest/certhigh_gtest.gyp:certhigh_gtest',
208
            'gtests/cryptohi_gtest/cryptohi_gtest.gyp:cryptohi_gtest',
209
            'gtests/der_gtest/der_gtest.gyp:der_gtest',
210
            'gtests/certdb_gtest/certdb_gtest.gyp:certdb_gtest',
211
            'gtests/freebl_gtest/freebl_gtest.gyp:prng_gtest',
212
            'gtests/freebl_gtest/freebl_gtest.gyp:blake2b_gtest',
213
            'gtests/freebl_gtest/freebl_gtest.gyp:freebl_gtest',
214 215
            'gtests/mozpkix_gtest/mozpkix_gtest.gyp:mozpkix_gtest',
            'gtests/nss_bogo_shim/nss_bogo_shim.gyp:nss_bogo_shim',
216
            'gtests/pkcs11testmodule/pkcs11testmodule.gyp:pkcs11testmodule',
217
            'gtests/pk11_gtest/pk11_gtest.gyp:pk11_gtest',
218
            'gtests/smime_gtest/smime_gtest.gyp:smime_gtest',
219
            'gtests/softoken_gtest/softoken_gtest.gyp:softoken_gtest',
220 221
            'gtests/ssl_gtest/ssl_gtest.gyp:ssl_gtest',
            'gtests/util_gtest/util_gtest.gyp:util_gtest',
222
            'lib/ckfw/builtins/testlib/builtins-testlib.gyp:nssckbi-testlib',
223 224 225 226 227
          ],
          'conditions': [
            [ 'OS=="linux"', {
              'dependencies': [
                'cmd/lowhashtest/lowhashtest.gyp:lowhashtest',
228 229 230 231
              ],
            }],
            [ 'OS=="linux" and mozilla_client==0', {
              'dependencies': [
232
                'gtests/sysinit_gtest/sysinit_gtest.gyp:sysinit_gtest',
233 234 235 236 237 238 239
              ],
            }],
            [ 'disable_libpkix==0', {
              'dependencies': [
                'cmd/pkix-errcodes/pkix-errcodes.gyp:pkix-errcodes',
              ],
            }],
240 241 242 243 244
            [ 'disable_fips==0', {
              'dependencies': [
                'cmd/fipstest/fipstest.gyp:fipstest',
              ],
            }],
245 246 247 248
          ],
        },
      ],
    }],
249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277
    [ 'sign_libs==1', {
      'targets': [
        {
        'target_name': 'nss_sign_shared_libs',
          'type': 'none',
          'dependencies': [
            'cmd/shlibsign/shlibsign.gyp:shlibsign',
          ],
          'actions': [
            {
          'action_name': 'shlibsign',
              'msvs_cygwin_shell': 0,
              'inputs': [
                '<(nss_dist_obj_dir)/lib/<(dll_prefix)freebl3.<(dll_suffix)',
                '<(nss_dist_obj_dir)/lib/<(dll_prefix)freeblpriv3.<(dll_suffix)',
                '<(nss_dist_obj_dir)/lib/<(dll_prefix)nssdbm3.<(dll_suffix)',
                '<(nss_dist_obj_dir)/lib/<(dll_prefix)softokn3.<(dll_suffix)',
              ],
              'outputs': [
                '<(nss_dist_obj_dir)/lib/<(dll_prefix)freebl3.chk',
                '<(nss_dist_obj_dir)/lib/<(dll_prefix)freeblpriv3.chk',
                '<(nss_dist_obj_dir)/lib/<(dll_prefix)nssdbm3.chk',
                '<(nss_dist_obj_dir)/lib/<(dll_prefix)softokn3.chk'
              ],
              'conditions': [
                ['OS!="linux"', {
                  'inputs/': [['exclude', 'freeblpriv']],
                  'outputs/': [['exclude', 'freeblpriv']]
                }],
278 279 280 281
                ['disable_dbm==1', {
                  'inputs/': [['exclude', 'nssdbm3']],
                  'outputs/': [['exclude', 'nssdbm3']]
                }],
282 283 284 285 286 287 288
              ],
              'action': ['<(python)', '<(DEPTH)/coreconf/shlibsign.py', '<@(_inputs)']
            }
          ],
        },
      ],
    }],
289
    [ 'fuzz_tls==1', {
290 291
      'targets': [
        {
292
          'target_name': 'fuzz_warning',
293 294 295
          'type': 'none',
          'actions': [
            {
296
              'action_name': 'fuzz_warning',
297 298 299 300 301 302 303
              'action': ['cat', 'fuzz/warning.txt'],
              'inputs': ['fuzz/warning.txt'],
              'ninja_use_console': 1,
              'outputs': ['dummy'],
            }
          ],
        },
304 305 306 307
      ],
    }],
    [ 'fuzz==1', {
      'targets': [
308 309 310 311 312
        {
          'target_name': 'fuzz',
          'type': 'none',
          'dependencies': [
            'fuzz/fuzz.gyp:nssfuzz',
313
          ],
314
        },
315 316
      ],
    }],
317 318 319 320 321 322 323 324 325 326 327
    [ 'mozilla_central==1', {
      'targets': [
        {
          'target_name': 'test_nssckbi',
          'type': 'none',
          'dependencies': [
            'lib/ckfw/builtins/testlib/builtins-testlib.gyp:nssckbi-testlib',
          ],
        },
      ],
    }],
328 329
  ],
}