blob: b8fe40fc4087d24d6e6de7749df530c3a689bf29 [file] [log] [blame]
# 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" ]
}
}