objc_library( name = "TgVoipWebrtc", enable_modules = True, module_name = "TgVoipWebrtc", srcs = 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/macOS/**", "tgcalls/tgcalls/platform/darwin/VideoCameraCapturerMac.*", "tgcalls/tgcalls/platform/darwin/VideoMetalViewMac.*", "tgcalls/tgcalls/platform/darwin/VideoSampleBufferViewMac.*", "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/**", ]), 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++14", ], 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", ], sdk_frameworks = [ "Foundation", "UIKit", "AudioToolbox", "VideoToolbox", "CoreTelephony", "CoreMedia", "AVFoundation", ], visibility = [ "//visibility:public", ], )