mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
245 lines
5.6 KiB
Plaintext
245 lines
5.6 KiB
Plaintext
# Copyright 2014 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import("//testing/test.gni")
|
|
|
|
declare_args() {
|
|
# Tests may not be appropriate for some build environments, e.g. Windows.
|
|
# Rather than enumerate valid options, we just let clients ask for them.
|
|
build_libsrtp_tests = false
|
|
}
|
|
|
|
config("libsrtp_config") {
|
|
defines = [
|
|
# Package identity
|
|
"PACKAGE_STRING=\"libsrtp2 2.1.0-pre\"",
|
|
"PACKAGE_VERSION=\"2.1.0-pre\"",
|
|
|
|
# Config
|
|
"HAVE_CONFIG_H",
|
|
"OPENSSL",
|
|
|
|
# Platform properties
|
|
"HAVE_STDLIB_H",
|
|
"HAVE_STRING_H",
|
|
"HAVE_STDINT_H",
|
|
"HAVE_INTTYPES_H",
|
|
"HAVE_INT16_T",
|
|
"HAVE_INT32_T",
|
|
"HAVE_INT8_T",
|
|
"HAVE_UINT16_T",
|
|
"HAVE_UINT32_T",
|
|
"HAVE_UINT64_T",
|
|
"HAVE_UINT8_T",
|
|
]
|
|
if (is_posix) {
|
|
defines += [
|
|
"HAVE_ARPA_INET_H",
|
|
"HAVE_NETINET_IN_H",
|
|
"HAVE_SYS_TYPES_H",
|
|
"HAVE_UNISTD_H",
|
|
]
|
|
}
|
|
if (is_win) {
|
|
defines += [ "HAVE_WINSOCK2_H" ]
|
|
}
|
|
|
|
# Supports clients depending on SRTP_RELATIVE_PATH.
|
|
# TODO(mattdr): Remove SRTP_RELATIVE_PATH and this config.
|
|
include_dirs = [
|
|
".",
|
|
"config",
|
|
"include",
|
|
"crypto/include",
|
|
]
|
|
}
|
|
|
|
config("libsrtp_warnings") {
|
|
cflags = []
|
|
if (is_win) {
|
|
cflags += [ "/wd4018" ] # Signed/unsigned mismatch in comparison
|
|
}
|
|
}
|
|
|
|
static_library("libsrtp") {
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
|
configs += [ ":libsrtp_warnings" ]
|
|
public_configs = [ ":libsrtp_config" ]
|
|
sources = [
|
|
# includes
|
|
"include/ekt.h",
|
|
"include/srtp.h",
|
|
|
|
# headers
|
|
"crypto/include/aes.h",
|
|
"crypto/include/aes_gcm_ossl.h",
|
|
"crypto/include/aes_icm.h",
|
|
"crypto/include/aes_icm_ossl.h",
|
|
"crypto/include/alloc.h",
|
|
"crypto/include/auth.h",
|
|
"crypto/include/cipher.h",
|
|
"crypto/include/crypto_kernel.h",
|
|
"crypto/include/crypto_types.h",
|
|
"crypto/include/datatypes.h",
|
|
"crypto/include/err.h",
|
|
"crypto/include/integers.h",
|
|
"crypto/include/key.h",
|
|
"crypto/include/null_auth.h",
|
|
"crypto/include/null_cipher.h",
|
|
"crypto/include/rdb.h",
|
|
"crypto/include/rdbx.h",
|
|
"crypto/include/stat.h",
|
|
"include/srtp_priv.h",
|
|
"include/ut_sim.h",
|
|
|
|
# sources
|
|
"crypto/cipher/aes_gcm_ossl.c",
|
|
"crypto/cipher/aes_icm_ossl.c",
|
|
"crypto/cipher/cipher.c",
|
|
"crypto/cipher/null_cipher.c",
|
|
"crypto/hash/auth.c",
|
|
"crypto/hash/hmac_ossl.c",
|
|
"crypto/hash/null_auth.c",
|
|
"crypto/kernel/alloc.c",
|
|
"crypto/kernel/crypto_kernel.c",
|
|
"crypto/kernel/err.c",
|
|
"crypto/kernel/key.c",
|
|
"crypto/math/datatypes.c",
|
|
"crypto/math/stat.c",
|
|
"crypto/replay/rdb.c",
|
|
"crypto/replay/rdbx.c",
|
|
"srtp/ekt.c",
|
|
"srtp/srtp.c",
|
|
]
|
|
public_deps = [
|
|
"//third_party/boringssl:boringssl",
|
|
]
|
|
}
|
|
|
|
if (build_libsrtp_tests) {
|
|
config("srtp_test_config") {
|
|
include_dirs = [ "test" ]
|
|
configs = [ ":libsrtp_warnings" ]
|
|
}
|
|
|
|
template("srtp_test") {
|
|
test("${target_name}") {
|
|
output_name = invoker.target_name
|
|
output_dir = "${root_out_dir}/srtp_tests"
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
|
configs += [ ":srtp_test_config" ]
|
|
deps = [
|
|
":libsrtp",
|
|
]
|
|
sources = [
|
|
"crypto/replay/ut_sim.c",
|
|
"include/getopt_s.h",
|
|
"include/ut_sim.h",
|
|
"test/getopt_s.c",
|
|
"test/util.c",
|
|
"test/util.h",
|
|
] + invoker.sources
|
|
testonly = true
|
|
}
|
|
}
|
|
|
|
srtp_test("dtls_srtp_driver") {
|
|
sources = [ "test/dtls_srtp_driver.c" ]
|
|
}
|
|
srtp_test("rdbx_driver") {
|
|
sources = [ "test/rdbx_driver.c" ]
|
|
}
|
|
srtp_test("replay_driver") {
|
|
sources = [ "test/replay_driver.c" ]
|
|
}
|
|
srtp_test("roc_driver") {
|
|
sources = [ "test/roc_driver.c" ]
|
|
}
|
|
srtp_test("srtp_driver") {
|
|
sources = [ "test/srtp_driver.c" ]
|
|
}
|
|
srtp_test("test_srtp") {
|
|
sources = [
|
|
"test/cutest.h",
|
|
"test/test_srtp.c",
|
|
]
|
|
}
|
|
srtp_test("cipher_driver") {
|
|
sources = [ "crypto/test/cipher_driver.c" ]
|
|
}
|
|
srtp_test("datatypes_driver") {
|
|
sources = [ "crypto/test/datatypes_driver.c" ]
|
|
}
|
|
srtp_test("kernel_driver") {
|
|
sources = [ "crypto/test/kernel_driver.c" ]
|
|
}
|
|
|
|
executable("rtpw") {
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
|
configs += [ ":srtp_test_config" ]
|
|
output_dir = "${root_out_dir}/srtp_tests"
|
|
deps = [
|
|
":libsrtp",
|
|
]
|
|
sources = [
|
|
"include/getopt_s.h",
|
|
"test/getopt_s.c",
|
|
"test/rtp.c",
|
|
"test/rtp.h",
|
|
"test/rtpw.c",
|
|
"test/util.c",
|
|
"test/util.h",
|
|
|
|
# The original Makefile includes this file, but all the functions rtpw
|
|
# uses have been moved to util.c.
|
|
"crypto/math/datatypes.c",
|
|
]
|
|
defines = [ "HAVE_SYS_SOCKET_H" ]
|
|
testonly = true
|
|
}
|
|
|
|
copy("test_scripts") {
|
|
sources = [
|
|
"run_all_tests.sh",
|
|
"test/rtpw_test.sh",
|
|
"test/rtpw_test_gcm.sh",
|
|
]
|
|
outputs = [
|
|
"${root_out_dir}/srtp_tests/{{source_file_part}}",
|
|
]
|
|
testonly = true
|
|
}
|
|
|
|
copy("test_data") {
|
|
sources = [
|
|
"test/words.txt",
|
|
]
|
|
outputs = [
|
|
"${root_out_dir}/srtp_tests/{{source_file_part}}",
|
|
]
|
|
testonly = true
|
|
}
|
|
|
|
group("srtp_tests") {
|
|
deps = [
|
|
":cipher_driver",
|
|
":datatypes_driver",
|
|
":dtls_srtp_driver",
|
|
":kernel_driver",
|
|
":rdbx_driver",
|
|
":replay_driver",
|
|
":roc_driver",
|
|
":rtpw",
|
|
":srtp_driver",
|
|
":test_srtp",
|
|
":test_scripts",
|
|
":test_data",
|
|
]
|
|
testonly = true
|
|
}
|
|
}
|