1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
8 'target_name': 'openssl',
9 'type': '<(component)',
11 # Include the auto-generated gypi file.
15 'openssl_include_dirs': [
19 'openssl/crypto/asn1',
21 'openssl/crypto/modes',
24 'openssl_public_include_dirs': [
29 '<@(openssl_common_sources)',
32 '<@(openssl_common_defines)',
41 ['os_posix==1 and OS!="android"', {
43 # ENGINESDIR must be defined if OPENSSLDIR is.
44 'ENGINESDIR="/dev/null"',
45 # Set to ubuntu default path for convenience. If necessary, override
46 # this at runtime with the SSL_CERT_DIR environment variable.
47 'OPENSSLDIR="/etc/ssl"',
50 ['target_arch == "arm"', {
51 'sources': [ '<@(openssl_arm_sources)' ],
52 'sources!': [ '<@(openssl_arm_source_excludes)' ],
53 'defines': [ '<@(openssl_arm_defines)' ],
54 'defines!': [ 'OPENSSL_NO_ASM' ],
56 ['target_arch == "mipsel"', {
57 'sources': [ '<@(openssl_mips_sources)' ],
58 'sources!': [ '<@(openssl_mips_source_excludes)' ],
59 'defines': [ '<@(openssl_mips_defines)' ],
60 'defines!': [ 'OPENSSL_NO_ASM' ],
62 ['target_arch == "ia32" and OS !="mac"', {
63 'sources': [ '<@(openssl_x86_sources)' ],
64 'sources!': [ '<@(openssl_x86_source_excludes)' ],
65 'defines': [ '<@(openssl_x86_defines)' ],
66 'defines!': [ 'OPENSSL_NO_ASM' ],
68 ['target_arch == "ia32" and OS == "mac"', {
69 'sources': [ '<@(openssl_mac_ia32_sources)' ],
70 'sources!': [ '<@(openssl_mac_ia32_source_excludes)' ],
71 'defines': [ '<@(openssl_mac_ia32_defines)' ],
72 'defines!': [ 'OPENSSL_NO_ASM' ],
74 # Ensure the 32-bit opensslconf.h header for OS X is used.
75 'openssl_include_dirs+': [ 'config/mac/ia32' ],
76 'openssl_public_include_dirs+': [ 'config/mac/ia32' ],
79 # Clang needs this to understand the inline assembly keyword 'asm'.
80 'GCC_C_LANGUAGE_STANDARD': 'gnu99',
83 ['target_arch == "x64"', {
84 'sources': [ '<@(openssl_x86_64_sources)' ],
85 'sources!': [ '<@(openssl_x86_64_source_excludes)' ],
86 'defines': [ '<@(openssl_x86_64_defines)' ],
87 'defines!': [ 'OPENSSL_NO_ASM' ],
89 # Ensure the 64-bit opensslconf.h header is used.
90 'openssl_include_dirs+': [ 'config/x64' ],
91 'openssl_public_include_dirs+': [ 'config/x64' ],
94 ['component == "shared_library"', {
96 'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO', # no -fvisibility=hidden
98 'cflags!': ['-fvisibility=hidden'],
102 # OpenSSL has a few |if ((foo == NULL))| checks.
103 '-Wno-parentheses-equality',
104 # OpenSSL uses several function-style macros and then ignores the
108 }, { # Not clang. Disable all warnings.
115 '<@(openssl_include_dirs)',
117 'direct_dependent_settings': {
119 '<@(openssl_public_include_dirs)',
128 # indent-tabs-mode:nil
130 # vim: set expandtab tabstop=2 shiftwidth=2: