OLD | NEW |
| (Empty) |
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 'conditions': [ | |
7 [ 'os_posix == 1 and OS != "mac" and OS != "ios"', { | |
8 'conditions': [ | |
9 ['sysroot!=""', { | |
10 'variables': { | |
11 'pkg-config': '../../../build/linux/pkg-config-wrapper "<(sysroot)"
"<(target_arch)" "<(system_libdir)"', | |
12 }, | |
13 }, { | |
14 'variables': { | |
15 'pkg-config': 'pkg-config' | |
16 }, | |
17 }], | |
18 ], | |
19 }], | |
20 ], | |
21 | |
22 'targets': [ | |
23 { | |
24 'target_name': 'libssl', | |
25 'type': '<(component)', | |
26 'product_name': 'crssl', # Don't conflict with OpenSSL's libssl | |
27 'sources': [ | |
28 'ssl/SSLerrs.h', | |
29 'ssl/authcert.c', | |
30 'ssl/bodge/secitem_array.c', | |
31 'ssl/cmpcert.c', | |
32 'ssl/derive.c', | |
33 'ssl/dtlscon.c', | |
34 'ssl/os2_err.c', | |
35 'ssl/os2_err.h', | |
36 'ssl/preenc.h', | |
37 'ssl/prelib.c', | |
38 'ssl/ssl.h', | |
39 'ssl/ssl3con.c', | |
40 'ssl/ssl3ecc.c', | |
41 'ssl/ssl3ext.c', | |
42 'ssl/ssl3gthr.c', | |
43 'ssl/ssl3prot.h', | |
44 'ssl/sslauth.c', | |
45 'ssl/sslcon.c', | |
46 'ssl/ssldef.c', | |
47 'ssl/sslenum.c', | |
48 'ssl/sslerr.c', | |
49 'ssl/sslerr.h', | |
50 'ssl/sslerrstrs.c', | |
51 'ssl/sslgathr.c', | |
52 'ssl/sslimpl.h', | |
53 'ssl/sslinfo.c', | |
54 'ssl/sslinit.c', | |
55 'ssl/sslmutex.c', | |
56 'ssl/sslmutex.h', | |
57 'ssl/sslnonce.c', | |
58 'ssl/sslplatf.c', | |
59 'ssl/sslproto.h', | |
60 'ssl/sslreveal.c', | |
61 'ssl/sslsecur.c', | |
62 'ssl/sslsnce.c', | |
63 'ssl/sslsock.c', | |
64 'ssl/sslt.h', | |
65 'ssl/ssltrace.c', | |
66 'ssl/sslver.c', | |
67 'ssl/unix_err.c', | |
68 'ssl/unix_err.h', | |
69 'ssl/win32err.c', | |
70 'ssl/win32err.h', | |
71 ], | |
72 'sources!': [ | |
73 'ssl/os2_err.c', | |
74 'ssl/os2_err.h', | |
75 ], | |
76 'defines': [ | |
77 'NO_PKCS11_BYPASS', | |
78 'NSS_ENABLE_ECC', | |
79 'USE_UTIL_DIRECTLY', | |
80 ], | |
81 'msvs_disabled_warnings': [4018, 4244, 4267], | |
82 'variables': { | |
83 'clang_warning_flags_unset': [ | |
84 # ssl uses PR_ASSERT(!"foo") instead of PR_ASSERT(false && "foo") | |
85 '-Wstring-conversion', | |
86 ], | |
87 }, | |
88 'conditions': [ | |
89 ['component == "shared_library"', { | |
90 'conditions': [ | |
91 ['OS == "mac" or OS == "ios"', { | |
92 'xcode_settings': { | |
93 'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO', | |
94 }, | |
95 }], | |
96 ['OS == "win"', { | |
97 'sources': [ | |
98 'ssl/exports_win.def', | |
99 ], | |
100 }], | |
101 ['os_posix == 1 and OS != "mac" and OS != "ios"', { | |
102 'cflags!': ['-fvisibility=hidden'], | |
103 }], | |
104 ], | |
105 }], | |
106 [ 'clang == 1', { | |
107 'cflags': [ | |
108 # There is a broken header guard in /usr/include/nss/secmod.h: | |
109 # https://bugzilla.mozilla.org/show_bug.cgi?id=884072 | |
110 '-Wno-header-guard', | |
111 ], | |
112 }], | |
113 [ 'OS == "linux"', { | |
114 'link_settings': { | |
115 'libraries': [ | |
116 '-ldl', | |
117 ], | |
118 }, | |
119 }], | |
120 [ 'OS == "mac" or OS == "ios"', { | |
121 'defines': [ | |
122 'XP_UNIX', | |
123 'DARWIN', | |
124 'XP_MACOSX', | |
125 ], | |
126 }], | |
127 [ 'OS == "mac"', { | |
128 'link_settings': { | |
129 'libraries': [ | |
130 '$(SDKROOT)/System/Library/Frameworks/Security.framework', | |
131 ], | |
132 }, | |
133 }], | |
134 [ 'OS == "win"', { | |
135 'sources!': [ | |
136 'ssl/unix_err.c', | |
137 'ssl/unix_err.h', | |
138 ], | |
139 }, | |
140 { # else: OS != "win" | |
141 'sources!': [ | |
142 'ssl/win32err.c', | |
143 'ssl/win32err.h', | |
144 ], | |
145 }, | |
146 ], | |
147 [ 'os_posix == 1 and OS != "mac" and OS != "ios"', { | |
148 'include_dirs': [ | |
149 'ssl/bodge', | |
150 ], | |
151 'cflags': [ | |
152 '<!@(<(pkg-config) --cflags nss)', | |
153 ], | |
154 'ldflags': [ | |
155 '<!@(<(pkg-config) --libs-only-L --libs-only-other nss)', | |
156 ], | |
157 'libraries': [ | |
158 '<!@(<(pkg-config) --libs-only-l nss | sed -e "s/-lssl3//")', | |
159 ], | |
160 }], | |
161 [ 'OS == "mac" or OS == "ios" or OS == "win"', { | |
162 'sources/': [ | |
163 ['exclude', 'ssl/bodge/'], | |
164 ], | |
165 'conditions': [ | |
166 ['OS != "ios"', { | |
167 'defines': [ | |
168 'NSS_PLATFORM_CLIENT_AUTH', | |
169 ], | |
170 'direct_dependent_settings': { | |
171 'defines': [ | |
172 'NSS_PLATFORM_CLIENT_AUTH', | |
173 ], | |
174 }, | |
175 }], | |
176 ], | |
177 'dependencies': [ | |
178 '../../../third_party/nss/nss.gyp:nspr', | |
179 '../../../third_party/nss/nss.gyp:nss', | |
180 ], | |
181 'export_dependent_settings': [ | |
182 '../../../third_party/nss/nss.gyp:nspr', | |
183 '../../../third_party/nss/nss.gyp:nss', | |
184 ], | |
185 'direct_dependent_settings': { | |
186 'include_dirs': [ | |
187 'ssl', | |
188 ], | |
189 }, | |
190 }], | |
191 ], | |
192 'configurations': { | |
193 'Debug_Base': { | |
194 'defines': [ | |
195 'DEBUG', | |
196 ], | |
197 }, | |
198 }, | |
199 }, | |
200 ], | |
201 } | |
OLD | NEW |