# 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/prosdep.h",
      "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/_unixos.h",
      "nspr/pr/include/md/_unix_errors.h",
      "nspr/pr/include/md/_win32_errors.h",
      "nspr/pr/include/md/_win95.cfg",
      "nspr/pr/include/md/_win95.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" ]

    cflags = []
    defines = [
      "_NSPR_BUILD_",
      "FORCE_PR_LOG",
    ]

    include_dirs = [ "nspr/pr/include/private" ]

    if (is_win) {
      cflags = [
        "/wd4554",  # Check precidence.
        "/wd4267",  # Conversion from size_t to "type".
      ]
      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 (cpu_arch == "x86") {
      defines += [ "_X86_" ]
    } else if (cpu_arch == "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 && cpu_arch == "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/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/ecl/ec_naf.c",
      "nss/lib/freebl/gcm.c",
      "nss/lib/freebl/gcm.h",
      "nss/lib/freebl/intel-aes-x86-masm.asm",
      "nss/lib/freebl/intel-aes.h",
      "nss/lib/freebl/hmacct.c",
      "nss/lib/freebl/hmacct.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/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/mp_gf2m-priv.h",
      "nss/lib/freebl/mpi/mp_gf2m.c",
      "nss/lib/freebl/mpi/mp_gf2m.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" ]
    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.
        "/wd4267",  # Conversion from size_t to "type".
      ]
    }

    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 (cpu_arch == "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 (cpu_arch == "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 (cpu_arch == "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 && cpu_arch == "x86") {
      deps += [ ":nss_static_avx" ]
    }
  }
}  # Windows/Mac/iOS.
