mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
237 lines
8.3 KiB
Python
237 lines
8.3 KiB
Python
load("@build_bazel_rules_apple//apple:ios.bzl", "ios_unit_test")
|
|
|
|
config_setting(
|
|
name = "debug_build",
|
|
values = {
|
|
"compilation_mode": "dbg",
|
|
},
|
|
)
|
|
|
|
optimization_flags = select({
|
|
":debug_build": [
|
|
],
|
|
"//conditions:default": ["-DNDEBUG"],
|
|
})
|
|
|
|
enable_x264 = False
|
|
|
|
sources = glob([
|
|
"Sources/**/*.m",
|
|
"Sources/**/*.mm",
|
|
"Sources/**/*.h",
|
|
"tgcalls/tgcalls/**/*.h",
|
|
"tgcalls/tgcalls/**/*.hpp",
|
|
"tgcalls/tgcalls/**/*.cpp",
|
|
"tgcalls/tgcalls/**/*.mm",
|
|
"tgcalls/tgcalls/**/*.m",
|
|
], exclude = [
|
|
"tgcalls/tgcalls/legacy/**",
|
|
"tgcalls/tgcalls/platform/tdesktop/**",
|
|
"tgcalls/tgcalls/platform/android/**",
|
|
"tgcalls/tgcalls/platform/windows/**",
|
|
"tgcalls/tgcalls/platform/uwp/**",
|
|
"tgcalls/tgcalls/platform/darwin/SQueue*",
|
|
"tgcalls/tgcalls/platform/darwin/macOS/**",
|
|
"tgcalls/tgcalls/platform/darwin/VideoCameraCapturerMac.*",
|
|
"tgcalls/tgcalls/platform/darwin/VideoMetalViewMac.*",
|
|
"tgcalls/tgcalls/platform/darwin/VideoSampleBufferViewMac.*",
|
|
"tgcalls/tgcalls/platform/darwin/GLVideoView.*",
|
|
"tgcalls/tgcalls/platform/darwin/GLVideoViewMac.*",
|
|
"tgcalls/tgcalls/platform/darwin/ScreenCapturer.*",
|
|
"tgcalls/tgcalls/platform/darwin/DesktopSharingCapturer.*",
|
|
"tgcalls/tgcalls/platform/darwin/DesktopCaptureSourceViewMac.*",
|
|
"tgcalls/tgcalls/platform/darwin/DesktopCaptureSourceView.*",
|
|
"tgcalls/tgcalls/platform/darwin/TGCMIODevice.*",
|
|
"tgcalls/tgcalls/platform/darwin/TGCMIOCapturer.*",
|
|
"tgcalls/tgcalls/platform/darwin/VideoCMIOCapture.*",
|
|
"tgcalls/tgcalls/desktop_capturer/**",
|
|
])
|
|
|
|
sources = glob([
|
|
"Sources/**/*.m",
|
|
"Sources/**/*.mm",
|
|
"Sources/**/*.h",
|
|
"tgcalls/tgcalls/**/*.h",
|
|
"tgcalls/tgcalls/**/*.hpp",
|
|
"tgcalls/tgcalls/platform/darwin/**/*.cpp",
|
|
"tgcalls/tgcalls/platform/darwin/**/*.m",
|
|
"tgcalls/tgcalls/platform/darwin/**/*.mm",
|
|
"tgcalls/tgcalls/platform/darwin/**/*.cc",
|
|
"tgcalls/tgcalls/platform/darwin/**/*.c",
|
|
"tgcalls/tgcalls/third-party/**/*.cpp",
|
|
"tgcalls/tgcalls/utils/**/*.cpp",
|
|
], exclude = [
|
|
"tgcalls/tgcalls/legacy/**",
|
|
"tgcalls/tgcalls/platform/tdesktop/**",
|
|
"tgcalls/tgcalls/platform/android/**",
|
|
"tgcalls/tgcalls/platform/windows/**",
|
|
"tgcalls/tgcalls/platform/uwp/**",
|
|
"tgcalls/tgcalls/platform/darwin/SQueue*",
|
|
"tgcalls/tgcalls/platform/darwin/macOS/**",
|
|
"tgcalls/tgcalls/platform/darwin/VideoCameraCapturerMac.*",
|
|
"tgcalls/tgcalls/platform/darwin/VideoMetalViewMac.*",
|
|
"tgcalls/tgcalls/platform/darwin/VideoSampleBufferViewMac.*",
|
|
"tgcalls/tgcalls/platform/darwin/GLVideoView.*",
|
|
"tgcalls/tgcalls/platform/darwin/GLVideoViewMac.*",
|
|
"tgcalls/tgcalls/platform/darwin/ScreenCapturer.*",
|
|
"tgcalls/tgcalls/platform/darwin/DesktopSharingCapturer.*",
|
|
"tgcalls/tgcalls/platform/darwin/DesktopCaptureSourceViewMac.*",
|
|
"tgcalls/tgcalls/platform/darwin/DesktopCaptureSourceView.*",
|
|
"tgcalls/tgcalls/platform/darwin/TGCMIODevice.*",
|
|
"tgcalls/tgcalls/platform/darwin/TGCMIOCapturer.*",
|
|
"tgcalls/tgcalls/platform/darwin/VideoCMIOCapture.*",
|
|
"tgcalls/tgcalls/desktop_capturer/**",
|
|
]) + [
|
|
"tgcalls/tgcalls/Manager.cpp",
|
|
"tgcalls/tgcalls/MediaManager.cpp",
|
|
"tgcalls/tgcalls/AudioDeviceHelper.cpp",
|
|
"tgcalls/tgcalls/ChannelManager.cpp",
|
|
"tgcalls/tgcalls/CodecSelectHelper.cpp",
|
|
"tgcalls/tgcalls/CryptoHelper.cpp",
|
|
"tgcalls/tgcalls/EncryptedConnection.cpp",
|
|
"tgcalls/tgcalls/FakeAudioDeviceModule.cpp",
|
|
"tgcalls/tgcalls/FakeVideoTrackSource.cpp",
|
|
"tgcalls/tgcalls/FieldTrialsConfig.cpp",
|
|
"tgcalls/tgcalls/Instance.cpp",
|
|
"tgcalls/tgcalls/InstanceImpl.cpp",
|
|
"tgcalls/tgcalls/LogSinkImpl.cpp",
|
|
"tgcalls/tgcalls/Message.cpp",
|
|
"tgcalls/tgcalls/NetworkManager.cpp",
|
|
"tgcalls/tgcalls/SctpDataChannelProviderInterfaceImpl.cpp",
|
|
"tgcalls/tgcalls/StaticThreads.cpp",
|
|
"tgcalls/tgcalls/ThreadLocalObject.cpp",
|
|
"tgcalls/tgcalls/TurnCustomizerImpl.cpp",
|
|
"tgcalls/tgcalls/VideoCaptureInterface.cpp",
|
|
"tgcalls/tgcalls/VideoCaptureInterfaceImpl.cpp",
|
|
|
|
"tgcalls/tgcalls/group/AudioStreamingPart.cpp",
|
|
"tgcalls/tgcalls/group/AudioStreamingPartInternal.cpp",
|
|
"tgcalls/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp",
|
|
"tgcalls/tgcalls/group/AVIOContextImpl.cpp",
|
|
"tgcalls/tgcalls/group/GroupInstanceCustomImpl.cpp",
|
|
"tgcalls/tgcalls/group/GroupJoinPayloadInternal.cpp",
|
|
"tgcalls/tgcalls/group/GroupNetworkManager.cpp",
|
|
"tgcalls/tgcalls/group/StreamingMediaContext.cpp",
|
|
"tgcalls/tgcalls/group/VideoStreamingPart.cpp",
|
|
|
|
"tgcalls/tgcalls/v2/ContentNegotiation.cpp",
|
|
"tgcalls/tgcalls/v2/DirectNetworkingImpl.cpp",
|
|
"tgcalls/tgcalls/v2/ExternalSignalingConnection.cpp",
|
|
"tgcalls/tgcalls/v2/InstanceV2Impl.cpp",
|
|
"tgcalls/tgcalls/v2/InstanceV2ReferenceImpl.cpp",
|
|
"tgcalls/tgcalls/v2/NativeNetworkingImpl.cpp",
|
|
"tgcalls/tgcalls/v2/RawTcpSocket.cpp",
|
|
"tgcalls/tgcalls/v2/ReflectorPort.cpp",
|
|
"tgcalls/tgcalls/v2/ReflectorRelayPortFactory.cpp",
|
|
"tgcalls/tgcalls/v2/Signaling.cpp",
|
|
"tgcalls/tgcalls/v2/SignalingConnection.cpp",
|
|
"tgcalls/tgcalls/v2/SignalingEncryption.cpp",
|
|
"tgcalls/tgcalls/v2/SignalingSctpConnection.cpp",
|
|
"tgcalls/tgcalls/v2/SignalingKcpConnection.cpp",
|
|
"tgcalls/tgcalls/v2/ikcp.cpp",
|
|
]
|
|
|
|
objc_library(
|
|
name = "TgVoipWebrtc",
|
|
enable_modules = True,
|
|
module_name = "TgVoipWebrtc",
|
|
srcs = sources,
|
|
hdrs = glob([
|
|
"PublicHeaders/**/*.h",
|
|
]),
|
|
copts = [
|
|
"-I{}/tgcalls/tgcalls".format(package_name()),
|
|
"-Ithird-party/webrtc/webrtc",
|
|
"-Ithird-party/webrtc/dependencies",
|
|
"-Ithird-party/webrtc/dependencies/third_party/abseil-cpp",
|
|
"-Ithird-party/webrtc/webrtc/sdk/objc",
|
|
"-Ithird-party/webrtc/webrtc/sdk/objc/base",
|
|
"-Ithird-party/webrtc/webrtc/sdk/objc/components/renderer/metal",
|
|
"-Ithird-party/webrtc/webrtc/sdk/objc/components/renderer/opengl",
|
|
"-Ithird-party/webrtc/webrtc/sdk/objc/components/video_codec",
|
|
"-Ithird-party/libyuv/third_party/libyuv/include",
|
|
"-Ithird-party/libyuv",
|
|
"-Ithird-party/webrtc/webrtc/sdk/objc/api/video_codec",
|
|
"-DWEBRTC_IOS",
|
|
"-DWEBRTC_MAC",
|
|
"-DWEBRTC_POSIX",
|
|
"-DRTC_ENABLE_VP9",
|
|
"-DTGVOIP_NAMESPACE=tgvoip_webrtc",
|
|
"-std=c++17",
|
|
] + optimization_flags + (["-DTGCALLS_ENABLE_X264"] if enable_x264 else []),
|
|
includes = [
|
|
"PublicHeaders",
|
|
],
|
|
deps = [
|
|
"//third-party/webrtc:webrtc_lib",
|
|
"//submodules/MtProtoKit:MtProtoKit",
|
|
"//third-party/boringssl:crypto",
|
|
"//third-party/boringssl:ssl",
|
|
"//third-party/ogg:ogg",
|
|
"//third-party/opusfile:opusfile",
|
|
"//submodules/ffmpeg:ffmpeg",
|
|
"//third-party/rnnoise:rnnoise",
|
|
"//third-party/libyuv:libyuv",
|
|
"//third-party/td:TdBinding",
|
|
] + (["//third-party/libx264:libx264"] if enable_x264 else []),
|
|
sdk_frameworks = [
|
|
"Foundation",
|
|
"UIKit",
|
|
"AudioToolbox",
|
|
"VideoToolbox",
|
|
"CoreTelephony",
|
|
"CoreMedia",
|
|
"GLKit",
|
|
"AVFoundation",
|
|
],
|
|
sdk_dylibs = [
|
|
"libz",
|
|
],
|
|
visibility = [
|
|
"//visibility:public",
|
|
],
|
|
)
|
|
|
|
objc_library(
|
|
name = "TgCallsTestsLib",
|
|
copts = [
|
|
"-I{}/tgcalls/tgcalls".format(package_name()),
|
|
"-Ithird-party/webrtc/webrtc",
|
|
"-Ithird-party/webrtc/dependencies",
|
|
"-Ithird-party/webrtc/dependencies/third_party/abseil-cpp",
|
|
"-Ithird-party/webrtc/webrtc/sdk/objc",
|
|
"-Ithird-party/webrtc/webrtc/sdk/objc/base",
|
|
"-Ithird-party/webrtc/webrtc/sdk/objc/components/renderer/metal",
|
|
"-Ithird-party/webrtc/webrtc/sdk/objc/components/renderer/opengl",
|
|
"-Ithird-party/webrtc/webrtc/sdk/objc/components/video_codec",
|
|
"-Ithird-party/libyuv/third_party/libyuv/include",
|
|
"-Ithird-party/libyuv",
|
|
"-Ithird-party/webrtc/webrtc/sdk/objc/api/video_codec",
|
|
"-DWEBRTC_IOS",
|
|
"-DWEBRTC_MAC",
|
|
"-DWEBRTC_POSIX",
|
|
"-DRTC_ENABLE_VP9",
|
|
"-DRTC_ENABLE_H265",
|
|
"-DTGVOIP_NAMESPACE=tgvoip_webrtc",
|
|
"-std=c++17",
|
|
],
|
|
srcs = glob([
|
|
"tests/*.m",
|
|
"tests/*.mm",
|
|
]),
|
|
deps = [
|
|
":TgVoipWebrtc"
|
|
],
|
|
)
|
|
|
|
ios_unit_test(
|
|
name = "TgCallsTests",
|
|
minimum_os_version = "9.0",
|
|
deps = [
|
|
":TgCallsTestsLib",
|
|
],
|
|
visibility = [
|
|
"//visibility:public",
|
|
],
|
|
)
|