| Index: net/third_party/nss/ssl/BUILD.gn
|
| diff --git a/net/third_party/nss/ssl/BUILD.gn b/net/third_party/nss/ssl/BUILD.gn
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..03385f64c16f100aa7285072b901cdc8d91cb1eb
|
| --- /dev/null
|
| +++ b/net/third_party/nss/ssl/BUILD.gn
|
| @@ -0,0 +1,138 @@
|
| +# Copyright (c) 2013 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.
|
| +
|
| +config("ssl_config") {
|
| + include_dirs = [ "." ]
|
| +
|
| + if (is_mac || is_win) {
|
| + defines = [ "NSS_PLATFORM_CLIENT_AUTH" ]
|
| + }
|
| +}
|
| +
|
| +component("libssl") {
|
| + output_name = "crssl"
|
| +
|
| + sources = [
|
| + "authcert.c",
|
| + "cmpcert.c",
|
| + "derive.c",
|
| + "dtlscon.c",
|
| + "preenc.h",
|
| + "prelib.c",
|
| + "ssl.h",
|
| + "ssl3con.c",
|
| + "ssl3ecc.c",
|
| + "ssl3ext.c",
|
| + "ssl3gthr.c",
|
| + "ssl3prot.h",
|
| + "sslauth.c",
|
| + "sslcon.c",
|
| + "ssldef.c",
|
| + "sslenum.c",
|
| + "sslerr.c",
|
| + "sslerr.h",
|
| + "SSLerrs.h",
|
| + "sslerrstrs.c",
|
| + "sslgathr.c",
|
| + "sslimpl.h",
|
| + "sslinfo.c",
|
| + "sslinit.c",
|
| + "sslmutex.c",
|
| + "sslmutex.h",
|
| + "sslnonce.c",
|
| + "sslplatf.c",
|
| + "sslproto.h",
|
| + "sslreveal.c",
|
| + "sslsecur.c",
|
| + "sslsnce.c",
|
| + "sslsock.c",
|
| + "sslt.h",
|
| + "ssltrace.c",
|
| + "sslver.c",
|
| + "unix_err.c",
|
| + "unix_err.h",
|
| + "win32err.c",
|
| + "win32err.h",
|
| + "bodge/secitem_array.c",
|
| + ]
|
| +
|
| + direct_dependent_settings = [ ":ssl_config" ]
|
| +
|
| + cflags = []
|
| + defines = [
|
| + "NO_PKCS11_BYPASS",
|
| + "NSS_ENABLE_ECC",
|
| + "USE_UTIL_DIRECTLY",
|
| + ]
|
| +
|
| + configs -= [ "//build/config/compiler:chromium_code" ]
|
| + configs += [ "//build/config/compiler:no_chromium_code" ]
|
| +
|
| + if (is_win) {
|
| + cflags += [ "/wd4267" ] # Disable warning: Conversion from size_t to 'type'.
|
| +
|
| + sources -= [
|
| + "unix_err.c",
|
| + "unix_err.h",
|
| + ]
|
| + sources += [ "exports_win.def" ]
|
| + } else if (is_linux) {
|
| + #visibility hidden thing.
|
| + libs = [ "dl" ]
|
| +
|
| + include_dirs = [ "bodge" ]
|
| +
|
| + direct_dependent_configs = [
|
| + "//third_party/nss:system_nss_no_ssl_config"
|
| + ]
|
| + } else if (is_mac) {
|
| + libs = [ "Security.framework" ]
|
| + }
|
| +
|
| + if (is_posix) {
|
| + sources -= [
|
| + "win32err.c",
|
| + "win32err.h",
|
| + ]
|
| + }
|
| +
|
| + if (is_mac || is_ios) {
|
| + defines += [
|
| + "XP_UNIX",
|
| + "DARWIN",
|
| + "XP_MACOSX",
|
| + ]
|
| + }
|
| +
|
| + if (is_mac || is_ios || is_win) {
|
| + sources -= [
|
| + "bodge/secitem_array.c",
|
| + ]
|
| + deps = [
|
| + "//third_party/nss:nspr",
|
| + "//third_party/nss:nss",
|
| + ]
|
| + forward_dependent_configs_from = deps
|
| + }
|
| +
|
| + if (component_mode == "shared_library") {
|
| + # TODO(brettw) GCC_SYMBOLS_PRIVATE_EXTERN thing.
|
| + }
|
| +
|
| + if (is_clang) {
|
| + cflags += [
|
| + # See http://crbug.com/138571#c8. In short, sslsecur.c picks up the
|
| + # system's cert.h because cert.h isn't in chromium's repo.
|
| + "-Wno-incompatible-pointer-types",
|
| +
|
| + # There is a broken header guard in /usr/include/nss/secmod.h:
|
| + # https://bugzilla.mozilla.org/show_bug.cgi?id=884072
|
| + "-Wno-header-guard",
|
| + ]
|
| + }
|
| +
|
| + if (is_debug) {
|
| + defines += [ "DEBUG" ]
|
| + }
|
| +}
|
|
|