Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / net / third_party / nss / ssl.gyp
blob89319ae59c71b73a0e18ef46f74ffcf4282d0f35
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.
6   'targets': [
7     {
8       'target_name': 'libssl',
9       'type': '<(component)',
10       'product_name': 'crssl',  # Don't conflict with OpenSSL's libssl
11       'sources': [
12         'ssl/SSLerrs.h',
13         'ssl/authcert.c',
14         'ssl/bodge/secitem_array.c',
15         'ssl/cmpcert.c',
16         'ssl/derive.c',
17         'ssl/dtlscon.c',
18         'ssl/os2_err.c',
19         'ssl/os2_err.h',
20         'ssl/preenc.h',
21         'ssl/prelib.c',
22         'ssl/ssl.h',
23         'ssl/ssl3con.c',
24         'ssl/ssl3ecc.c',
25         'ssl/ssl3ext.c',
26         'ssl/ssl3gthr.c',
27         'ssl/ssl3prot.h',
28         'ssl/sslauth.c',
29         'ssl/sslcon.c',
30         'ssl/ssldef.c',
31         'ssl/sslenum.c',
32         'ssl/sslerr.c',
33         'ssl/sslerr.h',
34         'ssl/sslerrstrs.c',
35         'ssl/sslgathr.c',
36         'ssl/sslimpl.h',
37         'ssl/sslinfo.c',
38         'ssl/sslinit.c',
39         'ssl/sslmutex.c',
40         'ssl/sslmutex.h',
41         'ssl/sslnonce.c',
42         'ssl/sslplatf.c',
43         'ssl/sslproto.h',
44         'ssl/sslreveal.c',
45         'ssl/sslsecur.c',
46         'ssl/sslsnce.c',
47         'ssl/sslsock.c',
48         'ssl/sslt.h',
49         'ssl/ssltrace.c',
50         'ssl/sslver.c',
51         'ssl/unix_err.c',
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       ],
60       'defines': [
61         'NO_PKCS11_BYPASS',
62         'NSS_ENABLE_ECC',
63         'USE_UTIL_DIRECTLY',
64       ],
65       'msvs_disabled_warnings': [4244, 4267],
66       'variables': {
67         'clang_warning_flags_unset': [
68           # ssl uses PR_ASSERT(!"foo") instead of PR_ASSERT(false && "foo")
69           '-Wstring-conversion',
70         ],
71       },
72       'conditions': [
73         ['component == "shared_library"', {
74           'conditions': [
75             ['OS == "mac" or OS == "ios"', {
76               'xcode_settings': {
77                 'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO',
78               },
79             }],
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           ],
89         }],
90         [ 'clang == 1', {
91           'cflags': [
92             # There is a broken header guard in /usr/include/nss/secmod.h:
93             # https://bugzilla.mozilla.org/show_bug.cgi?id=884072
94             '-Wno-header-guard',
95           ],
96         }],
97         [ 'OS == "linux"', {
98           'link_settings': {
99             'libraries': [
100               '-ldl',
101             ],
102           },
103         }],
104         [ 'OS == "mac" or OS == "ios"', {
105           'defines': [
106             'XP_UNIX',
107             'DARWIN',
108             'XP_MACOSX',
109           ],
110         }],
111         [ 'OS == "mac"', {
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': [
162             '../../../third_party/nss/nss.gyp:nspr',
163             '../../../third_party/nss/nss.gyp:nss',
164           ],
165           'export_dependent_settings': [
166             '../../../third_party/nss/nss.gyp:nspr',
167             '../../../third_party/nss/nss.gyp:nss',
168           ],
169           'direct_dependent_settings': {
170             'include_dirs': [
171               'ssl',
172             ],
173           },
174         }],
175       ],
176       'configurations': {
177         'Debug_Base': {
178           'defines': [
179             'DEBUG',
180           ],
181         },
182       },
183     },
184   ],