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.
7 'use_system_libsrtp%': 0,
17 'srtp/crypto/include',
38 'HAVE_BYTESWAP_METHODS_H',
39 # All Windows architectures are this way.
40 'SIZEOF_UNSIGNED_LONG=4',
41 'SIZEOF_UNSIGNED_LONG_LONG=8',
44 ['target_arch=="x64" or target_arch=="ia32"', {
49 ['target_arch=="arm" or target_arch=="armv7" or target_arch=="arm64"', {
51 # TODO(leozwang): CPU_RISC doesn't work properly on android/arm
52 # platform for unknown reasons, need to investigate the root cause
53 # of it. CPU_RISC is used for optimization only, and CPU_CISC should
54 # just work just fine, it has been tested on android/arm with srtp
55 # test applications and libjingle.
59 ['target_arch=="mipsel" or target_arch=="mips64el"', {
64 ['target_arch=="mipsel" or target_arch=="arm" or target_arch=="armv7" or target_arch=="ia32"', {
66 # Define FORCE_64BIT_ALIGN to avoid alignment-related-crashes like
67 # crbug/414919. Without this, aes_cbc_alloc will allocate an
68 # aes_cbc_ctx_t not 64-bit aligned and the v128_t members of
69 # aes_cbc_ctx_t will not be 64-bit aligned, which breaks the
70 # compiler optimizations that assume 64-bit alignment of v128_t.
75 'direct_dependent_settings': {
79 'srtp/crypto/include',
100 'HAVE_BYTESWAP_METHODS_H',
101 # All Windows architectures are this way.
102 'SIZEOF_UNSIGNED_LONG=4',
103 'SIZEOF_UNSIGNED_LONG_LONG=8',
106 ['target_arch=="x64" or target_arch=="ia32"', {
111 ['target_arch=="mipsel" or target_arch=="mips64el"', {
120 ['use_system_libsrtp==0', {
123 'target_name': 'libsrtp',
124 'type': 'static_library',
127 'srtp/include/ekt.h',
128 'srtp/include/getopt_s.h',
129 'srtp/include/rtp.h',
130 'srtp/include/rtp_priv.h',
131 'srtp/include/srtp.h',
132 'srtp/include/srtp_priv.h',
133 'srtp/include/ut_sim.h',
136 'srtp/crypto/include/aes_cbc.h',
137 'srtp/crypto/include/aes.h',
138 'srtp/crypto/include/aes_icm.h',
139 'srtp/crypto/include/alloc.h',
140 'srtp/crypto/include/auth.h',
141 'srtp/crypto/include/cipher.h',
142 'srtp/crypto/include/cryptoalg.h',
143 'srtp/crypto/include/crypto.h',
144 'srtp/crypto/include/crypto_kernel.h',
145 'srtp/crypto/include/crypto_math.h',
146 'srtp/crypto/include/crypto_types.h',
147 'srtp/crypto/include/datatypes.h',
148 'srtp/crypto/include/err.h',
149 'srtp/crypto/include/gf2_8.h',
150 'srtp/crypto/include/hmac.h',
151 'srtp/crypto/include/integers.h',
152 'srtp/crypto/include/kernel_compat.h',
153 'srtp/crypto/include/key.h',
154 'srtp/crypto/include/null_auth.h',
155 'srtp/crypto/include/null_cipher.h',
156 'srtp/crypto/include/prng.h',
157 'srtp/crypto/include/rand_source.h',
158 'srtp/crypto/include/rdb.h',
159 'srtp/crypto/include/rdbx.h',
160 'srtp/crypto/include/sha1.h',
161 'srtp/crypto/include/stat.h',
162 'srtp/crypto/include/xfm.h',
168 'srtp/crypto/cipher/aes.c',
169 'srtp/crypto/cipher/aes_cbc.c',
170 'srtp/crypto/cipher/aes_icm.c',
171 'srtp/crypto/cipher/cipher.c',
172 'srtp/crypto/cipher/null_cipher.c',
173 'srtp/crypto/hash/auth.c',
174 'srtp/crypto/hash/hmac.c',
175 'srtp/crypto/hash/null_auth.c',
176 'srtp/crypto/hash/sha1.c',
177 'srtp/crypto/kernel/alloc.c',
178 'srtp/crypto/kernel/crypto_kernel.c',
179 'srtp/crypto/kernel/err.c',
180 'srtp/crypto/kernel/key.c',
181 'srtp/crypto/math/datatypes.c',
182 'srtp/crypto/math/gf2_8.c',
183 'srtp/crypto/math/stat.c',
184 'srtp/crypto/replay/rdb.c',
185 'srtp/crypto/replay/rdbx.c',
186 'srtp/crypto/replay/ut_sim.c',
187 'srtp/crypto/rng/ctr_prng.c',
188 'srtp/crypto/rng/prng.c',
189 'srtp/crypto/rng/rand_source.c',
193 'target_name': 'rdbx_driver',
194 'type': 'executable',
199 'srtp/include/getopt_s.h',
200 'srtp/test/getopt_s.c',
201 'srtp/test/rdbx_driver.c',
205 'target_name': 'srtp_driver',
206 'type': 'executable',
211 'srtp/include/getopt_s.h',
212 'srtp/include/srtp_priv.h',
213 'srtp/test/getopt_s.c',
214 'srtp/test/srtp_driver.c',
218 'target_name': 'roc_driver',
219 'type': 'executable',
224 'srtp/crypto/include/rdbx.h',
225 'srtp/include/ut_sim.h',
226 'srtp/test/roc_driver.c',
230 'target_name': 'replay_driver',
231 'type': 'executable',
236 'srtp/crypto/include/rdbx.h',
237 'srtp/include/ut_sim.h',
238 'srtp/test/replay_driver.c',
242 'target_name': 'rtpw',
243 'type': 'executable',
248 'srtp/include/getopt_s.h',
249 'srtp/include/rtp.h',
250 'srtp/include/srtp.h',
251 'srtp/crypto/include/datatypes.h',
252 'srtp/test/getopt_s.c',
265 'target_name': 'srtp_test_cipher_driver',
266 'type': 'executable',
271 'srtp/crypto/test/cipher_driver.c',
275 'target_name': 'srtp_test_datatypes_driver',
276 'type': 'executable',
281 'srtp/crypto/test/datatypes_driver.c',
285 'target_name': 'srtp_test_stat_driver',
286 'type': 'executable',
291 'srtp/crypto/test/stat_driver.c',
295 'target_name': 'srtp_test_sha1_driver',
296 'type': 'executable',
301 'srtp/crypto/test/sha1_driver.c',
305 'target_name': 'srtp_test_kernel_driver',
306 'type': 'executable',
311 'srtp/crypto/test/kernel_driver.c',
315 'target_name': 'srtp_test_aes_calc',
316 'type': 'executable',
321 'srtp/crypto/test/aes_calc.c',
325 'target_name': 'srtp_test_rand_gen',
326 'type': 'executable',
331 'srtp/crypto/test/rand_gen.c',
335 'target_name': 'srtp_test_env',
336 'type': 'executable',
341 'srtp/crypto/test/env.c',
345 'target_name': 'srtp_runtest',
353 'srtp_test_cipher_driver',
354 'srtp_test_datatypes_driver',
355 'srtp_test_stat_driver',
356 'srtp_test_sha1_driver',
357 'srtp_test_kernel_driver',
358 'srtp_test_aes_calc',
359 'srtp_test_rand_gen',
364 }, { # use_system_libsrtp==1
367 'target_name': 'libsrtp',
369 'direct_dependent_settings': {
371 'USE_SYSTEM_LIBSRTP',