diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-14 23:25:13 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-14 23:25:13 +0000 |
commit | 7a7e08546c85dd5a039c8dd0e57bae1cd384fc44 (patch) | |
tree | a316212f6372e5d9bd8fd814a62c786d0fd7baf5 /net/third_party | |
parent | 7ff2cc13a2d85f02aaca8bd0edd2c45dae527065 (diff) | |
download | chromium_src-7a7e08546c85dd5a039c8dd0e57bae1cd384fc44.zip chromium_src-7a7e08546c85dd5a039c8dd0e57bae1cd384fc44.tar.gz chromium_src-7a7e08546c85dd5a039c8dd0e57bae1cd384fc44.tar.bz2 |
Add SSL support to the GN build
This moves files from the secondary tree to the main one, and renames the "meta" one to //crypto:ssl. It also adds the crypto unit tests.
R=rsleevi@chromium.org
Review URL: https://codereview.chromium.org/231673006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263744 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/third_party')
-rw-r--r-- | net/third_party/nss/ssl/BUILD.gn | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/net/third_party/nss/ssl/BUILD.gn b/net/third_party/nss/ssl/BUILD.gn new file mode 100644 index 0000000..03385f6 --- /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" ] + } +} |