OLD | NEW |
| (Empty) |
1 # Copyright 2014 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 'includes': [ | |
7 'boringssl.gypi', | |
8 ], | |
9 'target_defaults': { | |
10 'conditions': [ | |
11 ['os_posix == 1', { | |
12 'cflags_c': [ '-std=c99' ], | |
13 'defines': [ '_XOPEN_SOURCE=700' ], | |
14 }], | |
15 ], | |
16 }, | |
17 'targets': [ | |
18 { | |
19 'target_name': 'boringssl_nacl_win64', | |
20 'type': '<(component)', | |
21 'sources': [ | |
22 '<@(boringssl_crypto_sources)', | |
23 ], | |
24 'defines': [ | |
25 'BORINGSSL_IMPLEMENTATION', | |
26 'BORINGSSL_NO_STATIC_INITIALIZER', | |
27 'OPENSSL_NO_ASM', | |
28 'OPENSSL_SMALL', | |
29 ], | |
30 'configurations': { | |
31 'Common_Base': { | |
32 'msvs_target_platform': 'x64', | |
33 }, | |
34 }, | |
35 # TODO(davidben): Fix size_t truncations in BoringSSL. | |
36 # https://crbug.com/429039 | |
37 'msvs_disabled_warnings': [ 4267, ], | |
38 'conditions': [ | |
39 ['component == "shared_library"', { | |
40 'defines': [ | |
41 'BORINGSSL_SHARED_LIBRARY', | |
42 ], | |
43 }], | |
44 ], | |
45 'include_dirs': [ | |
46 'src/include', | |
47 ], | |
48 'direct_dependent_settings': { | |
49 'include_dirs': [ | |
50 'src/include', | |
51 ], | |
52 'conditions': [ | |
53 ['component == "shared_library"', { | |
54 'defines': [ | |
55 'BORINGSSL_SHARED_LIBRARY', | |
56 ], | |
57 }], | |
58 ], | |
59 }, | |
60 }, | |
61 { | |
62 'target_name': 'boringssl', | |
63 'type': '<(component)', | |
64 'sources': [ | |
65 '<@(boringssl_crypto_sources)', | |
66 '<@(boringssl_ssl_sources)', | |
67 ], | |
68 'defines': [ | |
69 'BORINGSSL_IMPLEMENTATION', | |
70 'BORINGSSL_NO_STATIC_INITIALIZER', | |
71 'OPENSSL_SMALL', | |
72 ], | |
73 'dependencies': [ 'boringssl_asm' ], | |
74 # TODO(davidben): Fix size_t truncations in BoringSSL. | |
75 # https://crbug.com/429039 | |
76 'msvs_disabled_warnings': [ 4267, ], | |
77 'conditions': [ | |
78 ['component == "shared_library"', { | |
79 'defines': [ | |
80 'BORINGSSL_SHARED_LIBRARY', | |
81 ], | |
82 }], | |
83 ], | |
84 'include_dirs': [ | |
85 'src/include', | |
86 ], | |
87 'direct_dependent_settings': { | |
88 'include_dirs': [ | |
89 'src/include', | |
90 ], | |
91 'conditions': [ | |
92 ['component == "shared_library"', { | |
93 'defines': [ | |
94 'BORINGSSL_SHARED_LIBRARY', | |
95 ], | |
96 }], | |
97 ], | |
98 }, | |
99 }, | |
100 { | |
101 # boringssl_asm is a separate target to allow for ASM-specific cflags. | |
102 'target_name': 'boringssl_asm', | |
103 'type': 'static_library', | |
104 'include_dirs': [ | |
105 'src/include', | |
106 ], | |
107 'conditions': [ | |
108 ['target_arch == "arm" and msan == 0', { | |
109 'conditions': [ | |
110 ['OS == "linux" or OS == "android"', { | |
111 'sources': [ '<@(boringssl_linux_arm_sources)' ], | |
112 }, { | |
113 'direct_dependent_settings': { | |
114 'defines': [ 'OPENSSL_NO_ASM' ], | |
115 }, | |
116 }], | |
117 ], | |
118 }], | |
119 ['target_arch == "arm" and clang == 1', { | |
120 # TODO(hans) Enable integrated-as (crbug.com/124610). | |
121 'cflags': [ '-fno-integrated-as' ], | |
122 'conditions': [ | |
123 ['OS == "android"', { | |
124 # Else /usr/bin/as gets picked up. | |
125 'cflags': [ '-B<(android_toolchain)' ], | |
126 }], | |
127 ], | |
128 }], | |
129 ['target_arch == "arm64" and msan == 0', { | |
130 'conditions': [ | |
131 ['OS == "linux" or OS == "android"', { | |
132 'sources': [ '<@(boringssl_linux_aarch64_sources)' ], | |
133 # TODO(davidben): Remove explicit arch flag once | |
134 # https://crbug.com/576858 is fixed. | |
135 'cflags': [ '-march=armv8-a+crypto' ], | |
136 }, { | |
137 'direct_dependent_settings': { | |
138 'defines': [ 'OPENSSL_NO_ASM' ], | |
139 }, | |
140 }], | |
141 ], | |
142 }], | |
143 ['target_arch == "ia32" and msan == 0', { | |
144 'conditions': [ | |
145 ['OS == "mac"', { | |
146 'sources': [ '<@(boringssl_mac_x86_sources)' ], | |
147 }], | |
148 ['OS == "linux" or OS == "android"', { | |
149 'sources': [ '<@(boringssl_linux_x86_sources)' ], | |
150 }], | |
151 ['OS == "win"', { | |
152 'sources': [ '<@(boringssl_win_x86_sources)' ], | |
153 # Windows' assembly is built with Yasm. The other platforms use | |
154 # the platform assembler. | |
155 'variables': { | |
156 'yasm_output_path': '<(SHARED_INTERMEDIATE_DIR)/third_party/bori
ngssl', | |
157 }, | |
158 'includes': [ | |
159 '../yasm/yasm_compile.gypi', | |
160 ], | |
161 }], | |
162 ['OS != "mac" and OS != "linux" and OS != "win" and OS != "android"'
, { | |
163 'direct_dependent_settings': { | |
164 'defines': [ 'OPENSSL_NO_ASM' ], | |
165 }, | |
166 }], | |
167 ] | |
168 }], | |
169 ['target_arch == "x64" and msan == 0', { | |
170 'conditions': [ | |
171 ['OS == "mac"', { | |
172 'sources': [ '<@(boringssl_mac_x86_64_sources)' ], | |
173 }], | |
174 ['OS == "linux" or OS == "android"', { | |
175 'sources': [ '<@(boringssl_linux_x86_64_sources)' ], | |
176 }], | |
177 ['OS == "win"', { | |
178 'sources': [ '<@(boringssl_win_x86_64_sources)' ], | |
179 # Windows' assembly is built with Yasm. The other platforms use | |
180 # the platform assembler. | |
181 'variables': { | |
182 'yasm_output_path': '<(SHARED_INTERMEDIATE_DIR)/third_party/bori
ngssl', | |
183 }, | |
184 'includes': [ | |
185 '../yasm/yasm_compile.gypi', | |
186 ], | |
187 }], | |
188 ['OS != "mac" and OS != "linux" and OS != "win" and OS != "android"'
, { | |
189 'direct_dependent_settings': { | |
190 'defines': [ 'OPENSSL_NO_ASM' ], | |
191 }, | |
192 }], | |
193 ] | |
194 }], | |
195 ['msan == 1 or (target_arch != "arm" and target_arch != "ia32" and targe
t_arch != "x64" and target_arch != "arm64")', { | |
196 'direct_dependent_settings': { | |
197 'defines': [ 'OPENSSL_NO_ASM' ], | |
198 }, | |
199 }], | |
200 ], | |
201 }, | |
202 ], | |
203 } | |
OLD | NEW |