Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / openssl / openssl.gyp
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.
4
5 {
6   'targets': [
7     {
8       'target_name': 'openssl',
9       'type': '<(component)',
10       'includes': [
11         # Include the auto-generated gypi file.
12         'openssl.gypi'
13       ],
14       'variables': {
15         'openssl_include_dirs': [
16           '.',
17           'openssl',
18           'openssl/crypto',
19           'openssl/crypto/asn1',
20           'openssl/crypto/evp',
21           'openssl/crypto/modes',
22           'openssl/include',
23         ],
24         'openssl_public_include_dirs': [
25           'openssl/include',
26         ],
27       },
28       'sources': [
29         '<@(openssl_common_sources)',
30       ],
31       'defines': [
32         '<@(openssl_common_defines)',
33         'PURIFY',
34         'MONOLITH',
35         'OPENSSL_NO_ASM',
36       ],
37       'defines!': [
38         'TERMIO',
39       ],
40       'conditions': [
41         ['os_posix==1 and OS!="android"', {
42           'defines': [
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"',
48           ],
49         }],
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' ],
55         }],
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' ],
61         }],
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' ],
67         }],
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' ],
73           'variables': {
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' ],
77           },
78           'xcode_settings': {
79             # Clang needs this to understand the inline assembly keyword 'asm'.
80             'GCC_C_LANGUAGE_STANDARD': 'gnu99',
81           },
82         }],
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' ],
88           'variables': {
89             # Ensure the 64-bit opensslconf.h header is used.
90             'openssl_include_dirs+': [ 'config/x64' ],
91             'openssl_public_include_dirs+': [ 'config/x64' ],
92           },
93         }],
94         ['component == "shared_library"', {
95           'xcode_settings': {
96             'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO',  # no -fvisibility=hidden
97           },
98           'cflags!': ['-fvisibility=hidden'],
99         }],
100         ['clang==1', {
101           'cflags': [
102             # OpenSSL has a few |if ((foo == NULL))| checks.
103             '-Wno-parentheses-equality',
104             # OpenSSL uses several function-style macros and then ignores the
105             # returned value.
106             '-Wno-unused-value',
107           ],
108         }, { # Not clang. Disable all warnings.
109           'cflags': [
110             '-w',
111           ],
112         }]
113       ],
114       'include_dirs': [
115         '<@(openssl_include_dirs)',
116       ],
117       'direct_dependent_settings': {
118         'include_dirs': [
119           '<@(openssl_public_include_dirs)',
120         ],
121       },
122     },
123   ],
124 }
125
126 # Local Variables:
127 # tab-width:2
128 # indent-tabs-mode:nil
129 # End:
130 # vim: set expandtab tabstop=2 shiftwidth=2: