Index: build/secondary/third_party/nss/BUILD.gn |
diff --git a/build/secondary/third_party/nss/BUILD.gn b/build/secondary/third_party/nss/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..25d449e14dc171b3635d59ff3d54e022fd3cf196 |
--- /dev/null |
+++ b/build/secondary/third_party/nss/BUILD.gn |
@@ -0,0 +1,1211 @@ |
+# Copyright 2014 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+import("//build/config/linux/pkg_config.gni") |
+ |
+if (is_linux) { |
+ # This is a dependency on NSS with no libssl. On Linux we use a built-in SSL |
+ # library but the system NSS libraries. Non-Linux platforms using NSS use the |
+ # hermetic one in //third_party/nss. |
+ # |
+ # Generally you should depend on //crypto:platform instead of using this |
+ # config since that will properly pick up NSS or OpenSSL depending on |
+ # platform and build config. |
+ pkg_config("system_nss_no_ssl_config") { |
+ packages = [ "nss" ] |
+ extra_args = [ |
+ "-v", |
+ "-lssl3", |
+ ] |
+ } |
+} else { |
+ include_nss_root_certs = is_ios |
+ include_nss_libpkix = is_ios |
+ |
+ config("nspr_config") { |
+ defines = [ "NO_NSPR_10_SUPPORT" ] |
+ include_dirs = [ |
+ "nspr/pr/include", |
+ "nspr/lib/ds", |
+ "nspr/lib/libc/include", |
+ ] |
+ |
+ if (component_mode != "shared_library") { |
+ defines += [ "NSPR_STATIC" ] |
+ } |
+ } |
+ |
+ component("nspr") { |
+ output_name = "crnspr" |
+ sources = [ |
+ "nspr/lib/ds/plarena.c", |
+ "nspr/lib/ds/plarena.h", |
+ "nspr/lib/ds/plarenas.h", |
+ "nspr/lib/ds/plhash.c", |
+ "nspr/lib/ds/plhash.h", |
+ "nspr/lib/libc/include/plbase64.h", |
+ "nspr/lib/libc/include/plerror.h", |
+ "nspr/lib/libc/include/plgetopt.h", |
+ "nspr/lib/libc/include/plstr.h", |
+ "nspr/lib/libc/src/base64.c", |
+ "nspr/lib/libc/src/plerror.c", |
+ "nspr/lib/libc/src/plgetopt.c", |
+ "nspr/lib/libc/src/strcase.c", |
+ "nspr/lib/libc/src/strcat.c", |
+ "nspr/lib/libc/src/strchr.c", |
+ "nspr/lib/libc/src/strcmp.c", |
+ "nspr/lib/libc/src/strcpy.c", |
+ "nspr/lib/libc/src/strdup.c", |
+ "nspr/lib/libc/src/strlen.c", |
+ "nspr/lib/libc/src/strpbrk.c", |
+ "nspr/lib/libc/src/strstr.c", |
+ "nspr/lib/libc/src/strtok.c", |
+ "nspr/pr/include/md/_darwin.cfg", |
+ "nspr/pr/include/md/_darwin.h", |
+ "nspr/pr/include/md/_pcos.h", |
+ "nspr/pr/include/md/_pth.h", |
+ "nspr/pr/include/md/_unix_errors.h", |
+ "nspr/pr/include/md/_unixos.h", |
+ "nspr/pr/include/md/_win32_errors.h", |
+ "nspr/pr/include/md/_win95.cfg", |
+ "nspr/pr/include/md/_win95.h", |
+ "nspr/pr/include/md/prosdep.h", |
+ "nspr/pr/include/nspr.h", |
+ "nspr/pr/include/obsolete/pralarm.h", |
+ "nspr/pr/include/obsolete/probslet.h", |
+ "nspr/pr/include/obsolete/protypes.h", |
+ "nspr/pr/include/obsolete/prsem.h", |
+ "nspr/pr/include/pratom.h", |
+ "nspr/pr/include/prbit.h", |
+ "nspr/pr/include/prclist.h", |
+ "nspr/pr/include/prcmon.h", |
+ "nspr/pr/include/prcountr.h", |
+ "nspr/pr/include/prcpucfg.h", |
+ "nspr/pr/include/prcvar.h", |
+ "nspr/pr/include/prdtoa.h", |
+ "nspr/pr/include/prenv.h", |
+ "nspr/pr/include/prerr.h", |
+ "nspr/pr/include/prerror.h", |
+ "nspr/pr/include/prinet.h", |
+ "nspr/pr/include/prinit.h", |
+ "nspr/pr/include/prinrval.h", |
+ "nspr/pr/include/prio.h", |
+ "nspr/pr/include/pripcsem.h", |
+ "nspr/pr/include/private/pprio.h", |
+ "nspr/pr/include/private/pprmwait.h", |
+ "nspr/pr/include/private/pprthred.h", |
+ "nspr/pr/include/private/primpl.h", |
+ "nspr/pr/include/private/prpriv.h", |
+ "nspr/pr/include/prlink.h", |
+ "nspr/pr/include/prlock.h", |
+ "nspr/pr/include/prlog.h", |
+ "nspr/pr/include/prlong.h", |
+ "nspr/pr/include/prmem.h", |
+ "nspr/pr/include/prmon.h", |
+ "nspr/pr/include/prmwait.h", |
+ "nspr/pr/include/prnetdb.h", |
+ "nspr/pr/include/prolock.h", |
+ "nspr/pr/include/prpdce.h", |
+ "nspr/pr/include/prprf.h", |
+ "nspr/pr/include/prproces.h", |
+ "nspr/pr/include/prrng.h", |
+ "nspr/pr/include/prrwlock.h", |
+ "nspr/pr/include/prshm.h", |
+ "nspr/pr/include/prshma.h", |
+ "nspr/pr/include/prsystem.h", |
+ "nspr/pr/include/prthread.h", |
+ "nspr/pr/include/prtime.h", |
+ "nspr/pr/include/prtpool.h", |
+ "nspr/pr/include/prtrace.h", |
+ "nspr/pr/include/prtypes.h", |
+ "nspr/pr/include/prvrsion.h", |
+ "nspr/pr/include/prwin16.h", |
+ "nspr/pr/src/io/prdir.c", |
+ "nspr/pr/src/io/prfdcach.c", |
+ "nspr/pr/src/io/prfile.c", |
+ "nspr/pr/src/io/prio.c", |
+ "nspr/pr/src/io/priometh.c", |
+ "nspr/pr/src/io/pripv6.c", |
+ "nspr/pr/src/io/prlayer.c", |
+ "nspr/pr/src/io/prlog.c", |
+ "nspr/pr/src/io/prmapopt.c", |
+ "nspr/pr/src/io/prmmap.c", |
+ "nspr/pr/src/io/prmwait.c", |
+ "nspr/pr/src/io/prpolevt.c", |
+ "nspr/pr/src/io/prprf.c", |
+ "nspr/pr/src/io/prscanf.c", |
+ "nspr/pr/src/io/prsocket.c", |
+ "nspr/pr/src/io/prstdio.c", |
+ "nspr/pr/src/linking/prlink.c", |
+ "nspr/pr/src/malloc/prmalloc.c", |
+ "nspr/pr/src/malloc/prmem.c", |
+ "nspr/pr/src/md/prosdep.c", |
+ "nspr/pr/src/md/unix/darwin.c", |
+ "nspr/pr/src/md/unix/os_Darwin.s", |
+ "nspr/pr/src/md/unix/unix.c", |
+ "nspr/pr/src/md/unix/unix_errors.c", |
+ "nspr/pr/src/md/unix/uxproces.c", |
+ "nspr/pr/src/md/unix/uxrng.c", |
+ "nspr/pr/src/md/unix/uxshm.c", |
+ "nspr/pr/src/md/unix/uxwrap.c", |
+ "nspr/pr/src/md/windows/ntgc.c", |
+ "nspr/pr/src/md/windows/ntinrval.c", |
+ "nspr/pr/src/md/windows/ntmisc.c", |
+ "nspr/pr/src/md/windows/ntsec.c", |
+ "nspr/pr/src/md/windows/ntsem.c", |
+ "nspr/pr/src/md/windows/w32ipcsem.c", |
+ "nspr/pr/src/md/windows/w32poll.c", |
+ "nspr/pr/src/md/windows/w32rng.c", |
+ "nspr/pr/src/md/windows/w32shm.c", |
+ "nspr/pr/src/md/windows/w95cv.c", |
+ "nspr/pr/src/md/windows/w95dllmain.c", |
+ "nspr/pr/src/md/windows/w95io.c", |
+ "nspr/pr/src/md/windows/w95sock.c", |
+ "nspr/pr/src/md/windows/w95thred.c", |
+ "nspr/pr/src/md/windows/win32_errors.c", |
+ "nspr/pr/src/memory/prseg.c", |
+ "nspr/pr/src/memory/prshm.c", |
+ "nspr/pr/src/memory/prshma.c", |
+ "nspr/pr/src/misc/pralarm.c", |
+ "nspr/pr/src/misc/pratom.c", |
+ "nspr/pr/src/misc/praton.c", |
+ "nspr/pr/src/misc/prcountr.c", |
+ "nspr/pr/src/misc/prdtoa.c", |
+ "nspr/pr/src/misc/prenv.c", |
+ "nspr/pr/src/misc/prerr.c", |
+ "nspr/pr/src/misc/prerror.c", |
+ "nspr/pr/src/misc/prerrortable.c", |
+ "nspr/pr/src/misc/prinit.c", |
+ "nspr/pr/src/misc/prinrval.c", |
+ "nspr/pr/src/misc/pripc.c", |
+ "nspr/pr/src/misc/pripcsem.c", |
+ "nspr/pr/src/misc/prlog2.c", |
+ "nspr/pr/src/misc/prlong.c", |
+ "nspr/pr/src/misc/prnetdb.c", |
+ "nspr/pr/src/misc/prolock.c", |
+ "nspr/pr/src/misc/prrng.c", |
+ "nspr/pr/src/misc/prsystem.c", |
+ "nspr/pr/src/misc/prthinfo.c", |
+ "nspr/pr/src/misc/prtime.c", |
+ "nspr/pr/src/misc/prtpool.c", |
+ "nspr/pr/src/misc/prtrace.c", |
+ "nspr/pr/src/pthreads/ptio.c", |
+ "nspr/pr/src/pthreads/ptmisc.c", |
+ "nspr/pr/src/pthreads/ptsynch.c", |
+ "nspr/pr/src/pthreads/ptthread.c", |
+ "nspr/pr/src/threads/combined/prucpu.c", |
+ "nspr/pr/src/threads/combined/prucv.c", |
+ "nspr/pr/src/threads/combined/prulock.c", |
+ "nspr/pr/src/threads/combined/prustack.c", |
+ "nspr/pr/src/threads/combined/pruthr.c", |
+ "nspr/pr/src/threads/prcmon.c", |
+ "nspr/pr/src/threads/prcthr.c", |
+ "nspr/pr/src/threads/prdump.c", |
+ "nspr/pr/src/threads/prmon.c", |
+ "nspr/pr/src/threads/prrwlock.c", |
+ "nspr/pr/src/threads/prsem.c", |
+ "nspr/pr/src/threads/prtpd.c", |
+ ] |
+ |
+ public_configs = [ ":nspr_config" ] |
+ |
+ configs -= [ "//build/config/compiler:chromium_code" ] |
+ if (is_win) { |
+ configs -= [ |
+ "//build/config/win:unicode", # Requires 8-bit mode. |
+ "//build/config/win:lean_and_mean", # Won"t compile with lean and mean. |
+ ] |
+ } |
+ configs += [ |
+ "//build/config/compiler:no_chromium_code", |
+ "//build/config/compiler:no_size_t_to_int_warning", |
+ ] |
+ |
+ cflags = [] |
+ defines = [ |
+ "_NSPR_BUILD_", |
+ "FORCE_PR_LOG", |
+ ] |
+ |
+ include_dirs = [ "nspr/pr/include/private" ] |
+ |
+ if (is_win) { |
+ cflags = [ "/wd4554" ] # Check precidence. |
+ defines += [ |
+ "XP_PC", |
+ "WIN32", |
+ "WIN95", |
+ "_PR_GLOBAL_THREADS_ONLY", |
+ "_CRT_SECURE_NO_WARNINGS", |
+ ] |
+ } else { |
+ sources -= [ |
+ "nspr/pr/src/md/windows/ntgc.c", |
+ "nspr/pr/src/md/windows/ntinrval.c", |
+ "nspr/pr/src/md/windows/ntmisc.c", |
+ "nspr/pr/src/md/windows/ntsec.c", |
+ "nspr/pr/src/md/windows/ntsem.c", |
+ "nspr/pr/src/md/windows/w32ipcsem.c", |
+ "nspr/pr/src/md/windows/w32poll.c", |
+ "nspr/pr/src/md/windows/w32rng.c", |
+ "nspr/pr/src/md/windows/w32shm.c", |
+ "nspr/pr/src/md/windows/w95cv.c", |
+ "nspr/pr/src/md/windows/w95dllmain.c", |
+ "nspr/pr/src/md/windows/w95io.c", |
+ "nspr/pr/src/md/windows/w95sock.c", |
+ "nspr/pr/src/md/windows/w95thred.c", |
+ "nspr/pr/src/md/windows/win32_errors.c", |
+ "nspr/pr/src/threads/combined/prucpu.c", |
+ "nspr/pr/src/threads/combined/prucv.c", |
+ "nspr/pr/src/threads/combined/prulock.c", |
+ "nspr/pr/src/threads/combined/prustack.c", |
+ "nspr/pr/src/threads/combined/pruthr.c", |
+ ] |
+ } |
+ |
+ if (!is_posix) { |
+ sources -= [ |
+ "nspr/pr/src/md/unix/darwin.c", |
+ "nspr/pr/src/md/unix/os_Darwin.s", |
+ "nspr/pr/src/md/unix/unix.c", |
+ "nspr/pr/src/md/unix/unix_errors.c", |
+ "nspr/pr/src/md/unix/uxproces.c", |
+ "nspr/pr/src/md/unix/uxrng.c", |
+ "nspr/pr/src/md/unix/uxshm.c", |
+ "nspr/pr/src/md/unix/uxwrap.c", |
+ "nspr/pr/src/pthreads/ptio.c", |
+ "nspr/pr/src/pthreads/ptmisc.c", |
+ "nspr/pr/src/pthreads/ptsynch.c", |
+ "nspr/pr/src/pthreads/ptthread.c", |
+ ] |
+ } |
+ |
+ if (current_cpu == "x86") { |
+ defines += [ "_X86_" ] |
+ } else if (current_cpu == "x64") { |
+ defines += [ "_AMD64_" ] |
+ } |
+ |
+ if (is_mac || is_ios) { |
+ sources -= [ |
+ "nspr/pr/src/io/prdir.c", |
+ "nspr/pr/src/io/prfile.c", |
+ "nspr/pr/src/io/prio.c", |
+ "nspr/pr/src/io/prsocket.c", |
+ "nspr/pr/src/misc/pripcsem.c", |
+ "nspr/pr/src/threads/prcthr.c", |
+ "nspr/pr/src/threads/prdump.c", |
+ "nspr/pr/src/threads/prmon.c", |
+ "nspr/pr/src/threads/prsem.c", |
+ ] |
+ defines += [ |
+ "XP_UNIX", |
+ "DARWIN", |
+ "XP_MACOSX", |
+ "_PR_PTHREADS", |
+ "HAVE_BSD_FLOCK", |
+ "HAVE_DLADDR", |
+ "HAVE_LCHOWN", |
+ "HAVE_SOCKLEN_T", |
+ "HAVE_STRERROR", |
+ ] |
+ } |
+ |
+ if (is_mac) { |
+ defines += [ "HAVE_CRT_EXTERNS_H" ] |
+ libs = [ |
+ "CoreFoundation.framework", |
+ "CoreServices.framework", |
+ ] |
+ } |
+ |
+ if (is_clang) { |
+ cflags += [ |
+ # nspr uses a bunch of deprecated functions (NSLinkModule etc) in |
+ # prlink.c on mac. |
+ "-Wno-deprecated-declarations", |
+ |
+ # nspr passes "const char*" through "void*". |
+ "-Wno-incompatible-pointer-types", |
+ |
+ # nspr passes "int*" through "unsigned int*". |
+ "-Wno-pointer-sign", |
+ ] |
+ |
+ # nspr uses assert(!"foo") instead of assert(false && "foo"). |
+ configs -= [ "//build/config/clang:extra_warnings" ] |
+ } |
+ } |
+ |
+ component("nss") { |
+ output_name = "crnss" |
+ sources = [ |
+ # Ensure at least one object file is produced, so that MSVC does not |
+ # warn when creating the static/shared library. See the note for |
+ # the "nssckbi" target for why the "nss" target was split as such. |
+ "nss/lib/nss/nssver.c", |
+ ] |
+ |
+ public_deps = [ |
+ ":nss_static", |
+ ] |
+ |
+ if (include_nss_root_certs) { |
+ public_deps += [ ":nssckbi" ] |
+ } |
+ |
+ if (component_mode == "shared_library") { |
+ if (is_mac) { |
+ ldflags = [ "-all_load" ] |
+ } else if (is_win) { |
+ # Pass the def file to the linker. |
+ ldflags = |
+ [ "/DEF:" + rebase_path("nss/exports_win.def", root_build_dir) ] |
+ } |
+ } |
+ } |
+ |
+ config("nssckbi_config") { |
+ include_dirs = [ "nss/lib/ckfw/builtins" ] |
+ } |
+ |
+ # This is really more of a pseudo-target to work around the fact that |
+ # a single static_library target cannot contain two object files of the |
+ # same name (hash.o / hash.obj). Logically, this is part of the |
+ # "nss_static" target. By separating it out, it creates a possible |
+ # circular dependency between "nss_static" and "nssckbi" when |
+ # "exclude_nss_root_certs" is not specified, as "nss_static" depends on |
+ # the "builtinsC_GetFunctionList" exported by this target. This is an |
+ # artifact of how NSS is being statically built, which is not an |
+ # officially supported configuration - normally, "nssckbi.dll/so" would |
+ # depend on libnss3.dll/so, and the higher layer caller would instruct |
+ # libnss3.dll to dynamically load nssckbi.dll, breaking the circle. |
+ # |
+ # TODO(rsleevi): http://crbug.com/128134 - Break the circular dependency |
+ # without requiring nssckbi to be built as a shared library. |
+ source_set("nssckbi") { |
+ visibility = [ ":nss" ] # This target is internal implementation detail. |
+ |
+ sources = [ |
+ "nss/lib/ckfw/builtins/anchor.c", |
+ "nss/lib/ckfw/builtins/bfind.c", |
+ "nss/lib/ckfw/builtins/binst.c", |
+ "nss/lib/ckfw/builtins/bobject.c", |
+ "nss/lib/ckfw/builtins/bsession.c", |
+ "nss/lib/ckfw/builtins/bslot.c", |
+ "nss/lib/ckfw/builtins/btoken.c", |
+ "nss/lib/ckfw/builtins/builtins.h", |
+ "nss/lib/ckfw/builtins/certdata.c", |
+ "nss/lib/ckfw/builtins/ckbiver.c", |
+ "nss/lib/ckfw/builtins/constants.c", |
+ "nss/lib/ckfw/builtins/nssckbi.h", |
+ "nss/lib/ckfw/ck.h", |
+ "nss/lib/ckfw/ckfw.h", |
+ "nss/lib/ckfw/ckfwm.h", |
+ "nss/lib/ckfw/ckfwtm.h", |
+ "nss/lib/ckfw/ckmd.h", |
+ "nss/lib/ckfw/ckt.h", |
+ "nss/lib/ckfw/crypto.c", |
+ "nss/lib/ckfw/find.c", |
+ "nss/lib/ckfw/hash.c", |
+ "nss/lib/ckfw/instance.c", |
+ "nss/lib/ckfw/mechanism.c", |
+ "nss/lib/ckfw/mutex.c", |
+ "nss/lib/ckfw/nssck.api", |
+ "nss/lib/ckfw/nssckepv.h", |
+ "nss/lib/ckfw/nssckft.h", |
+ "nss/lib/ckfw/nssckfw.h", |
+ "nss/lib/ckfw/nssckfwc.h", |
+ "nss/lib/ckfw/nssckfwt.h", |
+ "nss/lib/ckfw/nssckg.h", |
+ "nss/lib/ckfw/nssckmdt.h", |
+ "nss/lib/ckfw/nssckt.h", |
+ "nss/lib/ckfw/object.c", |
+ "nss/lib/ckfw/session.c", |
+ "nss/lib/ckfw/sessobj.c", |
+ "nss/lib/ckfw/slot.c", |
+ "nss/lib/ckfw/token.c", |
+ "nss/lib/ckfw/wrap.c", |
+ ] |
+ |
+ configs -= [ "//build/config/compiler:chromium_code" ] |
+ |
+ if (is_win) { |
+ configs -= [ "//build/config/win:unicode" ] # Requires 8-bit mode. |
+ } |
+ configs += [ "//build/config/compiler:no_chromium_code" ] |
+ |
+ include_dirs = [ "nss/lib/ckfw" ] |
+ public_configs = [ ":nssckbi_config" ] |
+ |
+ public_deps = [ |
+ ":nss_static", |
+ ] |
+ } |
+ |
+ config("nss_static_config") { |
+ defines = [ |
+ "NSS_STATIC", |
+ "NSS_USE_STATIC_LIBS", |
+ "USE_UTIL_DIRECTLY", |
+ ] |
+ if (is_win) { |
+ defines += [ "_WINDOWS" ] |
+ } |
+ include_dirs = [ |
+ "nspr/pr/include", |
+ "nspr/lib/ds", |
+ "nspr/lib/libc/include", |
+ "nss/lib/base", |
+ "nss/lib/certdb", |
+ "nss/lib/certhigh", |
+ "nss/lib/cryptohi", |
+ "nss/lib/dev", |
+ "nss/lib/freebl", |
+ "nss/lib/freebl/ecl", |
+ "nss/lib/nss", |
+ "nss/lib/pk11wrap", |
+ "nss/lib/pkcs7", |
+ "nss/lib/pki", |
+ "nss/lib/smime", |
+ "nss/lib/softoken", |
+ "nss/lib/util", |
+ ] |
+ } |
+ |
+ if (is_win && current_cpu == "x86") { |
+ source_set("nss_static_avx") { |
+ sources = [ |
+ "nss/lib/freebl/intel-gcm-wrap.c", |
+ "nss/lib/freebl/intel-gcm-x86-masm.asm", |
+ "nss/lib/freebl/intel-gcm.h", |
+ ] |
+ defines = [ |
+ "_WINDOWS", |
+ "_X86_", |
+ "INTEL_GCM", |
+ "MP_API_COMPATIBLE", |
+ "MP_ASSEMBLY_DIV_2DX1D", |
+ "MP_ASSEMBLY_MULTIPLY", |
+ "MP_ASSEMBLY_SQUARE", |
+ "MP_NO_MP_WORD", |
+ "MP_USE_UINT_DIGIT", |
+ "NSS_DISABLE_DBM", |
+ "NSS_STATIC", |
+ "NSS_USE_STATIC_LIBS", |
+ "NSS_X86", |
+ "NSS_X86_OR_X64", |
+ "RIJNDAEL_INCLUDE_TABLES", |
+ "SHLIB_PREFIX=\"\"", |
+ "SHLIB_SUFFIX=\"dll\"", |
+ "SHLIB_VERSION=\"3\"", |
+ "SOFTOKEN_LIB_NAME=\"softokn3.dll\"", |
+ "SOFTOKEN_SHLIB_VERSION=\"3\"", |
+ "USE_HW_AES", |
+ "USE_UTIL_DIRECTLY", |
+ "WIN32", |
+ "WIN95", |
+ "XP_PC", |
+ ] |
+ include_dirs = [ |
+ "nspr/pr/include", |
+ "nspr/lib/ds", |
+ "nspr/lib/libc/include", |
+ "nss/lib/freebl/ecl", |
+ "nss/lib/util", |
+ ] |
+ } |
+ } |
+ |
+ source_set("nss_static") { |
+ visibility = [ ":*" ] # Internal implementation detail. |
+ |
+ sources = [ |
+ "nss/lib/base/arena.c", |
+ "nss/lib/base/base.h", |
+ "nss/lib/base/baset.h", |
+ "nss/lib/base/error.c", |
+ "nss/lib/base/errorval.c", |
+ "nss/lib/base/hash.c", |
+ "nss/lib/base/hashops.c", |
+ "nss/lib/base/item.c", |
+ "nss/lib/base/libc.c", |
+ "nss/lib/base/list.c", |
+ "nss/lib/base/nssbase.h", |
+ "nss/lib/base/nssbaset.h", |
+ "nss/lib/base/nssutf8.c", |
+ "nss/lib/base/tracker.c", |
+ "nss/lib/certdb/alg1485.c", |
+ "nss/lib/certdb/cert.h", |
+ "nss/lib/certdb/certdb.c", |
+ "nss/lib/certdb/certdb.h", |
+ "nss/lib/certdb/certi.h", |
+ "nss/lib/certdb/certt.h", |
+ "nss/lib/certdb/certv3.c", |
+ "nss/lib/certdb/certxutl.c", |
+ "nss/lib/certdb/certxutl.h", |
+ "nss/lib/certdb/crl.c", |
+ "nss/lib/certdb/genname.c", |
+ "nss/lib/certdb/genname.h", |
+ "nss/lib/certdb/polcyxtn.c", |
+ "nss/lib/certdb/secname.c", |
+ "nss/lib/certdb/stanpcertdb.c", |
+ "nss/lib/certdb/xauthkid.c", |
+ "nss/lib/certdb/xbsconst.c", |
+ "nss/lib/certdb/xconst.c", |
+ "nss/lib/certdb/xconst.h", |
+ "nss/lib/certhigh/certhigh.c", |
+ "nss/lib/certhigh/certhtml.c", |
+ "nss/lib/certhigh/certreq.c", |
+ "nss/lib/certhigh/certvfy.c", |
+ "nss/lib/certhigh/crlv2.c", |
+ "nss/lib/certhigh/ocsp.c", |
+ "nss/lib/certhigh/ocsp.h", |
+ "nss/lib/certhigh/ocspi.h", |
+ "nss/lib/certhigh/ocspsig.c", |
+ "nss/lib/certhigh/ocspt.h", |
+ "nss/lib/certhigh/ocspti.h", |
+ "nss/lib/certhigh/xcrldist.c", |
+ "nss/lib/cryptohi/cryptohi.h", |
+ "nss/lib/cryptohi/cryptoht.h", |
+ "nss/lib/cryptohi/dsautil.c", |
+ "nss/lib/cryptohi/key.h", |
+ "nss/lib/cryptohi/keyhi.h", |
+ "nss/lib/cryptohi/keyi.h", |
+ "nss/lib/cryptohi/keyt.h", |
+ "nss/lib/cryptohi/keythi.h", |
+ "nss/lib/cryptohi/sechash.c", |
+ "nss/lib/cryptohi/sechash.h", |
+ "nss/lib/cryptohi/seckey.c", |
+ "nss/lib/cryptohi/secsign.c", |
+ "nss/lib/cryptohi/secvfy.c", |
+ "nss/lib/dev/ckhelper.c", |
+ "nss/lib/dev/ckhelper.h", |
+ "nss/lib/dev/dev.h", |
+ "nss/lib/dev/devm.h", |
+ "nss/lib/dev/devslot.c", |
+ "nss/lib/dev/devt.h", |
+ "nss/lib/dev/devtm.h", |
+ "nss/lib/dev/devtoken.c", |
+ "nss/lib/dev/devutil.c", |
+ "nss/lib/dev/nssdev.h", |
+ "nss/lib/dev/nssdevt.h", |
+ "nss/lib/freebl/aeskeywrap.c", |
+ "nss/lib/freebl/alg2268.c", |
+ "nss/lib/freebl/alghmac.c", |
+ "nss/lib/freebl/alghmac.h", |
+ "nss/lib/freebl/arcfive.c", |
+ "nss/lib/freebl/arcfour.c", |
+ "nss/lib/freebl/blapi.h", |
+ "nss/lib/freebl/blapii.h", |
+ "nss/lib/freebl/blapit.h", |
+ "nss/lib/freebl/camellia.c", |
+ "nss/lib/freebl/camellia.h", |
+ "nss/lib/freebl/chacha20/chacha20.c", |
+ "nss/lib/freebl/chacha20/chacha20.h", |
+ "nss/lib/freebl/chacha20/chacha20_vec.c", |
+ "nss/lib/freebl/chacha20poly1305.c", |
+ "nss/lib/freebl/chacha20poly1305.h", |
+ "nss/lib/freebl/ctr.c", |
+ "nss/lib/freebl/ctr.h", |
+ "nss/lib/freebl/cts.c", |
+ "nss/lib/freebl/cts.h", |
+ "nss/lib/freebl/des.c", |
+ "nss/lib/freebl/des.h", |
+ "nss/lib/freebl/desblapi.c", |
+ "nss/lib/freebl/dh.c", |
+ "nss/lib/freebl/drbg.c", |
+ "nss/lib/freebl/dsa.c", |
+ "nss/lib/freebl/ec.c", |
+ "nss/lib/freebl/ec.h", |
+ "nss/lib/freebl/ecdecode.c", |
+ "nss/lib/freebl/ecl/ec2.h", |
+ "nss/lib/freebl/ecl/ec_naf.c", |
+ "nss/lib/freebl/ecl/ecl-curve.h", |
+ "nss/lib/freebl/ecl/ecl-exp.h", |
+ "nss/lib/freebl/ecl/ecl-priv.h", |
+ "nss/lib/freebl/ecl/ecl.c", |
+ "nss/lib/freebl/ecl/ecl.h", |
+ "nss/lib/freebl/ecl/ecl_curve.c", |
+ "nss/lib/freebl/ecl/ecl_gf.c", |
+ "nss/lib/freebl/ecl/ecl_mult.c", |
+ "nss/lib/freebl/ecl/ecp.h", |
+ "nss/lib/freebl/ecl/ecp_256.c", |
+ "nss/lib/freebl/ecl/ecp_256_32.c", |
+ "nss/lib/freebl/ecl/ecp_384.c", |
+ "nss/lib/freebl/ecl/ecp_521.c", |
+ "nss/lib/freebl/ecl/ecp_aff.c", |
+ "nss/lib/freebl/ecl/ecp_jac.c", |
+ "nss/lib/freebl/ecl/ecp_jm.c", |
+ "nss/lib/freebl/ecl/ecp_mont.c", |
+ "nss/lib/freebl/gcm.c", |
+ "nss/lib/freebl/gcm.h", |
+ "nss/lib/freebl/hmacct.c", |
+ "nss/lib/freebl/hmacct.h", |
+ "nss/lib/freebl/intel-aes-x86-masm.asm", |
+ "nss/lib/freebl/intel-aes.h", |
+ "nss/lib/freebl/jpake.c", |
+ "nss/lib/freebl/md2.c", |
+ "nss/lib/freebl/md5.c", |
+ "nss/lib/freebl/mpi/logtab.h", |
+ "nss/lib/freebl/mpi/mp_gf2m-priv.h", |
+ "nss/lib/freebl/mpi/mp_gf2m.c", |
+ "nss/lib/freebl/mpi/mp_gf2m.h", |
+ "nss/lib/freebl/mpi/mpcpucache.c", |
+ "nss/lib/freebl/mpi/mpi-config.h", |
+ "nss/lib/freebl/mpi/mpi-priv.h", |
+ "nss/lib/freebl/mpi/mpi.c", |
+ "nss/lib/freebl/mpi/mpi.h", |
+ "nss/lib/freebl/mpi/mpi_amd64.c", |
+ "nss/lib/freebl/mpi/mpi_arm.c", |
+ "nss/lib/freebl/mpi/mpi_arm_mac.c", |
+ "nss/lib/freebl/mpi/mpi_x86_asm.c", |
+ "nss/lib/freebl/mpi/mplogic.c", |
+ "nss/lib/freebl/mpi/mplogic.h", |
+ "nss/lib/freebl/mpi/mpmontg.c", |
+ "nss/lib/freebl/mpi/mpprime.c", |
+ "nss/lib/freebl/mpi/mpprime.h", |
+ "nss/lib/freebl/mpi/primes.c", |
+ "nss/lib/freebl/nss_build_config_mac.h", |
+ "nss/lib/freebl/poly1305/poly1305-donna-x64-sse2-incremental-source.c", |
+ "nss/lib/freebl/poly1305/poly1305.c", |
+ "nss/lib/freebl/poly1305/poly1305.h", |
+ "nss/lib/freebl/pqg.c", |
+ "nss/lib/freebl/pqg.h", |
+ "nss/lib/freebl/rawhash.c", |
+ "nss/lib/freebl/rijndael.c", |
+ "nss/lib/freebl/rijndael.h", |
+ "nss/lib/freebl/rijndael32.tab", |
+ "nss/lib/freebl/rsa.c", |
+ "nss/lib/freebl/rsapkcs.c", |
+ "nss/lib/freebl/secmpi.h", |
+ "nss/lib/freebl/secrng.h", |
+ "nss/lib/freebl/seed.c", |
+ "nss/lib/freebl/seed.h", |
+ "nss/lib/freebl/sha256.h", |
+ "nss/lib/freebl/sha512.c", |
+ "nss/lib/freebl/sha_fast.c", |
+ "nss/lib/freebl/sha_fast.h", |
+ "nss/lib/freebl/shsign.h", |
+ "nss/lib/freebl/shvfy.c", |
+ "nss/lib/freebl/sysrand.c", |
+ "nss/lib/freebl/tlsprfalg.c", |
+ "nss/lib/freebl/unix_rand.c", |
+ "nss/lib/freebl/win_rand.c", |
+ "nss/lib/nss/nss.h", |
+ "nss/lib/nss/nssinit.c", |
+ "nss/lib/nss/nssrenam.h", |
+ "nss/lib/nss/utilwrap.c", |
+ "nss/lib/pk11wrap/debug_module.c", |
+ "nss/lib/pk11wrap/dev3hack.c", |
+ "nss/lib/pk11wrap/dev3hack.h", |
+ "nss/lib/pk11wrap/pk11akey.c", |
+ "nss/lib/pk11wrap/pk11auth.c", |
+ "nss/lib/pk11wrap/pk11cert.c", |
+ "nss/lib/pk11wrap/pk11cxt.c", |
+ "nss/lib/pk11wrap/pk11err.c", |
+ "nss/lib/pk11wrap/pk11func.h", |
+ "nss/lib/pk11wrap/pk11kea.c", |
+ "nss/lib/pk11wrap/pk11list.c", |
+ "nss/lib/pk11wrap/pk11load.c", |
+ "nss/lib/pk11wrap/pk11mech.c", |
+ "nss/lib/pk11wrap/pk11merge.c", |
+ "nss/lib/pk11wrap/pk11nobj.c", |
+ "nss/lib/pk11wrap/pk11obj.c", |
+ "nss/lib/pk11wrap/pk11pars.c", |
+ "nss/lib/pk11wrap/pk11pbe.c", |
+ "nss/lib/pk11wrap/pk11pk12.c", |
+ "nss/lib/pk11wrap/pk11pqg.c", |
+ "nss/lib/pk11wrap/pk11pqg.h", |
+ "nss/lib/pk11wrap/pk11priv.h", |
+ "nss/lib/pk11wrap/pk11pub.h", |
+ "nss/lib/pk11wrap/pk11sdr.c", |
+ "nss/lib/pk11wrap/pk11sdr.h", |
+ "nss/lib/pk11wrap/pk11skey.c", |
+ "nss/lib/pk11wrap/pk11slot.c", |
+ "nss/lib/pk11wrap/pk11util.c", |
+ "nss/lib/pk11wrap/secmod.h", |
+ "nss/lib/pk11wrap/secmodi.h", |
+ "nss/lib/pk11wrap/secmodt.h", |
+ "nss/lib/pk11wrap/secmodti.h", |
+ "nss/lib/pk11wrap/secpkcs5.h", |
+ "nss/lib/pkcs7/certread.c", |
+ "nss/lib/pkcs7/p7common.c", |
+ "nss/lib/pkcs7/p7create.c", |
+ "nss/lib/pkcs7/p7decode.c", |
+ "nss/lib/pkcs7/p7encode.c", |
+ "nss/lib/pkcs7/p7local.c", |
+ "nss/lib/pkcs7/p7local.h", |
+ "nss/lib/pkcs7/pkcs7t.h", |
+ "nss/lib/pkcs7/secmime.c", |
+ "nss/lib/pkcs7/secmime.h", |
+ "nss/lib/pkcs7/secpkcs7.h", |
+ "nss/lib/pki/asymmkey.c", |
+ "nss/lib/pki/certdecode.c", |
+ "nss/lib/pki/certificate.c", |
+ "nss/lib/pki/cryptocontext.c", |
+ "nss/lib/pki/nsspki.h", |
+ "nss/lib/pki/nsspkit.h", |
+ "nss/lib/pki/pki.h", |
+ "nss/lib/pki/pki3hack.c", |
+ "nss/lib/pki/pki3hack.h", |
+ "nss/lib/pki/pkibase.c", |
+ "nss/lib/pki/pkim.h", |
+ "nss/lib/pki/pkistore.c", |
+ "nss/lib/pki/pkistore.h", |
+ "nss/lib/pki/pkit.h", |
+ "nss/lib/pki/pkitm.h", |
+ "nss/lib/pki/symmkey.c", |
+ "nss/lib/pki/tdcache.c", |
+ "nss/lib/pki/trustdomain.c", |
+ "nss/lib/smime/cms.h", |
+ "nss/lib/smime/cmslocal.h", |
+ "nss/lib/smime/cmsreclist.h", |
+ "nss/lib/smime/cmst.h", |
+ "nss/lib/smime/smime.h", |
+ "nss/lib/softoken/fipsaudt.c", |
+ "nss/lib/softoken/fipstest.c", |
+ "nss/lib/softoken/fipstokn.c", |
+ "nss/lib/softoken/jpakesftk.c", |
+ "nss/lib/softoken/lgglue.c", |
+ "nss/lib/softoken/lgglue.h", |
+ "nss/lib/softoken/lowkey.c", |
+ "nss/lib/softoken/lowkeyi.h", |
+ "nss/lib/softoken/lowkeyti.h", |
+ "nss/lib/softoken/lowpbe.c", |
+ "nss/lib/softoken/lowpbe.h", |
+ "nss/lib/softoken/padbuf.c", |
+ "nss/lib/softoken/pkcs11.c", |
+ "nss/lib/softoken/pkcs11c.c", |
+ "nss/lib/softoken/pkcs11i.h", |
+ "nss/lib/softoken/pkcs11ni.h", |
+ "nss/lib/softoken/pkcs11u.c", |
+ "nss/lib/softoken/sdb.c", |
+ "nss/lib/softoken/sdb.h", |
+ "nss/lib/softoken/sftkdb.c", |
+ "nss/lib/softoken/sftkdb.h", |
+ "nss/lib/softoken/sftkdbt.h", |
+ "nss/lib/softoken/sftkdbti.h", |
+ "nss/lib/softoken/sftkhmac.c", |
+ "nss/lib/softoken/sftkpars.c", |
+ "nss/lib/softoken/sftkpars.h", |
+ "nss/lib/softoken/sftkpwd.c", |
+ "nss/lib/softoken/softkver.c", |
+ "nss/lib/softoken/softkver.h", |
+ "nss/lib/softoken/softoken.h", |
+ "nss/lib/softoken/softoknt.h", |
+ "nss/lib/softoken/tlsprf.c", |
+ "nss/lib/ssl/sslerr.h", |
+ "nss/lib/util/SECerrs.h", |
+ "nss/lib/util/base64.h", |
+ "nss/lib/util/ciferfam.h", |
+ "nss/lib/util/derdec.c", |
+ "nss/lib/util/derenc.c", |
+ "nss/lib/util/dersubr.c", |
+ "nss/lib/util/dertime.c", |
+ "nss/lib/util/errstrs.c", |
+ "nss/lib/util/hasht.h", |
+ "nss/lib/util/nssb64.h", |
+ "nss/lib/util/nssb64d.c", |
+ "nss/lib/util/nssb64e.c", |
+ "nss/lib/util/nssb64t.h", |
+ "nss/lib/util/nssilckt.h", |
+ "nss/lib/util/nssilock.c", |
+ "nss/lib/util/nssilock.h", |
+ "nss/lib/util/nsslocks.h", |
+ "nss/lib/util/nssrwlk.c", |
+ "nss/lib/util/nssrwlk.h", |
+ "nss/lib/util/nssrwlkt.h", |
+ "nss/lib/util/nssutil.h", |
+ "nss/lib/util/oidstring.c", |
+ "nss/lib/util/pkcs11.h", |
+ "nss/lib/util/pkcs11f.h", |
+ "nss/lib/util/pkcs11n.h", |
+ "nss/lib/util/pkcs11p.h", |
+ "nss/lib/util/pkcs11t.h", |
+ "nss/lib/util/pkcs11u.h", |
+ "nss/lib/util/pkcs1sig.c", |
+ "nss/lib/util/pkcs1sig.h", |
+ "nss/lib/util/portreg.c", |
+ "nss/lib/util/portreg.h", |
+ "nss/lib/util/quickder.c", |
+ "nss/lib/util/secalgid.c", |
+ "nss/lib/util/secasn1.h", |
+ "nss/lib/util/secasn1d.c", |
+ "nss/lib/util/secasn1e.c", |
+ "nss/lib/util/secasn1t.h", |
+ "nss/lib/util/secasn1u.c", |
+ "nss/lib/util/seccomon.h", |
+ "nss/lib/util/secder.h", |
+ "nss/lib/util/secdert.h", |
+ "nss/lib/util/secdig.c", |
+ "nss/lib/util/secdig.h", |
+ "nss/lib/util/secdigt.h", |
+ "nss/lib/util/secerr.h", |
+ "nss/lib/util/secitem.c", |
+ "nss/lib/util/secitem.h", |
+ "nss/lib/util/secoid.c", |
+ "nss/lib/util/secoid.h", |
+ "nss/lib/util/secoidt.h", |
+ "nss/lib/util/secport.c", |
+ "nss/lib/util/secport.h", |
+ "nss/lib/util/sectime.c", |
+ "nss/lib/util/templates.c", |
+ "nss/lib/util/utf8.c", |
+ "nss/lib/util/utilmod.c", |
+ "nss/lib/util/utilmodt.h", |
+ "nss/lib/util/utilpars.c", |
+ "nss/lib/util/utilpars.h", |
+ "nss/lib/util/utilparst.h", |
+ "nss/lib/util/utilrename.h", |
+ ] |
+ |
+ sources -= [ |
+ # mpi_arm.c is included by mpi_arm_mac.c. |
+ # NOTE: mpi_arm.c can be used directly on Linux. mpi_arm.c will need |
+ # to be excluded conditionally if we start to build NSS on Linux. |
+ "nss/lib/freebl/mpi/mpi_arm.c", |
+ |
+ # primes.c is included by mpprime.c. |
+ "nss/lib/freebl/mpi/primes.c", |
+ |
+ # unix_rand.c and win_rand.c are included by sysrand.c. |
+ "nss/lib/freebl/unix_rand.c", |
+ "nss/lib/freebl/win_rand.c", |
+ |
+ # debug_module.c is included by pk11load.c. |
+ "nss/lib/pk11wrap/debug_module.c", |
+ ] |
+ |
+ configs -= [ "//build/config/compiler:chromium_code" ] |
+ if (is_win) { |
+ configs -= [ "//build/config/win:unicode" ] # Requires 8-bit mode. |
+ } |
+ configs += [ |
+ "//build/config/compiler:no_chromium_code", |
+ "//build/config/compiler:no_size_t_to_int_warning", |
+ ] |
+ public_configs = [ ":nss_static_config" ] |
+ |
+ cflags = [] |
+ |
+ # Only need the defines and includes not in nss_static_config. |
+ defines = [ |
+ "MP_API_COMPATIBLE", |
+ "NSS_DISABLE_DBM", |
+ "RIJNDAEL_INCLUDE_TABLES", |
+ "SHLIB_VERSION=\"3\"", |
+ "SOFTOKEN_SHLIB_VERSION=\"3\"", |
+ ] |
+ include_dirs = [ |
+ "nss/lib/freebl/mpi", |
+ "nss/lib/ssl", |
+ ] |
+ |
+ if (is_win) { |
+ cflags += [ "/wd4101" ] # Unreferenced local variable. |
+ } |
+ |
+ if (include_nss_libpkix) { |
+ sources += [ |
+ "nss/lib/certhigh/certvfypkix.c", |
+ "nss/lib/certhigh/certvfypkixprint.c", |
+ "nss/lib/libpkix/include/pkix.h", |
+ "nss/lib/libpkix/include/pkix_certsel.h", |
+ "nss/lib/libpkix/include/pkix_certstore.h", |
+ "nss/lib/libpkix/include/pkix_checker.h", |
+ "nss/lib/libpkix/include/pkix_crlsel.h", |
+ "nss/lib/libpkix/include/pkix_errorstrings.h", |
+ "nss/lib/libpkix/include/pkix_params.h", |
+ "nss/lib/libpkix/include/pkix_pl_pki.h", |
+ "nss/lib/libpkix/include/pkix_pl_system.h", |
+ "nss/lib/libpkix/include/pkix_results.h", |
+ "nss/lib/libpkix/include/pkix_revchecker.h", |
+ "nss/lib/libpkix/include/pkix_sample_modules.h", |
+ "nss/lib/libpkix/include/pkix_util.h", |
+ "nss/lib/libpkix/include/pkixt.h", |
+ "nss/lib/libpkix/pkix/certsel/pkix_certselector.c", |
+ "nss/lib/libpkix/pkix/certsel/pkix_certselector.h", |
+ "nss/lib/libpkix/pkix/certsel/pkix_comcertselparams.c", |
+ "nss/lib/libpkix/pkix/certsel/pkix_comcertselparams.h", |
+ "nss/lib/libpkix/pkix/checker/pkix_basicconstraintschecker.c", |
+ "nss/lib/libpkix/pkix/checker/pkix_basicconstraintschecker.h", |
+ "nss/lib/libpkix/pkix/checker/pkix_certchainchecker.c", |
+ "nss/lib/libpkix/pkix/checker/pkix_certchainchecker.h", |
+ "nss/lib/libpkix/pkix/checker/pkix_crlchecker.c", |
+ "nss/lib/libpkix/pkix/checker/pkix_crlchecker.h", |
+ "nss/lib/libpkix/pkix/checker/pkix_ekuchecker.c", |
+ "nss/lib/libpkix/pkix/checker/pkix_ekuchecker.h", |
+ "nss/lib/libpkix/pkix/checker/pkix_expirationchecker.c", |
+ "nss/lib/libpkix/pkix/checker/pkix_expirationchecker.h", |
+ "nss/lib/libpkix/pkix/checker/pkix_namechainingchecker.c", |
+ "nss/lib/libpkix/pkix/checker/pkix_namechainingchecker.h", |
+ "nss/lib/libpkix/pkix/checker/pkix_nameconstraintschecker.c", |
+ "nss/lib/libpkix/pkix/checker/pkix_nameconstraintschecker.h", |
+ "nss/lib/libpkix/pkix/checker/pkix_ocspchecker.c", |
+ "nss/lib/libpkix/pkix/checker/pkix_ocspchecker.h", |
+ "nss/lib/libpkix/pkix/checker/pkix_policychecker.c", |
+ "nss/lib/libpkix/pkix/checker/pkix_policychecker.h", |
+ "nss/lib/libpkix/pkix/checker/pkix_revocationchecker.c", |
+ "nss/lib/libpkix/pkix/checker/pkix_revocationchecker.h", |
+ "nss/lib/libpkix/pkix/checker/pkix_revocationmethod.c", |
+ "nss/lib/libpkix/pkix/checker/pkix_revocationmethod.h", |
+ "nss/lib/libpkix/pkix/checker/pkix_signaturechecker.c", |
+ "nss/lib/libpkix/pkix/checker/pkix_signaturechecker.h", |
+ "nss/lib/libpkix/pkix/checker/pkix_targetcertchecker.c", |
+ "nss/lib/libpkix/pkix/checker/pkix_targetcertchecker.h", |
+ "nss/lib/libpkix/pkix/crlsel/pkix_comcrlselparams.c", |
+ "nss/lib/libpkix/pkix/crlsel/pkix_comcrlselparams.h", |
+ "nss/lib/libpkix/pkix/crlsel/pkix_crlselector.c", |
+ "nss/lib/libpkix/pkix/crlsel/pkix_crlselector.h", |
+ "nss/lib/libpkix/pkix/params/pkix_procparams.c", |
+ "nss/lib/libpkix/pkix/params/pkix_procparams.h", |
+ "nss/lib/libpkix/pkix/params/pkix_resourcelimits.c", |
+ "nss/lib/libpkix/pkix/params/pkix_resourcelimits.h", |
+ "nss/lib/libpkix/pkix/params/pkix_trustanchor.c", |
+ "nss/lib/libpkix/pkix/params/pkix_trustanchor.h", |
+ "nss/lib/libpkix/pkix/params/pkix_valparams.c", |
+ "nss/lib/libpkix/pkix/params/pkix_valparams.h", |
+ "nss/lib/libpkix/pkix/results/pkix_buildresult.c", |
+ "nss/lib/libpkix/pkix/results/pkix_buildresult.h", |
+ "nss/lib/libpkix/pkix/results/pkix_policynode.c", |
+ "nss/lib/libpkix/pkix/results/pkix_policynode.h", |
+ "nss/lib/libpkix/pkix/results/pkix_valresult.c", |
+ "nss/lib/libpkix/pkix/results/pkix_valresult.h", |
+ "nss/lib/libpkix/pkix/results/pkix_verifynode.c", |
+ "nss/lib/libpkix/pkix/results/pkix_verifynode.h", |
+ "nss/lib/libpkix/pkix/store/pkix_store.c", |
+ "nss/lib/libpkix/pkix/store/pkix_store.h", |
+ "nss/lib/libpkix/pkix/top/pkix_build.c", |
+ "nss/lib/libpkix/pkix/top/pkix_build.h", |
+ "nss/lib/libpkix/pkix/top/pkix_lifecycle.c", |
+ "nss/lib/libpkix/pkix/top/pkix_lifecycle.h", |
+ "nss/lib/libpkix/pkix/top/pkix_validate.c", |
+ "nss/lib/libpkix/pkix/top/pkix_validate.h", |
+ "nss/lib/libpkix/pkix/util/pkix_error.c", |
+ "nss/lib/libpkix/pkix/util/pkix_error.h", |
+ "nss/lib/libpkix/pkix/util/pkix_errpaths.c", |
+ "nss/lib/libpkix/pkix/util/pkix_list.c", |
+ "nss/lib/libpkix/pkix/util/pkix_list.h", |
+ "nss/lib/libpkix/pkix/util/pkix_logger.c", |
+ "nss/lib/libpkix/pkix/util/pkix_logger.h", |
+ "nss/lib/libpkix/pkix/util/pkix_tools.c", |
+ "nss/lib/libpkix/pkix/util/pkix_tools.h", |
+ "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_aiamgr.c", |
+ "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_aiamgr.h", |
+ "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_colcertstore.c", |
+ "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_colcertstore.h", |
+ "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.c", |
+ "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.h", |
+ "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpdefaultclient.c", |
+ "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpdefaultclient.h", |
+ "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_nsscontext.c", |
+ "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_nsscontext.h", |
+ "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_pk11certstore.c", |
+ "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_pk11certstore.h", |
+ "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c", |
+ "nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_basicconstraints.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_basicconstraints.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_cert.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_cert.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_certpolicyinfo.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_certpolicyinfo.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_certpolicymap.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_certpolicymap.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_certpolicyqualifier.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_certpolicyqualifier.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_crl.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_crl.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_crldp.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_crldp.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_crlentry.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_crlentry.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_date.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_date.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_generalname.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_generalname.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_infoaccess.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_infoaccess.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_nameconstraints.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_nameconstraints.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocspcertid.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocspcertid.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocsprequest.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocsprequest.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocspresponse.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocspresponse.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_publickey.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_publickey.h", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_x500name.c", |
+ "nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_x500name.h", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_bigint.c", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_bigint.h", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_bytearray.c", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_bytearray.h", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_common.c", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_common.h", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_error.c", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_hashtable.c", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_hashtable.h", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_lifecycle.c", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_lifecycle.h", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_mem.c", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_mem.h", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_monitorlock.c", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_monitorlock.h", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_mutex.c", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_mutex.h", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_object.c", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_object.h", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_oid.c", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_oid.h", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_primhash.c", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_primhash.h", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_rwlock.c", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_rwlock.h", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_string.c", |
+ "nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_string.h", |
+ ] |
+ |
+ # Disable the LDAP code in libpkix. |
+ defines += [ "NSS_PKIX_NO_LDAP" ] |
+ |
+ include_dirs += [ |
+ "nss/lib/libpkix/include", |
+ "nss/lib/libpkix/pkix/certsel", |
+ "nss/lib/libpkix/pkix/checker", |
+ "nss/lib/libpkix/pkix/crlsel", |
+ "nss/lib/libpkix/pkix/params", |
+ "nss/lib/libpkix/pkix/results", |
+ "nss/lib/libpkix/pkix/store", |
+ "nss/lib/libpkix/pkix/top", |
+ "nss/lib/libpkix/pkix/util", |
+ "nss/lib/libpkix/pkix_pl_nss/module", |
+ "nss/lib/libpkix/pkix_pl_nss/pki", |
+ "nss/lib/libpkix/pkix_pl_nss/system", |
+ ] |
+ } else { |
+ defines += [ "NSS_DISABLE_LIBPKIX" ] |
+ } |
+ |
+ if (!include_nss_root_certs) { |
+ defines += [ "NSS_DISABLE_ROOT_CERTS" ] |
+ } |
+ |
+ if (current_cpu == "x64" && !is_win) { |
+ sources -= [ |
+ "nss/lib/freebl/chacha20/chacha20.c", |
+ "nss/lib/freebl/poly1305/poly1305.c", |
+ ] |
+ } else { |
+ sources -= [ |
+ "nss/lib/freebl/chacha20/chacha20_vec.c", |
+ "nss/lib/freebl/poly1305/poly1305-donna-x64-sse2-incremental-source.c", |
+ ] |
+ } |
+ |
+ if (is_mac || is_ios) { |
+ sources -= [ "nss/lib/freebl/mpi/mpi_amd64.c" ] |
+ cflags += [ |
+ "-include", |
+ rebase_path("//third_party/nss/nss/lib/freebl/nss_build_config_mac.h", |
+ root_build_dir), |
+ ] |
+ defines += [ |
+ "XP_UNIX", |
+ "DARWIN", |
+ "HAVE_STRERROR", |
+ "HAVE_BSD_FLOCK", |
+ "SHLIB_SUFFIX=\"dylib\"", |
+ "SHLIB_PREFIX=\"lib\"", |
+ "SOFTOKEN_LIB_NAME=\"libsoftokn3.dylib\"", |
+ ] |
+ |
+ configs -= [ "//build/config/gcc:symbol_visibility_hidden" ] |
+ } else { |
+ # Not Mac/iOS. |
+ sources -= [ "nss/lib/freebl/mpi/mpi_arm_mac.c" ] |
+ } |
+ |
+ if (is_win) { |
+ defines += [ |
+ "SHLIB_SUFFIX=\"dll\"", |
+ "SHLIB_PREFIX=\"\"", |
+ "SOFTOKEN_LIB_NAME=\"softokn3.dll\"", |
+ "XP_PC", |
+ "WIN32", |
+ "WIN95", |
+ ] |
+ |
+ if (current_cpu == "x86") { |
+ defines += [ |
+ "NSS_X86_OR_X64", |
+ "NSS_X86", |
+ "_X86_", |
+ "MP_ASSEMBLY_MULTIPLY", |
+ "MP_ASSEMBLY_SQUARE", |
+ "MP_ASSEMBLY_DIV_2DX1D", |
+ "MP_USE_UINT_DIGIT", |
+ "MP_NO_MP_WORD", |
+ "USE_HW_AES", |
+ "INTEL_GCM", |
+ ] |
+ sources -= [ "nss/lib/freebl/mpi/mpi_amd64.c" ] |
+ } else if (current_cpu == "x64") { |
+ sources -= [ |
+ "nss/lib/freebl/intel-aes-x86-masm.asm", |
+ "nss/lib/freebl/mpi/mpi_amd64.c", |
+ "nss/lib/freebl/mpi/mpi_x86_asm.c", |
+ ] |
+ defines += [ |
+ "NSS_USE_64", |
+ "NSS_X86_OR_X64", |
+ "NSS_X64", |
+ "_AMD64_", |
+ "MP_CHAR_STORE_SLOW", |
+ "MP_IS_LITTLE_ENDIAN", |
+ "WIN64", |
+ ] |
+ } |
+ } else { |
+ # Not Windows. |
+ sources -= [ |
+ # mpi_x86_asm.c contains MSVC inline assembly code. |
+ "nss/lib/freebl/mpi/mpi_x86_asm.c", |
+ ] |
+ } |
+ |
+ if (is_clang) { |
+ cflags += [ |
+ # nss doesn"t explicitly cast between different enum types. |
+ "-Wno-conversion", |
+ |
+ # nss passes "const char*" through "void*". |
+ "-Wno-incompatible-pointer-types", |
+ |
+ # nss prefers `a && b || c` over `(a && b) || c`. |
+ "-Wno-logical-op-parentheses", |
+ |
+ # nss doesn"t use exhaustive switches on enums |
+ "-Wno-switch", |
+ |
+ # nss has some `unsigned < 0` checks. |
+ "-Wno-tautological-compare", |
+ ] |
+ } |
+ |
+ public_deps = [ |
+ ":nspr", |
+ ] |
+ deps = [ |
+ ":nspr", |
+ "//third_party/sqlite", |
+ ] |
+ |
+ if (is_win && current_cpu == "x86") { |
+ deps += [ ":nss_static_avx" ] |
+ } |
+ } |
+} # Windows/Mac/iOS. |