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