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