blob: 986b563ebf80d203844df0a7706b2658f800d9b8 [file] [log] [blame]
# Copyright (c) 2012 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.
{
'conditions': [
[ 'os_posix == 1 and OS != "mac" and OS != "ios"', {
'conditions': [
['sysroot!=""', {
'variables': {
'pkg-config': '../../../build/linux/pkg-config-wrapper "<(sysroot)" "<(target_arch)"',
},
}, {
'variables': {
'pkg-config': 'pkg-config'
},
}],
],
}],
],
'targets': [
{
'target_name': 'libssl',
'type': '<(component)',
'product_name': 'crssl', # Don't conflict with OpenSSL's libssl
'sources': [
'ssl/authcert.c',
'ssl/cmpcert.c',
'ssl/derive.c',
'ssl/dtlscon.c',
'ssl/os2_err.c',
'ssl/os2_err.h',
'ssl/preenc.h',
'ssl/prelib.c',
'ssl/ssl.h',
'ssl/ssl3con.c',
'ssl/ssl3ecc.c',
'ssl/ssl3ext.c',
'ssl/ssl3gthr.c',
'ssl/ssl3prot.h',
'ssl/sslauth.c',
'ssl/sslcon.c',
'ssl/ssldef.c',
'ssl/sslenum.c',
'ssl/sslerr.c',
'ssl/sslerr.h',
'ssl/SSLerrs.h',
'ssl/sslerrstrs.c',
'ssl/sslgathr.c',
'ssl/sslimpl.h',
'ssl/sslinfo.c',
'ssl/sslinit.c',
'ssl/sslmutex.c',
'ssl/sslmutex.h',
'ssl/sslnonce.c',
'ssl/sslplatf.c',
'ssl/sslproto.h',
'ssl/sslreveal.c',
'ssl/sslsecur.c',
'ssl/sslsnce.c',
'ssl/sslsock.c',
'ssl/sslt.h',
'ssl/ssltrace.c',
'ssl/sslver.c',
'ssl/unix_err.c',
'ssl/unix_err.h',
'ssl/win32err.c',
'ssl/win32err.h',
'ssl/bodge/secitem_array.c',
],
'sources!': [
'ssl/os2_err.c',
'ssl/os2_err.h',
],
'defines': [
'NO_PKCS11_BYPASS',
'NSS_ENABLE_ECC',
'USE_UTIL_DIRECTLY',
],
'msvs_disabled_warnings': [4018, 4244, 4267],
'conditions': [
['component == "shared_library"', {
'conditions': [
['OS == "mac" or OS == "ios"', {
'xcode_settings': {
'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO',
},
}],
['OS == "win"', {
'sources': [
'ssl/exports_win.def',
],
}],
['os_posix == 1 and OS != "mac" and OS != "ios"', {
'cflags!': ['-fvisibility=hidden'],
}],
],
}],
[ 'clang == 1', {
'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',
],
}],
[ 'OS == "linux"', {
'link_settings': {
'libraries': [
'-ldl',
],
},
}],
[ 'OS == "mac" or OS == "ios"', {
'defines': [
'XP_UNIX',
'DARWIN',
'XP_MACOSX',
],
}],
[ 'OS == "mac"', {
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/Security.framework',
],
},
}],
[ 'OS == "win"', {
'sources!': [
'ssl/unix_err.c',
'ssl/unix_err.h',
],
},
{ # else: OS != "win"
'sources!': [
'ssl/win32err.c',
'ssl/win32err.h',
],
},
],
[ 'os_posix == 1 and OS != "mac" and OS != "ios"', {
'include_dirs': [
'ssl/bodge',
],
'cflags': [
'<!@(<(pkg-config) --cflags nss)',
],
'ldflags': [
'<!@(<(pkg-config) --libs-only-L --libs-only-other nss)',
],
'libraries': [
'<!@(<(pkg-config) --libs-only-l nss | sed -e "s/-lssl3//")',
],
}],
[ 'OS == "mac" or OS == "ios" or OS == "win"', {
'sources/': [
['exclude', 'ssl/bodge/'],
],
'conditions': [
['OS != "ios"', {
'defines': [
'NSS_PLATFORM_CLIENT_AUTH',
],
'direct_dependent_settings': {
'defines': [
'NSS_PLATFORM_CLIENT_AUTH',
],
},
}],
],
'dependencies': [
'../../../third_party/nss/nss.gyp:nspr',
'../../../third_party/nss/nss.gyp:nss',
],
'export_dependent_settings': [
'../../../third_party/nss/nss.gyp:nspr',
'../../../third_party/nss/nss.gyp:nss',
],
'direct_dependent_settings': {
'include_dirs': [
'ssl',
],
},
}],
],
'configurations': {
'Debug_Base': {
'defines': [
'DEBUG',
],
},
},
},
],
}