Revision control

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 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 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299
# 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'
  ],
  'conditions': [
    [ 'mozpkix_only==0', {
      'targets': [
        {
          'target_name': 'nss_libs',
          'type': 'none',
          'dependencies': [
            'lib/ckfw/builtins/builtins.gyp:nssckbi',
            'lib/freebl/freebl.gyp:freebl3',
            'lib/softoken/softoken.gyp:softokn3',
          ],
          'conditions': [
            [ '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',
              ],
            }],
            [ 'OS=="linux" and mozilla_client==0', {
              'dependencies': [
                'lib/sysinit/sysinit.gyp:nsssysinit',
              ],
            }],
            [ 'disable_dbm==0', {
              'dependencies': [
                'lib/softoken/legacydb/legacydb.gyp:nssdbm3',
              ],
            }],
          ],
        },
        {
          'target_name': 'nss_static_libs',
          'type': 'none',
          'dependencies': [
            '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',
          ],
          'conditions': [
            [ 'OS=="linux" and mozilla_client==0', {
              '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',
              ],
            }],
          ],
        },
        {
          'target_name': 'nss_cmds',
          'type': 'none',
          'dependencies': [
            'cmd/certutil/certutil.gyp:certutil',
            'cmd/modutil/modutil.gyp:modutil',
            'cmd/pk12util/pk12util.gyp:pk12util',
            'cmd/shlibsign/shlibsign.gyp:shlibsign',
          ],
          'conditions': [
            [ 'mozilla_client==0', {
              'dependencies': [
                'cmd/crlutil/crlutil.gyp:crlutil',
                'cmd/pwdecrypt/pwdecrypt.gyp:pwdecrypt',
                'cmd/signtool/signtool.gyp:signtool',
                'cmd/signver/signver.gyp:signver',
                'cmd/smimetools/smimetools.gyp:cmsutil',
                'cmd/ssltap/ssltap.gyp:ssltap',
                'cmd/symkeyutil/symkeyutil.gyp:symkeyutil',
                'nss-tool/nss_tool.gyp:nss',
                'nss-tool/nss_tool.gyp:hw-support',
              ],
            }],
          ],
        },
      ],
    }, { # else, i.e. mozpkix_only==1
      # Build only mozpkix.
      'targets': [
        {
          'target_name': 'nss_mozpkix_libs',
          'type': 'none',
          'dependencies': [
            # mozpkix and mozpkix-testlib are static C++ libs
            'lib/mozpkix/mozpkix.gyp:mozpkix',
            'lib/mozpkix/mozpkix.gyp:mozpkix-testlib',
          ],
        },
      ],
    }],
    [ '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',
            'cmd/fbectest/fbectest.gyp:fbectest',
            'cmd/httpserv/httpserv.gyp:httpserv',
            'cmd/listsuites/listsuites.gyp:listsuites',
            'cmd/makepqg/makepqg.gyp:makepqg',
            'cmd/multinit/multinit.gyp:multinit',
            'cmd/nss-policy-check/nss-policy-check.gyp:nss-policy-check',
            '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',
            'cmd/pk11ectest/pk11ectest.gyp:pk11ectest',
            'cmd/pk11gcmtest/pk11gcmtest.gyp:pk11gcmtest',
            'cmd/pk11mode/pk11mode.gyp:pk11mode',
            'cmd/pk11importtest/pk11importtest.gyp:pk11importtest',
            'cmd/pk1sign/pk1sign.gyp:pk1sign',
            'cmd/pp/pp.gyp:pp',
            'cmd/rsaperf/rsaperf.gyp:rsaperf',
            'cmd/rsapoptst/rsapoptst.gyp:rsapoptst',
            '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',
            'gtests/certhigh_gtest/certhigh_gtest.gyp:certhigh_gtest',
            'gtests/cryptohi_gtest/cryptohi_gtest.gyp:cryptohi_gtest',
            'gtests/der_gtest/der_gtest.gyp:der_gtest',
            'gtests/certdb_gtest/certdb_gtest.gyp:certdb_gtest',
            'gtests/freebl_gtest/freebl_gtest.gyp:prng_gtest',
            'gtests/freebl_gtest/freebl_gtest.gyp:blake2b_gtest',
            'gtests/mozpkix_gtest/mozpkix_gtest.gyp:mozpkix_gtest',
            'gtests/nss_bogo_shim/nss_bogo_shim.gyp:nss_bogo_shim',
            'gtests/pk11_gtest/pk11_gtest.gyp:pk11_gtest',
            'gtests/softoken_gtest/softoken_gtest.gyp:softoken_gtest',
            'gtests/ssl_gtest/ssl_gtest.gyp:ssl_gtest',
            'gtests/util_gtest/util_gtest.gyp:util_gtest',
          ],
          'conditions': [
            [ 'OS=="linux"', {
              'dependencies': [
                'cmd/lowhashtest/lowhashtest.gyp:lowhashtest',
              ],
            }],
            [ 'OS=="linux" and mozilla_client==0', {
              'dependencies': [
                'gtests/sysinit_gtest/sysinit_gtest.gyp:sysinit_gtest',
              ],
            }],
            [ 'disable_libpkix==0', {
              'dependencies': [
                'cmd/pkix-errcodes/pkix-errcodes.gyp:pkix-errcodes',
              ],
            }],
            [ 'test_build==1', {
              'dependencies': [
                'cmd/mpitests/mpitests.gyp:mpi_tests',
                'gtests/freebl_gtest/freebl_gtest.gyp:freebl_gtest',
              ],
            }],
            [ 'disable_fips==0', {
              'dependencies': [
                'cmd/fipstest/fipstest.gyp:fipstest',
              ],
            }],
          ],
        },
      ],
    }],
    [ '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']]
                }],
              ],
              'action': ['<(python)', '<(DEPTH)/coreconf/shlibsign.py', '<@(_inputs)']
            }
          ],
        },
      ],
    }],
    [ 'fuzz_tls==1', {
      'targets': [
        {
          'target_name': 'fuzz_warning',
          'type': 'none',
          'actions': [
            {
              'action_name': 'fuzz_warning',
              'action': ['cat', 'fuzz/warning.txt'],
              'inputs': ['fuzz/warning.txt'],
              'ninja_use_console': 1,
              'outputs': ['dummy'],
            }
          ],
        },
      ],
    }],
    [ 'fuzz==1', {
      'targets': [
        {
          'target_name': 'fuzz',
          'type': 'none',
          'dependencies': [
            'fuzz/fuzz.gyp:nssfuzz',
          ],
        },
      ],
    }],
  ],
}