2025-06-04 16:42:53 +08:00

131 lines
3.6 KiB
Python

common_flags = [
"-DWEBRTC_IOS",
"-DWEBRTC_MAC",
"-DWEBRTC_POSIX",
"-DHAVE_WEBRTC_VIDEO",
"-DRTC_ENABLE_VP9",
"-DRTC_ENABLE_H265",
"-DWEBRTC_USE_H264",
"-DHAVE_SCTP",
"-DWEBRTC_HAVE_DCSCTP",
"-DWEBRTC_HAVE_SCTP",
"-DWEBRTC_NS_FLOAT",
"-DRTC_DISABLE_TRACE_EVENTS",
#"-DWEBRTC_OPUS_SUPPORT_120MS_PTIME=1",
"-DWEBRTC_APM_DEBUG_DUMP=0",
"-DBWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0",
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
#"-DNS_BLOCK_ASSERTIONS=1",
"-DWEBRTC_ENABLE_PROTOBUF=0",
"-DWEBRTC_ENABLE_AVX2",
"-DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0",
"-Wno-shorten-64-to-32",
"-Wno-macro-redefined",
"-D__APPLE__",
"-DWEBRTC_OPUS_USE_CODEC_PLC",
"-DWEBRTC_OPUS_SUPPORT_DRED",
]
arm64_specific_flags = [
"-DWEBRTC_ARCH_ARM64",
"-DWEBRTC_HAS_NEON",
"-DLIBYUV_NEON",
]
arch_specific_cflags = select({
"@build_bazel_rules_apple//apple:ios_arm64": common_flags + arm64_specific_flags,
"//build-system:ios_sim_arm64": common_flags + arm64_specific_flags,
})
optimization_flags = select({
"//third-party/webrtc:debug_build": [
],
"//conditions:default": ["-DNDEBUG"],
})
cc_library(
name = "libsrtp",
srcs = [ "third_party/libsrtp/" + path for path in [
# 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/cipher_types.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",
]],
copts = [
"-Ithird-party/webrtc/libsrtp/third_party/libsrtp/crypto/include",
"-Ithird-party/webrtc/libsrtp/third_party/libsrtp/include",
"-DOPENSSL",
"-DHAVE_STDLIB_H",
"-DHAVE_STRING_H",
"-DHAVE_STDINT_H",
"-DHAVE_INTTYPES_H",
"-DHAVE_INT16_T",
"-DHAVE_INT32_T",
"-DHAVE_INT8_T",
"-DHAVE_UINT16_T",
"-DHAVE_UINT32_T",
"-DHAVE_UINT64_T",
"-DHAVE_UINT8_T",
"-DHAVE_ARPA_INET_H",
"-DHAVE_NETINET_IN_H",
"-DHAVE_SYS_TYPES_H",
"-DHAVE_UNISTD_H",
"-DPACKAGE_STRING='\"\"'",
"-DHAVE_SCTP",
"-DWEBRTC_HAVE_DCSCTP",
"-DWEBRTC_HAVE_SCTP",
] + arch_specific_cflags + optimization_flags,
deps = [
"//third-party/boringssl:crypto",
"//third-party/boringssl:ssl",
"//third-party/webrtc/libsrtp_config",
],
includes = [
".",
],
visibility = ["//visibility:public"],
)