| # 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" ] |
| } |
| |
| if (is_clang) { |
| cflags = [ |
| # There is a broken header guard in /usr/include/nss/secmod.h: |
| # https://bugzilla.mozilla.org/show_bug.cgi?id=884072 |
| "-Wno-header-guard", |
| ] |
| } |
| } |
| |
| 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", |
| ] |
| |
| public_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", |
| ] |
| if (component_mode == "shared_library") { |
| ldflags = [ "/DEF:" + rebase_path("exports_win.def", root_build_dir) ] |
| } |
| } 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. |
| public_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", |
| ] |
| public_deps = [ |
| "//third_party/nss:nspr", |
| "//third_party/nss:nss", |
| ] |
| } |
| |
| if (is_debug) { |
| defines += [ "DEBUG" ] |
| } |
| } |