Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Side by Side Diff: build/secondary/third_party/libsrtp/BUILD.gn

Issue 2350583002: Starting work on full GN build (Closed)
Patch Set: Fixes for Fuchsia and Flutter. Cleanup. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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 declare_args() {
6 use_system_libsrtp = false
7 use_srtp_boringssl = true
8 }
9
10 config("libsrtp_config") {
11 defines = [
12 "HAVE_CONFIG_H",
13 "HAVE_STDLIB_H",
14 "HAVE_STRING_H",
15 "TESTAPP_SOURCE",
16 ]
17
18 include_dirs = [
19 "config",
20 "srtp/include",
21 "srtp/crypto/include",
22 ]
23
24 if (use_srtp_boringssl) {
25 defines += [ "OPENSSL" ]
26 }
27
28 if (is_posix) {
29 defines += [
30 "HAVE_INT16_T",
31 "HAVE_INT32_T",
32 "HAVE_INT8_T",
33 "HAVE_UINT16_T",
34 "HAVE_UINT32_T",
35 "HAVE_UINT64_T",
36 "HAVE_UINT8_T",
37 "HAVE_STDINT_H",
38 "HAVE_INTTYPES_H",
39 "HAVE_NETINET_IN_H",
40 "HAVE_ARPA_INET_H",
41 "HAVE_UNISTD_H",
42 ]
43 cflags = [ "-Wno-unused-variable" ]
44 }
45
46 if (is_win) {
47 defines += [
48 "HAVE_BYTESWAP_METHODS_H",
49
50 # All Windows architectures are this way.
51 "SIZEOF_UNSIGNED_LONG=4",
52 "SIZEOF_UNSIGNED_LONG_LONG=8",
53 ]
54 }
55
56 if (current_cpu == "x64" || current_cpu == "x86" || current_cpu == "arm") {
57 defines += [
58 # TODO(leozwang): CPU_RISC doesn"t work properly on android/arm
59 # platform for unknown reasons, need to investigate the root cause
60 # of it. CPU_RISC is used for optimization only, and CPU_CISC should
61 # just work just fine, it has been tested on android/arm with srtp
62 # test applications and libjingle.
63 "CPU_CISC",
64 ]
65 }
66
67 if (current_cpu == "mipsel") {
68 defines += [ "CPU_RISC" ]
69 }
70 }
71
72 config("system_libsrtp_config") {
73 defines = [ "USE_SYSTEM_LIBSRTP" ]
74 include_dirs = [ "/usr/include/srtp" ]
75 }
76
77 if (use_system_libsrtp) {
78 group("libsrtp") {
79 public_configs = [
80 ":libsrtp_config",
81 ":system_libsrtp_config",
82 ]
83 libs = [ "-lsrtp" ]
84 }
85 } else {
86 static_library("libsrtp") {
87 configs -= [ "//build/config/compiler:chromium_code" ]
88 configs += [ "//build/config/compiler:no_chromium_code" ]
89 public_configs = [ ":libsrtp_config" ]
90
91 sources = [
92 # includes
93 "srtp/include/ekt.h",
94 "srtp/include/getopt_s.h",
95 "srtp/include/rtp.h",
96 "srtp/include/rtp_priv.h",
97 "srtp/include/srtp.h",
98 "srtp/include/srtp_priv.h",
99 "srtp/include/ut_sim.h",
100
101 # headers
102 "srtp/crypto/include/aes.h",
103 "srtp/crypto/include/aes_cbc.h",
104 "srtp/crypto/include/aes_icm.h",
105 "srtp/crypto/include/alloc.h",
106 "srtp/crypto/include/auth.h",
107 "srtp/crypto/include/cipher.h",
108 "srtp/crypto/include/crypto.h",
109 "srtp/crypto/include/crypto_kernel.h",
110 "srtp/crypto/include/crypto_math.h",
111 "srtp/crypto/include/crypto_types.h",
112 "srtp/crypto/include/cryptoalg.h",
113 "srtp/crypto/include/datatypes.h",
114 "srtp/crypto/include/err.h",
115 "srtp/crypto/include/gf2_8.h",
116 "srtp/crypto/include/hmac.h",
117 "srtp/crypto/include/integers.h",
118 "srtp/crypto/include/kernel_compat.h",
119 "srtp/crypto/include/key.h",
120 "srtp/crypto/include/null_auth.h",
121 "srtp/crypto/include/null_cipher.h",
122 "srtp/crypto/include/prng.h",
123 "srtp/crypto/include/rand_source.h",
124 "srtp/crypto/include/rdb.h",
125 "srtp/crypto/include/rdbx.h",
126 "srtp/crypto/include/sha1.h",
127 "srtp/crypto/include/stat.h",
128 "srtp/crypto/include/xfm.h",
129
130 # sources
131 "srtp/crypto/cipher/aes.c",
132 "srtp/crypto/cipher/aes_cbc.c",
133 "srtp/crypto/cipher/aes_icm.c",
134 "srtp/crypto/cipher/cipher.c",
135 "srtp/crypto/cipher/null_cipher.c",
136 "srtp/crypto/hash/auth.c",
137 "srtp/crypto/hash/hmac.c",
138 "srtp/crypto/hash/null_auth.c",
139 "srtp/crypto/hash/sha1.c",
140 "srtp/crypto/kernel/alloc.c",
141 "srtp/crypto/kernel/crypto_kernel.c",
142 "srtp/crypto/kernel/err.c",
143 "srtp/crypto/kernel/key.c",
144 "srtp/crypto/math/datatypes.c",
145 "srtp/crypto/math/gf2_8.c",
146 "srtp/crypto/math/stat.c",
147 "srtp/crypto/replay/rdb.c",
148 "srtp/crypto/replay/rdbx.c",
149 "srtp/crypto/replay/ut_sim.c",
150 "srtp/crypto/rng/ctr_prng.c",
151 "srtp/crypto/rng/prng.c",
152 "srtp/crypto/rng/rand_source.c",
153 "srtp/srtp/ekt.c",
154 "srtp/srtp/srtp.c",
155 ]
156
157 if (is_clang) {
158 cflags = [ "-Wno-implicit-function-declaration" ]
159 }
160
161 if (use_srtp_boringssl) {
162 deps = [
163 "//third_party/boringssl:boringssl",
164 ]
165 public_deps = [
166 "//third_party/boringssl:boringssl",
167 ]
168 sources -= [
169 "srtp/crypto/cipher/aes_cbc.c",
170 "srtp/crypto/cipher/aes_icm.c",
171 "srtp/crypto/hash/hmac.c",
172 "srtp/crypto/hash/sha1.c",
173 "srtp/crypto/rng/ctr_prng.c",
174 "srtp/crypto/rng/prng.c",
175 ]
176 sources += [
177 "srtp/crypto/cipher/aes_gcm_ossl.c",
178 "srtp/crypto/cipher/aes_icm_ossl.c",
179 "srtp/crypto/hash/hmac_ossl.c",
180 "srtp/crypto/include/aes_gcm_ossl.h",
181 "srtp/crypto/include/aes_icm_ossl.h",
182 ]
183 }
184 }
185
186 # TODO(GYP): A bunch of these tests don't compile (in gyp either). They're
187 # not very broken, so could probably be made to work if it's useful.
188 if (!is_win) {
189 executable("rdbx_driver") {
190 configs -= [ "//build/config/compiler:chromium_code" ]
191 configs += [ "//build/config/compiler:no_chromium_code" ]
192 deps = [
193 ":libsrtp",
194 ]
195 sources = [
196 "srtp/include/getopt_s.h",
197 "srtp/test/getopt_s.c",
198 "srtp/test/rdbx_driver.c",
199 ]
200 }
201
202 executable("srtp_driver") {
203 configs -= [ "//build/config/compiler:chromium_code" ]
204 configs += [ "//build/config/compiler:no_chromium_code" ]
205 deps = [
206 ":libsrtp",
207 ]
208 sources = [
209 "srtp/include/getopt_s.h",
210 "srtp/include/srtp_priv.h",
211 "srtp/test/getopt_s.c",
212 "srtp/test/srtp_driver.c",
213 ]
214 }
215
216 executable("roc_driver") {
217 configs -= [ "//build/config/compiler:chromium_code" ]
218 configs += [ "//build/config/compiler:no_chromium_code" ]
219 deps = [
220 ":libsrtp",
221 ]
222 sources = [
223 "srtp/crypto/include/rdbx.h",
224 "srtp/include/ut_sim.h",
225 "srtp/test/roc_driver.c",
226 ]
227 }
228
229 executable("replay_driver") {
230 configs -= [ "//build/config/compiler:chromium_code" ]
231 configs += [ "//build/config/compiler:no_chromium_code" ]
232 deps = [
233 ":libsrtp",
234 ]
235 sources = [
236 "srtp/crypto/include/rdbx.h",
237 "srtp/include/ut_sim.h",
238 "srtp/test/replay_driver.c",
239 ]
240 }
241
242 executable("rtpw") {
243 configs -= [ "//build/config/compiler:chromium_code" ]
244 configs += [ "//build/config/compiler:no_chromium_code" ]
245 deps = [
246 ":libsrtp",
247 ]
248 sources = [
249 "srtp/crypto/include/datatypes.h",
250 "srtp/include/getopt_s.h",
251 "srtp/include/rtp.h",
252 "srtp/include/srtp.h",
253 "srtp/test/getopt_s.c",
254 "srtp/test/rtp.c",
255 "srtp/test/rtpw.c",
256 ]
257 if (is_android) {
258 defines = [ "HAVE_SYS_SOCKET_H" ]
259 }
260 if (is_clang) {
261 cflags = [ "-Wno-implicit-function-declaration" ]
262 }
263 }
264
265 executable("srtp_test_cipher_driver") {
266 configs -= [ "//build/config/compiler:chromium_code" ]
267 configs += [ "//build/config/compiler:no_chromium_code" ]
268 deps = [
269 ":libsrtp",
270 ]
271 sources = [
272 "srtp/crypto/test/cipher_driver.c",
273 "srtp/include/getopt_s.h",
274 "srtp/test/getopt_s.c",
275 ]
276 }
277
278 executable("srtp_test_datatypes_driver") {
279 configs -= [ "//build/config/compiler:chromium_code" ]
280 configs += [ "//build/config/compiler:no_chromium_code" ]
281 deps = [
282 ":libsrtp",
283 ]
284 sources = [
285 "srtp/crypto/test/datatypes_driver.c",
286 ]
287 }
288
289 executable("srtp_test_stat_driver") {
290 configs -= [ "//build/config/compiler:chromium_code" ]
291 configs += [ "//build/config/compiler:no_chromium_code" ]
292 deps = [
293 ":libsrtp",
294 ]
295 sources = [
296 "srtp/crypto/test/stat_driver.c",
297 ]
298 }
299
300 executable("srtp_test_sha1_driver") {
301 configs -= [ "//build/config/compiler:chromium_code" ]
302 configs += [ "//build/config/compiler:no_chromium_code" ]
303 deps = [
304 ":libsrtp",
305 ]
306 sources = [
307 "srtp/crypto/test/sha1_driver.c",
308 ]
309 }
310
311 executable("srtp_test_kernel_driver") {
312 configs -= [ "//build/config/compiler:chromium_code" ]
313 configs += [ "//build/config/compiler:no_chromium_code" ]
314 deps = [
315 ":libsrtp",
316 ]
317 sources = [
318 "srtp/crypto/test/kernel_driver.c",
319 "srtp/include/getopt_s.h",
320 "srtp/test/getopt_s.c",
321 ]
322 }
323
324 executable("srtp_test_aes_calc") {
325 configs -= [ "//build/config/compiler:chromium_code" ]
326 configs += [ "//build/config/compiler:no_chromium_code" ]
327 deps = [
328 ":libsrtp",
329 ]
330 sources = [
331 "srtp/crypto/test/aes_calc.c",
332 ]
333 }
334
335 executable("srtp_test_rand_gen") {
336 configs -= [ "//build/config/compiler:chromium_code" ]
337 configs += [ "//build/config/compiler:no_chromium_code" ]
338 deps = [
339 ":libsrtp",
340 ]
341 sources = [
342 "srtp/crypto/test/rand_gen.c",
343 "srtp/include/getopt_s.h",
344 "srtp/test/getopt_s.c",
345 ]
346 }
347
348 executable("srtp_test_rand_gen_soak") {
349 configs -= [ "//build/config/compiler:chromium_code" ]
350 configs += [ "//build/config/compiler:no_chromium_code" ]
351 deps = [
352 ":libsrtp",
353 ]
354 sources = [
355 "srtp/crypto/test/rand_gen_soak.c",
356 "srtp/include/getopt_s.h",
357 "srtp/test/getopt_s.c",
358 ]
359 }
360
361 executable("srtp_test_env") {
362 configs -= [ "//build/config/compiler:chromium_code" ]
363 configs += [ "//build/config/compiler:no_chromium_code" ]
364 deps = [
365 ":libsrtp",
366 ]
367 sources = [
368 "srtp/crypto/test/env.c",
369 ]
370 }
371
372 group("srtp_runtest") {
373 deps = [
374 ":rdbx_driver",
375 ":srtp_driver",
376 ":roc_driver",
377 ":replay_driver",
378 ":rtpw",
379 ":srtp_test_cipher_driver",
380 ":srtp_test_datatypes_driver",
381 ":srtp_test_stat_driver",
382 ":srtp_test_sha1_driver",
383 ":srtp_test_kernel_driver",
384 ":srtp_test_aes_calc",
385 ":srtp_test_rand_gen",
386 ":srtp_test_rand_gen_soak",
387 ":srtp_test_env",
388 ]
389 }
390 }
391 }
OLDNEW
« no previous file with comments | « build/secondary/third_party/libjpeg_turbo/BUILD.gn ('k') | build/secondary/third_party/nss/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698