diff options
Diffstat (limited to 'chromium/net/third_party/nss/ssl/BUILD.gn')
-rw-r--r-- | chromium/net/third_party/nss/ssl/BUILD.gn | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/chromium/net/third_party/nss/ssl/BUILD.gn b/chromium/net/third_party/nss/ssl/BUILD.gn new file mode 100644 index 00000000000..7f3ad2ca834 --- /dev/null +++ b/chromium/net/third_party/nss/ssl/BUILD.gn @@ -0,0 +1,139 @@ +# 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_configs = [ ":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) { + if (component_mode == "shared_library") { + configs -= [ "//build/config/gcc:symbol_visibility_hidden" ] + } + + libs = [ "dl" ] + + include_dirs = [ "bodge" ] + + # Must be after ssl_config since we want our SSL headers to take + # precedence. + 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 (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" ] + } +} |