# 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. { 'targets': [ { 'target_name': 'openssl', 'type': '<(component)', 'includes': [ # Include the auto-generated gypi file. '../../third_party/openssl/openssl.gypi' ], 'variables': { 'openssl_include_dirs': [ '.', 'openssl', 'openssl/crypto', 'openssl/crypto/asn1', 'openssl/crypto/evp', 'openssl/crypto/modes', 'openssl/include', ], }, 'sources': [ '<@(openssl_common_sources)', ], 'defines': [ '<@(openssl_common_defines)', 'PURIFY', 'MONOLITH', 'OPENSSL_NO_ASM', ], 'defines!': [ 'TERMIO', ], 'conditions': [ ['os_posix==1 and OS!="android"', { 'defines': [ # ENGINESDIR must be defined if OPENSSLDIR is. 'ENGINESDIR="/dev/null"', # Set to ubuntu default path for convenience. If necessary, override # this at runtime with the SSL_CERT_DIR environment variable. 'OPENSSLDIR="/etc/ssl"', ], }], ['target_arch == "arm"', { 'sources': [ '<@(openssl_arm_sources)' ], 'sources!': [ '<@(openssl_arm_source_excludes)' ], 'defines': [ '<@(openssl_arm_defines)' ], 'defines!': [ 'OPENSSL_NO_ASM' ], }], ['target_arch == "mipsel"', { 'sources': [ '<@(openssl_mips_sources)' ], 'sources!': [ '<@(openssl_mips_source_excludes)' ], 'defines': [ '<@(openssl_mips_defines)' ], 'defines!': [ 'OPENSSL_NO_ASM' ], }], ['target_arch == "ia32"', { 'sources': [ '<@(openssl_x86_sources)' ], 'sources!': [ '<@(openssl_x86_source_excludes)' ], 'defines': [ '<@(openssl_x86_defines)' ], 'defines!': [ 'OPENSSL_NO_ASM' ], }], ['target_arch == "x64"', { 'sources': [ '<@(openssl_x86_64_sources)' ], 'sources!': [ '<@(openssl_x86_64_source_excludes)' ], 'conditions': [ ['OS != "android"', { # Because rc4-x86_64.S has a problem, # We use the C rc4 source instead of the ASM source. # This hurts performance, but it's not a problem # because no production code uses openssl on x86-64. 'sources/': [ ['exclude', 'openssl/crypto/rc4/asm/rc4-x86_64\\.S' ], ['include', 'openssl/crypto/rc4/rc4_enc\\.c' ], ['include', 'openssl/crypto/rc4/rc4_skey\\.c' ], ], }] ], 'defines': [ '<@(openssl_x86_64_defines)' ], 'defines!': [ 'OPENSSL_NO_ASM' ], 'variables': { # Ensure the 64-bit opensslconf.h header is used. 'openssl_include_dirs+': [ 'config/x64' ], }, }], ['component == "shared_library"', { 'cflags!': ['-fvisibility=hidden'], }], ['clang==1', { 'cflags': [ # OpenSSL has a few |if ((foo == NULL))| checks. '-Wno-parentheses-equality', # OpenSSL uses several function-style macros and then ignores the # returned value. '-Wno-unused-value', ], }, { # Not clang. Disable all warnings. 'cflags': [ '-w', ], }] ], 'include_dirs': [ '<@(openssl_include_dirs)', ], 'direct_dependent_settings': { 'include_dirs': [ 'openssl/include', ], }, }, ], } # Local Variables: # tab-width:2 # indent-tabs-mode:nil # End: # vim: set expandtab tabstop=2 shiftwidth=2: