diff --git a/.bazelrc b/.bazelrc
index c633d4d777..fd50d869e5 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -1,16 +1,17 @@
-build --experimental_guard_against_concurrent_changes
build --action_env=ZERO_AR_DATE=1
-build --strategy=Genrule=local
build --apple_platform_type=ios
+
build --cxxopt='-std=c++14'
build --per_file_copt="third-party/webrtc/.*\.cpp$","@-std=c++14"
build --per_file_copt="third-party/webrtc/.*\.cc$","@-std=c++14"
build --per_file_copt="third-party/webrtc/.*\.mm$","@-std=c++14"
-build --spawn_strategy=local
-build --strategy=SwiftCompile=local
+
build --features=debug_prefix_map_pwd_is_dot
build --features=swift.cacheable_swiftmodules
build --features=swift.debug_prefix_map
build --features=swift.enable_vfsoverlays
+build --strategy=Genrule=standalone
+build --spawn_strategy=standalone
+build --strategy=SwiftCompile=standalone
\ No newline at end of file
diff --git a/.buckconfig b/.buckconfig
deleted file mode 100644
index bfe54b4d99..0000000000
--- a/.buckconfig
+++ /dev/null
@@ -1,35 +0,0 @@
-[cxx]
- default_platform = iphonesimulator-x86_64
- cflags = -g -fmodules -fobjc-arc -D BUCK -DTARGET_OS_IOS=1 -g -w $(config custom.other_cflags)
- cxxflags = -fobjc-arc -std=c++14 -D BUCK -DTARGET_OS_IOS=1 -g $(config custom.other_cxxflags)
- combined_preprocess_and_compile = true
- pch_enabled = false
- ldflags = -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime $(config custom.other_cxxflags)
-
-[swift]
- version = 5
- compiler_flags = -g -DBUCK $(config custom.optimization) $(config custom.config_swift_compiler_flags) $(config custom.other_swift_compiler_flags)
- use_filelist = true
-
-[apple]
- use_swift_delegate = false
- use_header_maps_in_xcode = false
- generate_missing_umbrella_headers = true
- iphonesimulator_target_sdk_version = 9.0
- iphoneos_target_sdk_version = 9.0
- watchos_target_sdk_version = 5.0
- provisioning_profile_read_command = security cms -Di
- xctool_default_destination_specifier = platform=iOS Simulator,OS=latest
- xctool_path = tools/xctool/bin/xctool
-
-[parser]
- polyglot_parsing_enabled = true
- default_build_file_syntax = SKYLARK
-
-[project]
- ide_force_kill = always
- project_schemes = true
- ide = xcode
- allow_symlinks = forbid
- ignore = tools, \
- .git, \
diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index d13919d398..0000000000
--- a/.gitattributes
+++ /dev/null
@@ -1,14 +0,0 @@
-# Linguist overrides for vendored code
-submodules/AsyncDisplayKit/* linguist-vendored
-submodules/ffmpeg/* linguist-vendored
-submodules/HockeySDK-iOS/* linguist-vendored
-submodules/libphonenumber/* linguist-vendored
-submodules/libtgvoip/* linguist-vendored
-submodules/lottie-ios/* linguist-vendored
-submodules/Opus/* linguist-vendored
-submodules/OpusBinding/* linguist-vendored
-submodules/rlottie/rlottie/* linguist-vendored
-submodules/sqlcipher/* linguist-vendored
-submodules/Stripe/* linguist-vendored
-submodules/ton/tonlib-src/* linguist-vendored
-submodules/webp/include/* linguist-vendored
\ No newline at end of file
diff --git a/Changelog-beta.txt b/Changelog-beta.txt
deleted file mode 100644
index 9c1dcd5822..0000000000
--- a/Changelog-beta.txt
+++ /dev/null
@@ -1 +0,0 @@
-General fixes and stability improvements
diff --git a/Config/BUILD b/Config/BUILD
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/Config/app_configuration.bzl b/Config/app_configuration.bzl
deleted file mode 100644
index da3e824e1e..0000000000
--- a/Config/app_configuration.bzl
+++ /dev/null
@@ -1,20 +0,0 @@
-
-def appConfig():
- apiId = native.read_config("custom", "apiId")
- apiHash = native.read_config("custom", "apiHash")
- appCenterId = native.read_config("custom", "appCenterId")
- isInternalBuild = native.read_config("custom", "isInternalBuild")
- isAppStoreBuild = native.read_config("custom", "isAppStoreBuild")
- appStoreId = native.read_config("custom", "appStoreId")
- appSpecificUrlScheme = native.read_config("custom", "appSpecificUrlScheme")
- buildNumber = native.read_config("custom", "buildNumber")
- return {
- "apiId": apiId,
- "apiHash": apiHash,
- "appCenterId": appCenterId,
- "isInternalBuild": isInternalBuild,
- "isAppStoreBuild": isAppStoreBuild,
- "appStoreId": appStoreId,
- "appSpecificUrlScheme": appSpecificUrlScheme,
- "buildNumber": buildNumber,
- }
diff --git a/Config/configs.bzl b/Config/configs.bzl
deleted file mode 100644
index a63b2f602b..0000000000
--- a/Config/configs.bzl
+++ /dev/null
@@ -1,318 +0,0 @@
-load("//Config:utils.bzl",
- "config_with_updated_linker_flags",
- "configs_with_config",
- "merge_dict",
- "DEVELOPMENT_LANGUAGE",
- "SHARED_CONFIGS",
- "ALL_LOAD_LINKER_FLAG",
- "read_config_nonempty",
- "optimization_config",
- "add_provisioning_profile_specifier",
- "add_codesign_identity",
- "get_build_number",
- "get_short_version",
- "bundle_identifier",
- "get_development_team",
- "get_provisioning_profile",
- "get_codesign_entitlements",
-)
-
-load("//Config:app_configuration.bzl",
- "appConfig",
-)
-
-def app_binary_configs():
- config = {
- "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "YES",
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=""),
- "CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("app"),
- "DEVELOPMENT_TEAM": get_development_team(),
- "ASSETCATALOG_COMPILER_APPICON_NAME": "AppIcon",
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "APP_NAME": "Telegram",
- "PRODUCT_NAME": "Telegram",
- "TARGETED_DEVICE_FAMILY": "1,2",
- }
- config = merge_dict(SHARED_CONFIGS, config)
- config = merge_dict(config, optimization_config())
- config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
- configs = configs_with_config(config)
- configs = add_provisioning_profile_specifier(configs, "app")
- configs = add_codesign_identity(configs)
- return configs
-
-def share_extension_configs():
- config = {
- "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "NO",
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".Share"),
- "CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("share"),
- "DEVELOPMENT_TEAM": get_development_team(),
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "APP_NAME": "Telegram",
- "PRODUCT_NAME": "ShareExtension",
- }
- config = merge_dict(SHARED_CONFIGS, config)
- config = merge_dict(config, optimization_config())
- config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
- configs = configs_with_config(config)
- configs = add_provisioning_profile_specifier(configs, "share")
- configs = add_codesign_identity(configs)
- return configs
-
-def widget_extension_configs():
- config = {
- "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "NO",
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".Widget"),
- "CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("widget"),
- "DEVELOPMENT_TEAM": get_development_team(),
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "APP_NAME": "Telegram",
- "PRODUCT_NAME": "WidgetExtension",
- }
- config = merge_dict(SHARED_CONFIGS, config)
- config = merge_dict(config, optimization_config())
- config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
- configs = configs_with_config(config)
- configs = add_provisioning_profile_specifier(configs, "widget")
- configs = add_codesign_identity(configs)
- return configs
-
-def notification_content_extension_configs():
- config = {
- "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "NO",
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".NotificationContent"),
- "CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("notification_content"),
- "DEVELOPMENT_TEAM": get_development_team(),
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "APP_NAME": "Telegram",
- "PRODUCT_NAME": "NotificationContentExtension",
- }
- config = merge_dict(SHARED_CONFIGS, config)
- config = merge_dict(config, optimization_config())
- config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
- configs = configs_with_config(config)
- configs = add_provisioning_profile_specifier(configs, "notification_content")
- configs = add_codesign_identity(configs)
- return configs
-
-def notification_service_extension_configs():
- config = {
- "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "NO",
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".NotificationService"),
- "CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("notification_service"),
- "DEVELOPMENT_TEAM": get_development_team(),
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "APP_NAME": "Telegram",
- "PRODUCT_NAME": "NotificationServiceExtension",
- }
- config = merge_dict(SHARED_CONFIGS, config)
- config = merge_dict(config, optimization_config())
- config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
- configs = configs_with_config(config)
- configs = add_provisioning_profile_specifier(configs, "notification_service")
- configs = add_codesign_identity(configs)
- return configs
-
-def intents_extension_configs():
- config = {
- "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "NO",
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".SiriIntents"),
- "CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("intents"),
- "DEVELOPMENT_TEAM": get_development_team(),
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "APP_NAME": "Telegram",
- "PRODUCT_NAME": "IntentsExtension",
- }
- config = merge_dict(SHARED_CONFIGS, config)
- config = merge_dict(config, optimization_config())
- config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
- configs = configs_with_config(config)
- configs = add_provisioning_profile_specifier(configs, "intents")
- configs = add_codesign_identity(configs)
- return configs
-
-def watch_extension_binary_configs():
- config = {
- "SDKROOT": "watchos",
- "WATCHOS_DEPLOYMENT_TARGET": "5.0",
- "TARGETED_DEVICE_FAMILY": "4",
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".watchkitapp.watchkitextension"),
- "DEVELOPMENT_TEAM": get_development_team(),
- "LD_RUNPATH_SEARCH_PATHS": "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks",
- "WK_COMPANION_APP_BUNDLE_IDENTIFIER": bundle_identifier(suffix=""),
- "WK_APP_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".watchkitapp"),
- "APP_NAME": "Telegram",
- "APP_BUNDLE_ID": bundle_identifier(suffix=""),
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "ENABLE_BITCODE": "YES",
- }
- config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
- configs = configs_with_config(config)
- configs = add_provisioning_profile_specifier(configs, "watch_extension")
- configs = add_codesign_identity(configs)
- return configs
-
-def watch_binary_configs():
- config = {
- "SDKROOT": "watchos",
- "WATCHOS_DEPLOYMENT_TARGET": "5.0",
- "TARGETED_DEVICE_FAMILY": "4",
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".watchkitapp"),
- "DEVELOPMENT_TEAM": get_development_team(),
- "LD_RUNPATH_SEARCH_PATHS": "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks",
- "WK_COMPANION_APP_BUNDLE_IDENTIFIER": bundle_identifier(suffix=""),
- "WK_APP_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".watchkitapp"),
- "APP_NAME": "Telegram",
- "APP_BUNDLE_ID": bundle_identifier(suffix=""),
- "ASSETCATALOG_COMPILER_APPICON_NAME": "AppIcon",
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "ENABLE_BITCODE": "YES",
- }
- config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
- configs = configs_with_config(config)
- configs = add_provisioning_profile_specifier(configs, "watch_app")
- configs = add_codesign_identity(configs)
- return configs
-
-def info_plist_substitutions(name):
- substitutions = {
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "EXECUTABLE_NAME": name,
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(name),
- "PRODUCT_NAME": name,
- "CURRENT_PROJECT_VERSION": "1",
- }
- return substitutions
-
-def app_info_plist_substitutions():
- substitutions = {
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "EXECUTABLE_NAME": "Telegram",
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=""),
- "PRODUCT_NAME": "Telegram",
- "APP_NAME": "Telegram",
- "CURRENT_PROJECT_VERSION": "1",
- "APP_SPECIFIC_URL_SCHEME": appConfig()["appSpecificUrlScheme"],
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "ASSETCATALOG_COMPILER_APPICON_NAME": "AppIcon",
- "TARGETED_DEVICE_FAMILY": "1,2",
- }
- return substitutions
-
-def share_extension_info_plist_substitutions():
- substitutions = {
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "EXECUTABLE_NAME": "ShareExtension",
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".Share"),
- "PRODUCT_NAME": "Share",
- "APP_NAME": "Telegram",
- "CURRENT_PROJECT_VERSION": "1",
- "APP_SPECIFIC_URL_SCHEME": appConfig()["appSpecificUrlScheme"],
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- }
- return substitutions
-
-def widget_extension_info_plist_substitutions():
- substitutions = {
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "EXECUTABLE_NAME": "WidgetExtension",
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".Widget"),
- "PRODUCT_NAME": "Widget",
- "APP_NAME": "Telegram",
- "CURRENT_PROJECT_VERSION": "1",
- "APP_SPECIFIC_URL_SCHEME": appConfig()["appSpecificUrlScheme"],
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "MinimumOSVersion": "9.0",
- }
- return substitutions
-
-def notification_content_extension_info_plist_substitutions():
- substitutions = {
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "EXECUTABLE_NAME": "NotificationContentExtension",
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".NotificationContent"),
- "PRODUCT_NAME": "Telegram",
- "APP_NAME": "Telegram",
- "CURRENT_PROJECT_VERSION": "1",
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "MinimumOSVersion": "10.0",
- }
- return substitutions
-
-def notification_service_extension_info_plist_substitutions():
- substitutions = {
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "EXECUTABLE_NAME": "NotificationServiceExtension",
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".NotificationService"),
- "PRODUCT_NAME": "Telegram",
- "APP_NAME": "Telegram",
- "CURRENT_PROJECT_VERSION": "1",
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "MinimumOSVersion": "10.0",
- }
- return substitutions
-
-def intents_extension_info_plist_substitutions():
- substitutions = {
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "EXECUTABLE_NAME": "IntentsExtension",
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".SiriIntents"),
- "PRODUCT_NAME": "Telegram",
- "APP_NAME": "Telegram",
- "CURRENT_PROJECT_VERSION": "1",
- "APP_SPECIFIC_URL_SCHEME": appConfig()["appSpecificUrlScheme"],
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "PRODUCT_MODULE_NAME": "SiriIntents",
- "MinimumOSVersion": "10.0",
- }
- return substitutions
-
-def watch_extension_info_plist_substitutions():
- substitutions = {
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "EXECUTABLE_NAME": "WatchAppExtension",
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=".watchkitapp.watchkitextension"),
- "APP_NAME": "Telegram",
- "APP_BUNDLE_ID": bundle_identifier(suffix=""),
- "PRODUCT_NAME": "Telegram",
- "CURRENT_PROJECT_VERSION": "1",
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "MinimumOSVersion": "5.0",
- }
- return substitutions
-
-def watch_info_plist_substitutions():
- substitutions = {
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "EXECUTABLE_NAME": "WatchApp",
- "PRODUCT_BUNDLE_IDENTIFIER":bundle_identifier(suffix=".watchkitapp"),
- "APP_NAME": "Telegram",
- "APP_BUNDLE_ID": bundle_identifier(suffix=""),
- "PRODUCT_NAME": "Telegram",
- "CURRENT_PROJECT_VERSION": "1",
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "MinimumOSVersion": "5.0",
- }
- return substitutions
diff --git a/Config/objc_module_provider.bzl b/Config/objc_module_provider.bzl
deleted file mode 100644
index a09f214a85..0000000000
--- a/Config/objc_module_provider.bzl
+++ /dev/null
@@ -1,31 +0,0 @@
-
-def _impl(ctx):
- output_dir = ctx.attr.name + "_ModuleHeaders"
- dir = ctx.actions.declare_directory(output_dir)
- files = []
- files_command = ""
- for file in ctx.files.headers:
- outFile = ctx.actions.declare_file(output_dir + "/" + ctx.attr.module_name + "/" + file.basename)
- files.append(outFile)
- files_command = files_command + " && cp " + file.path + " " + outFile.path
- ctx.actions.run_shell(
- outputs = [dir] + files,
- inputs = ctx.files.headers,
- command = "mkdir -p " + dir.path + " " + files_command
- )
- return [
- apple_common.new_objc_provider(
- include_system = depset([dir.path]),
- header = depset(files),
- ),
- ]
-
-objc_module = rule(
- implementation = _impl,
- attrs = {
- "module_name": attr.string(mandatory = True),
- "headers": attr.label_list(
- allow_files = [".h"],
- ),
- },
-)
diff --git a/Config/utils.bzl b/Config/utils.bzl
deleted file mode 100644
index ca02712754..0000000000
--- a/Config/utils.bzl
+++ /dev/null
@@ -1,202 +0,0 @@
-OTHER_LINKER_FLAGS_KEY = 'OTHER_LDFLAGS'
-
-def configs_with_config(config):
- return {
- "Debug": config,
- "Profile": config,
- "Release": config,
- }
-
-def configs_with_updated_linker_flags(configs, other_linker_flags):
- if other_linker_flags == None:
- return configs
- else:
- updated_configs = { }
- for build_configuration in configs:
- updated_configs[build_configuration] = config_with_updated_linker_flags(
- configs[build_configuration],
- other_linker_flags)
- return updated_configs
-
-def config_with_updated_linker_flags(config, other_linker_flags, config_key=OTHER_LINKER_FLAGS_KEY):
- new_config = { }
- config_key_found = False
- for key in config:
- if key == config_key:
- new_config[key] = config[key] + (" %s" % other_linker_flags)
- config_key_found = True
- else:
- new_config[key] = config[key]
-
- if config_key_found == False:
- # If `config` does not currently contain `config_key`, add it. Inherit for good measure.
- new_config[config_key] = '$(inherited) ' + other_linker_flags
-
- return new_config
-
-def merge_dict(a, b):
- d = {}
- d.update(a)
- d.update(b)
- return d
-
-DEVELOPMENT_LANGUAGE = "en"
-
-SHARED_CONFIGS = {
- "IPHONEOS_DEPLOYMENT_TARGET": "9.0",
- "SDKROOT": "iphoneos",
- "GCC_OPTIMIZATION_LEVEL": "0",
- "SWIFT_WHOLE_MODULE_OPTIMIZATION": "NO",
- "ONLY_ACTIVE_ARCH": "YES",
- "LD_RUNPATH_SEARCH_PATHS": "@executable_path/Frameworks",
- "ENABLE_BITCODE": "NO",
-}
-
-# Adding `-all_load` to our binaries works around https://bugs.swift.org/browse/SR-6004.
-ALL_LOAD_LINKER_FLAG = "-all_load"
-
-def optimization_config():
- return {
- "SWIFT_OPTIMIZATION_LEVEL": native.read_config("custom", "optimization"),
- }
-
-def read_config_nonempty(name):
- value = native.read_config("custom", name)
- if value == None:
- fail("Configuration parameter custom.%s should be defined" % name)
- elif len(value) == 0:
- fail("Configuration parameter custom.%s should not be empty" % name)
- else:
- return value
-
-def get_codesign_identity(environment):
- if environment == "development":
- return read_config_nonempty("developmentCodeSignIdentity")
- elif environment == "distribution":
- return read_config_nonempty("distributionCodeSignIdentity")
- else:
- fail("Unknown environment " + environment)
-
-def get_development_team():
- return read_config_nonempty("developmentTeam")
-
-def add_item_to_subdict(superdict, key, subkey, item):
- subdict = dict(superdict[key])
- subdict[subkey] = item
- superdict[key] = subdict
-
-valid_configurations = ["Debug", "Profile", "Release"]
-
-def add_provisioning_profile_specifier(configs, type):
- for configuration in configs:
- if configuration not in valid_configurations:
- fail("Unknown configuration " + configuration)
-
- configs = dict(configs)
- for configuration in valid_configurations:
- if configuration == "Debug":
- add_item_to_subdict(configs, configuration, "PROVISIONING_PROFILE_SPECIFIER", get_provisioning_profile(environment="development", type=type))
- elif configuration == "Profile":
- add_item_to_subdict(configs, configuration, "PROVISIONING_PROFILE_SPECIFIER", get_provisioning_profile(environment="development", type=type))
- elif configuration == "Release":
- add_item_to_subdict(configs, configuration, "PROVISIONING_PROFILE_SPECIFIER", get_provisioning_profile(environment="distribution", type=type))
- return configs
-
-def add_codesign_identity(configs):
- for configuration in configs:
- if configuration not in valid_configurations:
- fail("Unknown configuration " + configuration)
-
- configs = dict(configs)
- for configuration in valid_configurations:
- if configuration == "Debug":
- add_item_to_subdict(configs, configuration, "CODE_SIGN_IDENTITY", get_codesign_identity(environment="development"))
- elif configuration == "Profile":
- add_item_to_subdict(configs, configuration, "CODE_SIGN_IDENTITY", get_codesign_identity(environment="development"))
- elif configuration == "Release":
- add_item_to_subdict(configs, configuration, "CODE_SIGN_IDENTITY", get_codesign_identity(environment="distribution"))
- return configs
-
-def get_build_number():
- return read_config_nonempty("buildNumber")
-
-def get_short_version():
- return read_config_nonempty("appVersion")
-
-def bundle_identifier(suffix):
- return read_config_nonempty("baseApplicationBundleId") + suffix
-
-def library_configs():
- lib_specific_config = {
- "SWIFT_WHOLE_MODULE_OPTIMIZATION": "NO",
-
- # Setting SKIP_INSTALL to NO for static library configs would create
- # create a generic xcode archive which can not be uploaded the app store
- # https://developer.apple.com/library/archive/technotes/tn2215/_index.html
- "SKIP_INSTALL": "YES",
- }
- library_config = merge_dict(SHARED_CONFIGS, lib_specific_config)
- library_config = merge_dict(library_config, optimization_config())
- configs = {
- "Debug": library_config,
- "Profile": library_config,
- "Release": library_config,
- }
- return configs
-
-def dynamic_library_configs():
- lib_specific_config = {
- "SWIFT_WHOLE_MODULE_OPTIMIZATION": "NO",
-
- # Setting SKIP_INSTALL to NO for static library configs would create
- # create a generic xcode archive which can not be uploaded the app store
- # https://developer.apple.com/library/archive/technotes/tn2215/_index.html
- "SKIP_INSTALL": "YES",
- "MACH_O_TYPE": "mh_dylib",
- "CODE_SIGNING_ALLOWED": "NO",
- }
-
- library_config = merge_dict(SHARED_CONFIGS, lib_specific_config)
- library_config = merge_dict(library_config, optimization_config())
- configs = {
- "Debug": library_config,
- "Profile": library_config,
- "Release": library_config,
- }
- return configs
-
-def get_provisioning_profile(environment, type):
- if type == "app":
- return read_config_nonempty(environment + "ProvisioningProfileApp")
- elif type == "share":
- return read_config_nonempty(environment + "ProvisioningProfileExtensionShare")
- elif type == "widget":
- return read_config_nonempty(environment + "ProvisioningProfileExtensionWidget")
- elif type == "notification_service":
- return read_config_nonempty(environment + "ProvisioningProfileExtensionNotificationService")
- elif type == "notification_content":
- return read_config_nonempty(environment + "ProvisioningProfileExtensionNotificationContent")
- elif type == "intents":
- return read_config_nonempty(environment + "ProvisioningProfileExtensionIntents")
- elif type == "watch_app":
- return read_config_nonempty(environment + "ProvisioningProfileWatchApp")
- elif type == "watch_extension":
- return read_config_nonempty(environment + "ProvisioningProfileWatchExtension")
- else:
- fail("Unknown provisioning profile type " + type)
-
-def get_codesign_entitlements(type):
- if type == "app":
- return read_config_nonempty("entitlementsApp")
- elif type == "share":
- return read_config_nonempty("entitlementsExtensionShare")
- elif type == "widget":
- return read_config_nonempty("entitlementsExtensionWidget")
- elif type == "notification_service":
- return read_config_nonempty("entitlementsExtensionNotificationService")
- elif type == "notification_content":
- return read_config_nonempty("entitlementsExtensionNotificationContent")
- elif type == "intents":
- return read_config_nonempty("entitlementsExtensionIntents")
- else:
- fail("unknown provisioning profile type")
diff --git a/Config/wallet_configs.bzl b/Config/wallet_configs.bzl
deleted file mode 100644
index 6bee7a1e94..0000000000
--- a/Config/wallet_configs.bzl
+++ /dev/null
@@ -1,59 +0,0 @@
-load("//Config:utils.bzl",
- "config_with_updated_linker_flags",
- "configs_with_config",
- "merge_dict",
- "DEVELOPMENT_LANGUAGE",
- "SHARED_CONFIGS",
- "ALL_LOAD_LINKER_FLAG",
- "optimization_config",
- "add_provisioning_profile_specifier",
- "add_codesign_identity",
- "get_build_number",
- "get_short_version",
- "bundle_identifier",
- "get_development_team",
- "get_provisioning_profile",
- "get_codesign_entitlements",
-)
-
-load("//Config:app_configuration.bzl",
- "appConfig"
-)
-
-def app_binary_configs():
- config = {
- "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "YES",
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "EXECUTABLE_NAME": "Wallet",
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=""),
- "CODE_SIGN_ENTITLEMENTS": get_codesign_entitlements("app"),
- "DEVELOPMENT_TEAM": get_development_team(),
- "ASSETCATALOG_COMPILER_APPICON_NAME": "AppIconWallet",
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "APP_NAME": "TON Wallet",
- "PRODUCT_NAME": "TON Wallet",
- "TARGETED_DEVICE_FAMILY": "1,2",
- }
- config = merge_dict(SHARED_CONFIGS, config)
- config = merge_dict(config, optimization_config())
- config = config_with_updated_linker_flags(config, ALL_LOAD_LINKER_FLAG)
- configs = configs_with_config(config)
- configs = add_provisioning_profile_specifier(configs, "app")
- configs = add_codesign_identity(configs)
- return configs
-
-def app_info_plist_substitutions():
- substitutions = {
- "DEVELOPMENT_LANGUAGE": DEVELOPMENT_LANGUAGE,
- "EXECUTABLE_NAME": "Wallet",
- "PRODUCT_BUNDLE_IDENTIFIER": bundle_identifier(suffix=""),
- "PRODUCT_NAME": "TON Wallet",
- "APP_NAME": "TON Wallet",
- "CURRENT_PROJECT_VERSION": "1",
- "BUILD_NUMBER": get_build_number(),
- "PRODUCT_BUNDLE_SHORT_VERSION": get_short_version(),
- "ASSETCATALOG_COMPILER_APPICON_NAME": "AppIconWallet",
- "TARGETED_DEVICE_FAMILY": "1,2",
- }
- return substitutions
diff --git a/Makefile b/Makefile
index a5de52dfd4..68ac34a879 100644
--- a/Makefile
+++ b/Makefile
@@ -1,49 +1,9 @@
-.PHONY : check_env build build_arm64 build_debug_arm64 package package_arm64 app app_arm64 app_debug_arm64 build_buckdebug build_verbose kill_xcode clean project project_buckdebug temp
-
-include Utils.makefile
-
+.PHONY : kill_xcode clean bazel_app_debug_arm64 bazel_app_debug_sim_arm64 bazel_app_arm64 bazel_app_armv7 bazel_app check_sandbox_debug_build bazel_project bazel_project_noextensions
APP_VERSION="7.3"
CORE_COUNT=$(shell sysctl -n hw.logicalcpu)
CORE_COUNT_MINUS_ONE=$(shell expr ${CORE_COUNT} \- 1)
-BUCK_OPTIONS=\
- --config custom.appVersion="${APP_VERSION}" \
- --config custom.developmentCodeSignIdentity="${DEVELOPMENT_CODE_SIGN_IDENTITY}" \
- --config custom.distributionCodeSignIdentity="${DISTRIBUTION_CODE_SIGN_IDENTITY}" \
- --config custom.developmentTeam="${DEVELOPMENT_TEAM}" \
- --config custom.baseApplicationBundleId="${BUNDLE_ID}" \
- --config custom.apiId="${API_ID}" \
- --config custom.apiHash="${API_HASH}" \
- --config custom.appCenterId="${APP_CENTER_ID}" \
- --config custom.isInternalBuild="${IS_INTERNAL_BUILD}" \
- --config custom.isAppStoreBuild="${IS_APPSTORE_BUILD}" \
- --config custom.appStoreId="${APPSTORE_ID}" \
- --config custom.appSpecificUrlScheme="${APP_SPECIFIC_URL_SCHEME}" \
- --config custom.buildNumber="${BUILD_NUMBER}" \
- --config custom.entitlementsApp="${ENTITLEMENTS_APP}" \
- --config custom.developmentProvisioningProfileApp="${DEVELOPMENT_PROVISIONING_PROFILE_APP}" \
- --config custom.distributionProvisioningProfileApp="${DISTRIBUTION_PROVISIONING_PROFILE_APP}" \
- --config custom.entitlementsExtensionShare="${ENTITLEMENTS_EXTENSION_SHARE}" \
- --config custom.developmentProvisioningProfileExtensionShare="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_SHARE}" \
- --config custom.distributionProvisioningProfileExtensionShare="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_SHARE}" \
- --config custom.entitlementsExtensionWidget="${ENTITLEMENTS_EXTENSION_WIDGET}" \
- --config custom.developmentProvisioningProfileExtensionWidget="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \
- --config custom.distributionProvisioningProfileExtensionWidget="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \
- --config custom.entitlementsExtensionNotificationService="${ENTITLEMENTS_EXTENSION_NOTIFICATIONSERVICE}" \
- --config custom.developmentProvisioningProfileExtensionNotificationService="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \
- --config custom.distributionProvisioningProfileExtensionNotificationService="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \
- --config custom.entitlementsExtensionNotificationContent="${ENTITLEMENTS_EXTENSION_NOTIFICATIONCONTENT}" \
- --config custom.developmentProvisioningProfileExtensionNotificationContent="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \
- --config custom.distributionProvisioningProfileExtensionNotificationContent="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \
- --config custom.entitlementsExtensionIntents="${ENTITLEMENTS_EXTENSION_INTENTS}" \
- --config custom.developmentProvisioningProfileExtensionIntents="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \
- --config custom.distributionProvisioningProfileExtensionIntents="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \
- --config custom.developmentProvisioningProfileWatchApp="${DEVELOPMENT_PROVISIONING_PROFILE_WATCH_APP}" \
- --config custom.distributionProvisioningProfileWatchApp="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_APP}" \
- --config custom.developmentProvisioningProfileWatchExtension="${DEVELOPMENT_PROVISIONING_PROFILE_WATCH_EXTENSION}" \
- --config custom.distributionProvisioningProfileWatchExtension="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_EXTENSION}"
-
BAZEL=$(shell which bazel)
ifneq ($(BAZEL_HTTP_CACHE_URL),)
@@ -54,16 +14,30 @@ else ifneq ($(BAZEL_CACHE_DIR),)
--disk_cache="${BAZEL_CACHE_DIR}"
endif
+ifneq ($(BAZEL_KEEP_GOING),)
+ export BAZEL_KEEP_GOING_FLAGS=\
+ -k
+else ifneq ($(BAZEL_CACHE_DIR),)
+ export BAZEL_KEEP_GOING_FLAGS=
+endif
+
BAZEL_COMMON_FLAGS=\
--announce_rc \
--features=swift.use_global_module_cache \
--features=swift.split_derived_files_generation \
--features=swift.skip_function_bodies_for_derived_files \
- --jobs=${CORE_COUNT}
+ --jobs=${CORE_COUNT} \
+ ${BAZEL_KEEP_GOING_FLAGS} \
BAZEL_DEBUG_FLAGS=\
--features=swift.enable_batch_mode \
--swiftcopt=-j${CORE_COUNT_MINUS_ONE} \
+ --experimental_guard_against_concurrent_changes \
+
+BAZEL_SANDBOX_FLAGS=\
+ --strategy=Genrule=sandboxed \
+ --spawn_strategy=sandboxed \
+ --strategy=SwiftCompile=sandboxed \
# --num-threads 0 forces swiftc to generate one object file per module; it:
# 1. resolves issues with the linker caused by swift-objc mixing.
@@ -76,328 +50,16 @@ BAZEL_OPT_FLAGS=\
--objc_enable_binary_stripping \
--apple_bitcode=watchos=embedded \
+kill_xcode:
+ killall Xcode || true
-build_arm64: check_env
- $(BUCK) build \
- //Telegram:AppPackage#iphoneos-arm64 \
- //Telegram:Telegram#dwarf-and-dsym,iphoneos-arm64 \
- //submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64 \
- //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64 \
- //submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/Postbox:Postbox#shared,iphoneos-arm64 \
- //submodules/TelegramApi:TelegramApi#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/TelegramApi:TelegramApi#shared,iphoneos-arm64 \
- //submodules/SyncCore:SyncCore#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/SyncCore:SyncCore#shared,iphoneos-arm64 \
- //submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64 \
- //submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64 \
- //submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/Display:Display#shared,iphoneos-arm64 \
- //submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/TelegramUI:TelegramUI#shared,iphoneos-arm64 \
- //Telegram:WatchAppExtension#dwarf-and-dsym,watchos-arm64_32,watchos-armv7k \
- //Telegram:ShareExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:WidgetExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:NotificationContentExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:NotificationServiceExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:IntentsExtension#dwarf-and-dsym,iphoneos-arm64 \
- ${BUCK_OPTIONS} ${BUCK_RELEASE_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_CACHE_OPTIONS}
-
-build_debug_arm64: check_env
- $(BUCK) build \
- //Telegram:AppPackage#iphoneos-arm64 \
- //Telegram:Telegram#dwarf-and-dsym,iphoneos-arm64 \
- //submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64 \
- //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64 \
- //submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/Postbox:Postbox#shared,iphoneos-arm64 \
- //submodules/TelegramApi:TelegramApi#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/TelegramApi:TelegramApi#shared,iphoneos-arm64 \
- //submodules/SyncCore:SyncCore#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/SyncCore:SyncCore#shared,iphoneos-arm64 \
- //submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64 \
- //submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64 \
- //submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/Display:Display#shared,iphoneos-arm64 \
- //submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/TelegramUI:TelegramUI#shared,iphoneos-arm64 \
- //Telegram:WatchAppExtension#dwarf-and-dsym,watchos-arm64_32,watchos-armv7k \
- //Telegram:ShareExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:WidgetExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:NotificationContentExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:NotificationServiceExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:IntentsExtension#dwarf-and-dsym,iphoneos-arm64 \
- ${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_CACHE_OPTIONS}
-
-build_wallet_debug_arm64: check_env
- $(BUCK) build \
- //Wallet:AppPackage#iphoneos-arm64 \
- //Wallet:Wallet#dwarf-and-dsym,iphoneos-arm64 \
- //submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64 \
- //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64 \
- //submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64 \
- //submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/Display:Display#shared,iphoneos-arm64 \
- ${WALLET_BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_CACHE_OPTIONS}
-
-build_debug_armv7: check_env
- $(BUCK) build \
- //Telegram:AppPackage#iphoneos-armv7 \
- //Telegram:Telegram#dwarf-and-dsym,iphoneos-armv7 \
- //submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-armv7 \
- //submodules/MtProtoKit:MtProtoKit#shared,iphoneos-armv7 \
- //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-armv7 \
- //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-armv7 \
- //submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-armv7 \
- //submodules/Postbox:Postbox#shared,iphoneos-armv7 \
- //submodules/TelegramApi:TelegramApi#dwarf-and-dsym,shared,iphoneos-armv7 \
- //submodules/TelegramApi:TelegramApi#shared,iphoneos-armv7 \
- //submodules/SyncCore:SyncCore#dwarf-and-dsym,shared,iphoneos-armv7 \
- //submodules/SyncCore:SyncCore#shared,iphoneos-armv7 \
- //submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-armv7 \
- //submodules/TelegramCore:TelegramCore#shared,iphoneos-armv7 \
- //submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-armv7 \
- //submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-armv7 \
- //submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-armv7 \
- //submodules/Display:Display#shared,iphoneos-armv7 \
- //submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-armv7 \
- //submodules/TelegramUI:TelegramUI#shared,iphoneos-armv7 \
- //Telegram:WatchAppExtension#dwarf-and-dsym,watchos-armv7_32,watchos-armv7k \
- //Telegram:ShareExtension#dwarf-and-dsym,iphoneos-armv7 \
- //Telegram:WidgetExtension#dwarf-and-dsym,iphoneos-armv7 \
- //Telegram:NotificationContentExtension#dwarf-and-dsym,iphoneos-armv7 \
- //Telegram:NotificationServiceExtension#dwarf-and-dsym,iphoneos-armv7 \
- //Telegram:IntentsExtension#dwarf-and-dsym,iphoneos-armv7 \
- ${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_CACHE_OPTIONS}
-
-build: check_env
- $(BUCK) build \
- //Telegram:AppPackage#iphoneos-arm64,iphoneos-armv7 \
- //Telegram:Telegram#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \
- //submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/Postbox:Postbox#shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/TelegramApi:TelegramApi#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/TelegramApi:TelegramApi#shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/SyncCore:SyncCore#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/SyncCore:SyncCore#shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/Display:Display#shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-arm64,iphoneos-armv7 \
- //submodules/TelegramUI:TelegramUI#shared,iphoneos-arm64,iphoneos-armv7 \
- //Telegram:WatchAppExtension#dwarf-and-dsym,watchos-arm64_32,watchos-armv7k \
- //Telegram:ShareExtension#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \
- //Telegram:WidgetExtension#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \
- //Telegram:NotificationContentExtension#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \
- //Telegram:NotificationServiceExtension#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \
- //Telegram:IntentsExtension#dwarf-and-dsym,iphoneos-arm64,iphoneos-armv7 \
- ${BUCK_OPTIONS} ${BUCK_RELEASE_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_CACHE_OPTIONS}
-
-package_arm64:
- PACKAGE_DEVELOPMENT_TEAM="${DEVELOPMENT_TEAM}" \
- PACKAGE_CODE_SIGN_IDENTITY="${DISTRIBUTION_CODE_SIGN_IDENTITY}" \
- PACKAGE_PROVISIONING_PROFILE_APP="${DISTRIBUTION_PROVISIONING_PROFILE_APP}" \
- PACKAGE_ENTITLEMENTS_APP="Telegram/${ENTITLEMENTS_APP}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_Share="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_SHARE}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_Share="Telegram/${ENTITLEMENTS_EXTENSION_SHARE}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_Widget="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_Widget="Telegram/${ENTITLEMENTS_EXTENSION_WIDGET}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationService="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_NotificationService="Telegram/${ENTITLEMENTS_EXTENSION_NOTIFICATIONSERVICE}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationContent="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_NotificationContent="Telegram/${ENTITLEMENTS_EXTENSION_NOTIFICATIONCONTENT}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_Intents="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_Intents="Telegram/${ENTITLEMENTS_EXTENSION_INTENTS}" \
- PACKAGE_PROVISIONING_PROFILE_WATCH_APP="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_APP}" \
- PACKAGE_PROVISIONING_PROFILE_WATCH_EXTENSION="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_EXTENSION}" \
- PACKAGE_BUNDLE_ID="${BUNDLE_ID}" \
- sh package_app.sh iphoneos-arm64 $(BUCK) "telegram" $(BUCK_OPTIONS) ${BUCK_RELEASE_OPTIONS}
-
-package_armv7:
- PACKAGE_DEVELOPMENT_TEAM="${DEVELOPMENT_TEAM}" \
- PACKAGE_CODE_SIGN_IDENTITY="${DISTRIBUTION_CODE_SIGN_IDENTITY}" \
- PACKAGE_PROVISIONING_PROFILE_APP="${DISTRIBUTION_PROVISIONING_PROFILE_APP}" \
- PACKAGE_ENTITLEMENTS_APP="Telegram/${ENTITLEMENTS_APP}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_Share="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_SHARE}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_Share="Telegram/${ENTITLEMENTS_EXTENSION_SHARE}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_Widget="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_Widget="Telegram/${ENTITLEMENTS_EXTENSION_WIDGET}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationService="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_NotificationService="Telegram/${ENTITLEMENTS_EXTENSION_NOTIFICATIONSERVICE}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationContent="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_NotificationContent="Telegram/${ENTITLEMENTS_EXTENSION_NOTIFICATIONCONTENT}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_Intents="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_Intents="Telegram/${ENTITLEMENTS_EXTENSION_INTENTS}" \
- PACKAGE_PROVISIONING_PROFILE_WATCH_APP="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_APP}" \
- PACKAGE_PROVISIONING_PROFILE_WATCH_EXTENSION="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_EXTENSION}" \
- PACKAGE_BUNDLE_ID="${BUNDLE_ID}" \
- sh package_app.sh iphoneos-armv7 $(BUCK) "telegram" $(BUCK_OPTIONS) ${BUCK_RELEASE_OPTIONS}
-
-package_debug_arm64:
- PACKAGE_DEVELOPMENT_TEAM="${DEVELOPMENT_TEAM}" \
- PACKAGE_CODE_SIGN_IDENTITY="${DEVELOPMENT_CODE_SIGN_IDENTITY}" \
- PACKAGE_PROVISIONING_PROFILE_APP="${DEVELOPMENT_PROVISIONING_PROFILE_APP}" \
- PACKAGE_ENTITLEMENTS_APP="Telegram/${ENTITLEMENTS_APP}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_Share="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_SHARE}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_Share="Telegram/${ENTITLEMENTS_EXTENSION_SHARE}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_Widget="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_Widget="Telegram/${ENTITLEMENTS_EXTENSION_WIDGET}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationService="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_NotificationService="Telegram/${ENTITLEMENTS_EXTENSION_NOTIFICATIONSERVICE}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationContent="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_NotificationContent="Telegram/${ENTITLEMENTS_EXTENSION_NOTIFICATIONCONTENT}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_Intents="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_Intents="Telegram/${ENTITLEMENTS_EXTENSION_INTENTS}" \
- PACKAGE_PROVISIONING_PROFILE_WATCH_APP="${DEVELOPMENT_PROVISIONING_PROFILE_WATCH_APP}" \
- PACKAGE_PROVISIONING_PROFILE_WATCH_EXTENSION="${DEVELOPMENT_PROVISIONING_PROFILE_WATCH_EXTENSION}" \
- PACKAGE_BUNDLE_ID="${BUNDLE_ID}" \
- ENABLE_GET_TASK_ALLOW=0 \
- CODESIGNING_PROFILES_VARIANT="development" \
- sh package_app.sh iphoneos-arm64 $(BUCK) "telegram" $(BUCK_OPTIONS) ${BUCK_RELEASE_OPTIONS}
-
-package_debug_armv7:
- PACKAGE_DEVELOPMENT_TEAM="${DEVELOPMENT_TEAM}" \
- PACKAGE_CODE_SIGN_IDENTITY="${DEVELOPMENT_CODE_SIGN_IDENTITY}" \
- PACKAGE_PROVISIONING_PROFILE_APP="${DEVELOPMENT_PROVISIONING_PROFILE_APP}" \
- PACKAGE_ENTITLEMENTS_APP="Telegram/${ENTITLEMENTS_APP}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_Share="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_SHARE}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_Share="Telegram/${ENTITLEMENTS_EXTENSION_SHARE}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_Widget="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_Widget="Telegram/${ENTITLEMENTS_EXTENSION_WIDGET}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationService="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_NotificationService="Telegram/${ENTITLEMENTS_EXTENSION_NOTIFICATIONSERVICE}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationContent="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_NotificationContent="Telegram/${ENTITLEMENTS_EXTENSION_NOTIFICATIONCONTENT}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_Intents="${DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_Intents="Telegram/${ENTITLEMENTS_EXTENSION_INTENTS}" \
- PACKAGE_PROVISIONING_PROFILE_WATCH_APP="${DEVELOPMENT_PROVISIONING_PROFILE_WATCH_APP}" \
- PACKAGE_PROVISIONING_PROFILE_WATCH_EXTENSION="${DEVELOPMENT_PROVISIONING_PROFILE_WATCH_EXTENSION}" \
- PACKAGE_BUNDLE_ID="${BUNDLE_ID}" \
- ENABLE_GET_TASK_ALLOW=0 \
- CODESIGNING_PROFILES_VARIANT="development" \
- sh package_app.sh iphoneos-armv7 $(BUCK) "telegram" $(BUCK_OPTIONS) ${BUCK_RELEASE_OPTIONS}
-
-package:
- PACKAGE_DEVELOPMENT_TEAM="${DEVELOPMENT_TEAM}" \
- PACKAGE_CODE_SIGN_IDENTITY="${DISTRIBUTION_CODE_SIGN_IDENTITY}" \
- PACKAGE_PROVISIONING_PROFILE_APP="${DISTRIBUTION_PROVISIONING_PROFILE_APP}" \
- PACKAGE_ENTITLEMENTS_APP="Telegram/${ENTITLEMENTS_APP}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_Share="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_SHARE}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_Share="Telegram/${ENTITLEMENTS_EXTENSION_SHARE}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_Widget="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_WIDGET}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_Widget="Telegram/${ENTITLEMENTS_EXTENSION_WIDGET}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationService="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_NotificationService="Telegram/${ENTITLEMENTS_EXTENSION_NOTIFICATIONSERVICE}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_NotificationContent="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_NotificationContent="Telegram/${ENTITLEMENTS_EXTENSION_NOTIFICATIONCONTENT}" \
- PACKAGE_PROVISIONING_PROFILE_EXTENSION_Intents="${DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_INTENTS}" \
- PACKAGE_ENTITLEMENTS_EXTENSION_Intents="Telegram/${ENTITLEMENTS_EXTENSION_INTENTS}" \
- PACKAGE_PROVISIONING_PROFILE_WATCH_APP="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_APP}" \
- PACKAGE_PROVISIONING_PROFILE_WATCH_EXTENSION="${DISTRIBUTION_PROVISIONING_PROFILE_WATCH_EXTENSION}" \
- PACKAGE_BUNDLE_ID="${BUNDLE_ID}" \
- sh package_app.sh iphoneos-arm64,iphoneos-armv7 $(BUCK) "telegram" $(BUCK_OPTIONS) ${BUCK_RELEASE_OPTIONS}
-
-app: build package
-
-app_arm64: build_arm64 package_arm64
-
-app_debug_arm64: build_debug_arm64 package_debug_arm64
-
-wallet_debug_arm64: build_wallet_debug_arm64
-
-app_debug_armv7: build_debug_armv7 package_debug_armv7
-
-build_buckdebug: check_env
- BUCK_DEBUG_MODE=1 $(BUCK) build \
- //Telegram:AppPackage#iphoneos-arm64 \
- //Telegram:Telegram#dwarf-and-dsym,iphoneos-arm64 \
- //submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64 \
- //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64 \
- //submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/Postbox:Postbox#shared,iphoneos-arm64 \
- //submodules/TelegramApi:TelegramApi#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/TelegramApi:TelegramApi#shared,iphoneos-arm64 \
- //submodules/SyncCore:SyncCore#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/SyncCore:SyncCore#shared,iphoneos-arm64 \
- //submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64 \
- //submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64 \
- //submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/Display:Display#shared,iphoneos-arm64 \
- //submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/TelegramUI:TelegramUI#shared,iphoneos-arm64 \
- //Telegram:WatchAppExtension#dwarf-and-dsym,watchos-arm64_32,watchos-armv7k \
- //Telegram:ShareExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:WidgetExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:NotificationContentExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:NotificationServiceExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:IntentsExtension#dwarf-and-dsym,iphoneos-arm64 \
- --verbose 7 ${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS}
-
-build_verbose: check_env
- $(BUCK) build \
- //Telegram:AppPackage#iphoneos-arm64 \
- //Telegram:Telegram#dwarf-and-dsym,iphoneos-arm64 \
- //submodules/MtProtoKit:MtProtoKit#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/MtProtoKit:MtProtoKit#shared,iphoneos-arm64 \
- //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared,iphoneos-arm64 \
- //submodules/Postbox:Postbox#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/Postbox:Postbox#shared,iphoneos-arm64 \
- //submodules/TelegramApi:TelegramApi#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/TelegramApi:TelegramApi#shared,iphoneos-arm64 \
- //submodules/SyncCore:SyncCore#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/SyncCore:SyncCore#shared,iphoneos-arm64 \
- //submodules/TelegramCore:TelegramCore#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/TelegramCore:TelegramCore#shared,iphoneos-arm64 \
- //submodules/AsyncDisplayKit:AsyncDisplayKit#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/AsyncDisplayKit:AsyncDisplayKit#shared,iphoneos-arm64 \
- //submodules/Display:Display#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/Display:Display#shared,iphoneos-arm64 \
- //submodules/TelegramUI:TelegramUI#dwarf-and-dsym,shared,iphoneos-arm64 \
- //submodules/TelegramUI:TelegramUI#shared,iphoneos-arm64 \
- //Telegram:WatchAppExtension#dwarf-and-dsym,watchos-arm64_32,watchos-armv7k \
- //Telegram:ShareExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:WidgetExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:NotificationContentExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:NotificationServiceExtension#dwarf-and-dsym,iphoneos-arm64 \
- //Telegram:IntentsExtension#dwarf-and-dsym,iphoneos-arm64 \
- --verbose 7 ${BUCK_OPTIONS} ${BUCK_THREADS_OPTIONS} ${BUCK_DEBUG_OPTIONS} ${BUCK_CACHE_OPTIONS}
-
-deps: check_env
- $(BUCK) query "deps(//Telegram:AppPackage)" --dot \
- ${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS}
-
-clean: kill_xcode
- sh clean.sh
-
-project: check_env kill_xcode
- $(BUCK) project //Telegram:workspace --config custom.mode=project ${BUCK_OPTIONS} ${BUCK_DEBUG_OPTIONS}
- open Telegram/Telegram_Buck.xcworkspace
+clean:
+ "${BAZEL}" clean --expunge
bazel_app_debug_arm64:
APP_VERSION="${APP_VERSION}" \
+ BAZEL_CACHE_DIR="${BAZEL_CACHE_DIR}" \
+ BAZEL_HTTP_CACHE_URL="${BAZEL_HTTP_CACHE_URL}" \
TELEGRAM_DISABLE_EXTENSIONS="0" \
build-system/prepare-build.sh Telegram distribution
"${BAZEL}" build Telegram/Telegram ${BAZEL_CACHE_FLAGS} ${BAZEL_COMMON_FLAGS} ${BAZEL_DEBUG_FLAGS} \
@@ -408,6 +70,8 @@ bazel_app_debug_arm64:
bazel_app_debug_sim_arm64:
APP_VERSION="${APP_VERSION}" \
+ BAZEL_CACHE_DIR="${BAZEL_CACHE_DIR}" \
+ BAZEL_HTTP_CACHE_URL="${BAZEL_HTTP_CACHE_URL}" \
TELEGRAM_DISABLE_EXTENSIONS="0" \
build-system/prepare-build.sh Telegram distribution
"${BAZEL}" build Telegram/Telegram ${BAZEL_CACHE_FLAGS} ${BAZEL_COMMON_FLAGS} ${BAZEL_DEBUG_FLAGS} \
@@ -458,6 +122,20 @@ bazel_app:
--output_groups=+dsyms \
--verbose_failures
+check_sandbox_debug_build:
+ APP_VERSION="${APP_VERSION}" \
+ BAZEL_CACHE_DIR="${BAZEL_CACHE_DIR}" \
+ BAZEL_HTTP_CACHE_URL="${BAZEL_HTTP_CACHE_URL}" \
+ TELEGRAM_DISABLE_EXTENSIONS="0" \
+ build-system/prepare-build.sh Telegram distribution
+ "${BAZEL}" build Telegram/Telegram ${BAZEL_CACHE_FLAGS} ${BAZEL_COMMON_FLAGS} ${BAZEL_DEBUG_FLAGS} ${BAZEL_SANDBOX_FLAGS} \
+ -c opt \
+ --ios_multi_cpus=arm64 \
+ --watchos_cpus=armv7k,arm64_32 \
+ --apple_generate_dsym \
+ --output_groups=+dsyms \
+ --verbose_failures
+
bazel_project: kill_xcode
APP_VERSION="${APP_VERSION}" \
BAZEL_CACHE_DIR="${BAZEL_CACHE_DIR}" \
diff --git a/Utils.makefile b/Utils.makefile
deleted file mode 100644
index 5abd94a690..0000000000
--- a/Utils.makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-
-export BUCK_DEBUG_OPTIONS=\
- --config custom.other_cflags="-O0 -D DEBUG" \
- --config custom.other_cxxflags="-O0 -D DEBUG" \
- --config custom.optimization="-Onone" \
- --config custom.config_swift_compiler_flags="-DDEBUG"
-
-export BUCK_RELEASE_OPTIONS=\
- --config custom.other_cflags="-Os" \
- --config custom.other_cxxflags="-Os" \
- --config custom.optimization="-Osize" \
- --config custom.config_swift_compiler_flags="-whole-module-optimization"
-
-export BUCK_THREADS_OPTIONS=--config build.threads=$(shell sysctl -n hw.logicalcpu)
-
-ifneq ($(BUCK_HTTP_CACHE),)
- ifeq ($(BUCK_CACHE_MODE),)
- BUCK_CACHE_MODE=readwrite
- endif
- export BUCK_CACHE_OPTIONS=\
- --config cache.mode=http \
- --config cache.http_url="$(BUCK_HTTP_CACHE)" \
- --config cache.http_mode="$(BUCK_CACHE_MODE)"
-endif
-
-ifneq ($(BUCK_DIR_CACHE),)
- export BUCK_CACHE_OPTIONS=\
- --config cache.mode=dir \
- --config cache.dir="$(BUCK_DIR_CACHE)" \
- --config cache.dir_mode="readwrite"
-endif
-
-check_env:
- sh check_env.sh
-
-kill_xcode:
- killall Xcode || true
diff --git a/build-system/verify.sh b/build-system/verify.sh
index 14cd93a50c..54fd0a9d30 100644
--- a/build-system/verify.sh
+++ b/build-system/verify.sh
@@ -21,22 +21,16 @@ if [ -z "$BUILD_NUMBER" ]; then
exit 1
fi
-export ENTITLEMENTS_APP="Telegram-iOS/Telegram-iOS-AppStoreLLC.entitlements"
export DEVELOPMENT_PROVISIONING_PROFILE_APP="match Development ph.telegra.Telegraph"
export DISTRIBUTION_PROVISIONING_PROFILE_APP="match AppStore ph.telegra.Telegraph"
-export ENTITLEMENTS_EXTENSION_SHARE="Share/Share-AppStoreLLC.entitlements"
export DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_SHARE="match Development ph.telegra.Telegraph.Share"
export DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_SHARE="match AppStore ph.telegra.Telegraph.Share"
-export ENTITLEMENTS_EXTENSION_WIDGET="Widget/Widget-AppStoreLLC.entitlements"
export DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_WIDGET="match Development ph.telegra.Telegraph.Widget"
export DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_WIDGET="match AppStore ph.telegra.Telegraph.Widget"
-export ENTITLEMENTS_EXTENSION_NOTIFICATIONSERVICE="NotificationService/NotificationService-AppStoreLLC.entitlements"
export DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE="match Development ph.telegra.Telegraph.NotificationService"
export DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONSERVICE="match AppStore ph.telegra.Telegraph.NotificationService"
-export ENTITLEMENTS_EXTENSION_NOTIFICATIONCONTENT="NotificationContent/NotificationContent-AppStoreLLC.entitlements"
export DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT="match Development ph.telegra.Telegraph.NotificationContent"
export DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_NOTIFICATIONCONTENT="match AppStore ph.telegra.Telegraph.NotificationContent"
-export ENTITLEMENTS_EXTENSION_INTENTS="SiriIntents/SiriIntents-AppStoreLLC.entitlements"
export DEVELOPMENT_PROVISIONING_PROFILE_EXTENSION_INTENTS="match Development ph.telegra.Telegraph.SiriIntents"
export DISTRIBUTION_PROVISIONING_PROFILE_EXTENSION_INTENTS="match AppStore ph.telegra.Telegraph.SiriIntents"
export DEVELOPMENT_PROVISIONING_PROFILE_WATCH_APP="match Development ph.telegra.Telegraph.watchkitapp"
@@ -47,6 +41,5 @@ export DISTRIBUTION_PROVISIONING_PROFILE_WATCH_EXTENSION="match AppStore ph.tele
BUILDBOX_DIR="buildbox"
export CODESIGNING_PROFILES_VARIANT="appstore"
-export PACKAGE_METHOD="appstore"
$@
diff --git a/check_env.sh b/check_env.sh
deleted file mode 100644
index ed48e66473..0000000000
--- a/check_env.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-if [ -z "$TELEGRAM_ENV_SET" ]; then
- echo "Error: Telegram build environment is not set up. Use sh public.sh make ${command}"
- exit 1
-fi
diff --git a/clean.sh b/clean.sh
deleted file mode 100644
index ff128a66ba..0000000000
--- a/clean.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-rm -rf App/App.xcodeproj App/App.xcworkspace
-rm -rf submodules/MtProtoKit/MtProtoKit.xcodeproj
-rm -rf submodules/Emoji/Emoji.xcodeproj
-rm -rf buck-out
\ No newline at end of file
diff --git a/extract_wallet_source.py b/extract_wallet_source.py
deleted file mode 100644
index b7d22657ba..0000000000
--- a/extract_wallet_source.py
+++ /dev/null
@@ -1,94 +0,0 @@
-import sys
-import os
-import re
-import shutil
-
-ignore_patterns_when_copying = [
- "^\\.git$",
- "^.*/\\.git$",
-]
-
-def mkdir_p(path):
- if not os.path.isdir(path):
- os.makedirs(path)
-
-def clean_copy_files(dir, destination_dir):
- for root, dirs, files in os.walk(dir, topdown=False):
- for name in files:
- skip_file = False
- for pattern in ignore_patterns_when_copying:
- if re.match(pattern, name):
- skip_file = True
- break
- if skip_file:
- continue
- file_path = os.path.relpath(os.path.join(root, name), dir)
- dir_path = os.path.dirname(file_path)
- mkdir_p(destination_dir + "/" + dir_path)
- shutil.copy(dir + "/" + file_path, destination_dir + "/" + file_path)
- for name in dirs:
- skip_file = False
- for pattern in ignore_patterns_when_copying:
- if re.match(pattern, name):
- skip_file = True
- break
- if skip_file:
- continue
- dir_path = os.path.relpath(os.path.join(root, name), dir)
- if os.path.islink(dir + "/" + dir_path):
- continue
- mkdir_p(destination_dir + "/" + dir_path)
-
-if len(sys.argv) != 2:
- print('Usage: extract_wallet_source.py destination')
- sys.exit(1)
-
-destination = sys.argv[1]
-
-deps_data = os.popen("""bazel query 'kind("source file", deps(//Wallet:Wallet))'""").read().splitlines()
-buildfile_deps_data = os.popen("""bazel query 'buildfiles(deps(//Wallet:Wallet))'""").read().splitlines()
-
-directories = set()
-
-for line in deps_data + buildfile_deps_data:
- if len(line) == 0:
- continue
- if line[:1] == "@":
- continue
- if line[:2] != "//":
- continue
- file_path = line[2:].replace(":", "/")
- if file_path.startswith("build-input"):
- continue
- if file_path.startswith("external"):
- continue
- file_name = os.path.basename(file_path)
- file_dir = os.path.dirname(file_path)
-
- mkdir_p(destination + "/" + file_dir)
- shutil.copy(file_path, destination + '/' + file_path)
-
-additional_paths = [
- ".gitignore",
- "WORKSPACE",
- "build-system/xcode_version",
- "build-system/bazel_version",
- "build-system/bazel-rules",
- "build-system/tulsi",
- "build-system/prepare-build.sh",
- "build-system/generate-xcode-project.sh",
- "build-system/copy-provisioning-profiles-Wallet.sh",
- "build-system/prepare-build-variables-Wallet.sh",
- ".bazelrc",
- "wallet_env.sh",
-]
-
-for file_path in additional_paths:
- if os.path.isdir(file_path):
- clean_copy_files(file_path, destination + "/" + file_path)
- else:
- shutil.copy(file_path, destination + "/" + file_path)
-
-shutil.copy("Wallet.makefile", destination + "/" + "Makefile")
-shutil.copy("Wallet/README.md", destination + "/" + "README.md")
-
diff --git a/package_app.sh b/package_app.sh
deleted file mode 100644
index bd0c12db93..0000000000
--- a/package_app.sh
+++ /dev/null
@@ -1,522 +0,0 @@
-#!/bin/sh
-
-set -e
-
-if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then
- echo "Usage: sh package_app.sh path/to/buck platform-flavors type"
- exit 1
-fi
-
-PLATFORM_FLAVORS="$1"
-BUCK="$2"
-APP_TYPE="$3"
-shift
-shift
-shift
-
-BUILD_PATH="build"
-if [ "$APP_TYPE" == "wallet" ]; then
- APP_NAME="TONWallet"
-else
- APP_NAME="Telegram"
-fi
-
-IPA_PATH="$BUILD_PATH/$APP_NAME.ipa"
-DSYMS_FOLDER_NAME="DSYMs"
-DSYMS_ZIP="$BUILD_PATH/$DSYMS_FOLDER_NAME.zip"
-DSYMS_DIR="$BUILD_PATH/$DSYMS_FOLDER_NAME"
-
-TEMP_PATH="$BUILD_PATH/temp"
-TEMP_ENTITLEMENTS_PATH="$TEMP_PATH/entitlements"
-KEYCHAIN_PATH="$TEMP_PATH/keychain"
-
-if [ -z "$PACKAGE_BUNDLE_ID" ]; then
- echo "PACKAGE_BUNDLE_ID not set"
- exit 1
-fi
-
-BUNDLE_ID_PREFIX=$(echo "$PACKAGE_BUNDLE_ID" | grep -Eo "^.*?\\..*?\\." | head -1)
-if [ -z "$BUNDLE_ID_PREFIX" ]; then
- echo "Could not extract bundle id prefix from $PACKAGE_BUNDLE_ID"
- exit 1
-fi
-
-mkdir -p "$BUILD_PATH"
-rm -f "$IPA_PATH"
-rm -f "$DSYMS_ZIP"
-rm -rf "$DSYMS_DIR"
-mkdir -p "$DSYMS_DIR"
-rm -rf "$TEMP_PATH"
-
-mkdir -p "$TEMP_PATH"
-mkdir -p "$TEMP_ENTITLEMENTS_PATH"
-
-if [ "$APP_TYPE" == "wallet" ]; then
- cp "buck-out/gen/Wallet/AppPackage#$PLATFORM_FLAVORS.ipa" "$IPA_PATH.original"
-else
- cp "buck-out/gen/Telegram/AppPackage#$PLATFORM_FLAVORS.ipa" "$IPA_PATH.original"
-fi
-rm -rf "$IPA_PATH.original.unpacked"
-rm -f "$BUILD_PATH/${APP_NAME}_signed.ipa"
-mkdir -p "$IPA_PATH.original.unpacked"
-
-echo "Unzipping original ipa..."
-unzip "$IPA_PATH.original" -d "$IPA_PATH.original.unpacked/" 1>/dev/null
-rm "$IPA_PATH.original"
-
-UNPACKED_PATH="$IPA_PATH.original.unpacked"
-if [ "$APP_TYPE" == "wallet" ]; then
- APP_PATH="$UNPACKED_PATH/Payload/Wallet.app"
-else
- APP_PATH="$UNPACKED_PATH/Payload/Telegram.app"
-fi
-
-FRAMEWORKS_DIR="$APP_PATH/Frameworks"
-
-rm -rf "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos/"*
-rm -rf "$IPA_PATH.original.unpacked/Symbols/"*
-rm -rf "$FRAMEWORKS_DIR/"*
-
-if [ -z "$PACKAGE_METHOD" ]; then
- echo "PACKAGE_METHOD is not set"
- exit 1
-fi
-
-if [ "$PACKAGE_METHOD" != "appstore" ] && [ "$PACKAGE_METHOD" != "enterprise" ]; then
- echo "PACKAGE_METHOD $PACKAGE_METHOD should be in [appstore, enterprise]"
- exit 1
-fi
-
-if [ -z "$PACKAGE_CODE_SIGN_IDENTITY" ]; then
- echo "PACKAGE_CODE_SIGN_IDENTITY is not set"
- exit 1
-fi
-
-if [ -z "$DEVELOPMENT_TEAM" ]; then
- echo "DEVELOPMENT_TEAM is not set"
- exit 1
-fi
-
-if [ ! -d "$CODESIGNING_DATA_PATH" ]; then
- echo "CODESIGNING_DATA_PATH $CODESIGNING_DATA_PATH does not exist"
- exit 1
-fi
-
-if [ -z "$CODESIGNING_CERTS_VARIANT" ]; then
- echo "CODESIGNING_CERTS_VARIANT is not set"
- exit 1
-fi
-
-if [ -z "$CODESIGNING_PROFILES_VARIANT" ]; then
- echo "CODESIGNING_PROFILES_VARIANT is not set"
- exit 1
-fi
-
-CERTS_PATH="$CODESIGNING_DATA_PATH/certs/$CODESIGNING_CERTS_VARIANT"
-PROFILES_PATH="$CODESIGNING_DATA_PATH/profiles/$CODESIGNING_PROFILES_VARIANT"
-
-if [ ! -d "$CERTS_PATH" ]; then
- echo "$CERTS_PATH does not exist"
- exit 1
-fi
-
-if [ ! -d "$PROFILES_PATH" ]; then
- echo "$PROFILES_PATH does not exist"
- exit 1
-fi
-
-rm -f "$KEYCHAIN_PATH"
-
-if [ "$APP_TYPE" == "wallet" ]; then
- APP_ITEMS_WITH_PROVISIONING_PROFILE="APP"
- APP_ITEMS_WITH_ENTITLEMENTS="APP"
-else
- APP_ITEMS_WITH_PROVISIONING_PROFILE="APP EXTENSION_Share EXTENSION_Widget EXTENSION_NotificationService EXTENSION_NotificationContent EXTENSION_Intents WATCH_APP WATCH_EXTENSION"
- APP_ITEMS_WITH_ENTITLEMENTS="APP EXTENSION_Share EXTENSION_Widget EXTENSION_NotificationService EXTENSION_NotificationContent EXTENSION_Intents"
-fi
-
-COMMON_IDENTITY_HASH=""
-
-REMOVE_ENTITLEMENT_KEYS=(\
- "com.apple.developer.icloud-container-development-container-identifiers" \
- "com.apple.developer.ubiquity-kvstore-identifier" \
-)
-
-COPY_ENTITLEMENT_KEYS=(\
- "com.apple.developer.associated-domains" \
- "com.apple.developer.icloud-services" \
- "com.apple.developer.pushkit.unrestricted-voip" \
-)
-
-REPLACE_TO_PRODUCTION_ENTITLEMENT_KEYS=(\
- "com.apple.developer.icloud-container-environment" \
-)
-
-echo "Generating entitlements..."
-for ITEM in $APP_ITEMS_WITH_PROVISIONING_PROFILE; do
- PROFILE_VAR=PACKAGE_PROVISIONING_PROFILE_$ITEM
- if [ -z "${!PROFILE_VAR}" ]; then
- echo "$PROFILE_VAR is not set"
- exit 1
- fi
- for PROFILE in "$PROFILES_PATH/"*; do
- PROFILE_DATA=$(security cms -D -i "$PROFILE")
- PROFILE_NAME=$(/usr/libexec/PlistBuddy -c "Print :Name" /dev/stdin <<< $(echo $PROFILE_DATA))
- if [ "$PROFILE_NAME" == "${!PROFILE_VAR}" ]; then
- TEAM_IDENTIFIER=$(/usr/libexec/PlistBuddy -c "Print :Entitlements:com.apple.developer.team-identifier" /dev/stdin <<< $(echo $PROFILE_DATA))
- if [ "$TEAM_IDENTIFIER" != "$DEVELOPMENT_TEAM" ]; then
- "Entitlements:com.apple.developer.team-identifier in $PROFILE does not match $DEVELOPMENT_TEAM"
- fi
-
- IDENTITY_NAME=$(/usr/libexec/PlistBuddy -c "Print :DeveloperCertificates:0 :data" /dev/stdin <<< $(echo $PROFILE_DATA) | openssl x509 -inform DER -subject -nameopt multiline -sha1 -noout | grep commonName | sed -e 's#[ ]*commonName[ ]*=[ ]*##g')
- if [ ! -z "$IDENTITY_NAME" ]; then
- IDENTITY_HASH=$(/usr/libexec/PlistBuddy -c "Print :DeveloperCertificates:0 :data" /dev/stdin <<< $(echo $PROFILE_DATA) | openssl x509 -inform DER -fingerprint -sha1 -noout | sed -e 's#SHA1 Fingerprint=##' | sed -e 's#:##g')
- if [ -z "$COMMON_IDENTITY_HASH" ]; then
- COMMON_IDENTITY_HASH="$IDENTITY_HASH"
- elif [ "$COMMON_IDENTITY_HASH" != "$IDENTITY_HASH" ]; then
- "Signing identity in $PROFILE ($IDENTITY_HASH) does not match $COMMON_IDENTITY_HASH from previously processed profiles"
- fi
- else
- echo "Signing identity name in $PROFILE does not match $PACKAGE_CODE_SIGN_IDENTITY"
- exit 1
- fi
-
- declare PROFILE_PATH_$ITEM="$PROFILE"
-
- PROFILE_ENTITLEMENTS_PATH="$TEMP_ENTITLEMENTS_PATH/$ITEM.entitlements"
- security cms -D -i "$PROFILE" > "$TEMP_PATH/temp.plist" && /usr/libexec/PlistBuddy -x -c 'Print:Entitlements' "$TEMP_PATH/temp.plist" > "$PROFILE_ENTITLEMENTS_PATH"
-
- for KEY in "${REMOVE_ENTITLEMENT_KEYS[@]}"; do
- /usr/libexec/PlistBuddy -c "Delete $KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null || true
- done
-
- for KEY in "${REPLACE_TO_PRODUCTION_ENTITLEMENT_KEYS[@]}"; do
- VALUE=$(/usr/libexec/PlistBuddy -c "Print :$KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null || echo "")
- if [ ! -z "$VALUE" ]; then
- PLUTIL_KEY=$(echo "$KEY" | sed 's/\./\\\./g')
- /usr/libexec/PlistBuddy -c "Delete $KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null
- VALUE="Production"
- plutil -insert "$PLUTIL_KEY" -xml "$VALUE" "$PROFILE_ENTITLEMENTS_PATH"
- fi
- done
-
- if [ "$ENABLE_GET_TASK_ALLOW" == "1" ]; then
- KEY="com.apple.security.get-task-allow"
- PLUTIL_KEY=$(echo "$KEY" | sed 's/\./\\\./g')
- plutil -insert "$PLUTIL_KEY" -xml "" "$PROFILE_ENTITLEMENTS_PATH"
- fi
-
- ENTITLEMENTS_VAR=PACKAGE_ENTITLEMENTS_$ITEM
- if [ ! -z "${!ENTITLEMENTS_VAR}" ]; then
- if [ ! -f "${!ENTITLEMENTS_VAR}" ]; then
- echo "${!ENTITLEMENTS_VAR} does not exist"
- exit 1
- fi
-
- for KEY in "${COPY_ENTITLEMENT_KEYS[@]}"; do
- VALUE=$(/usr/libexec/PlistBuddy -c "Print :$KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null || echo "")
- if [ ! -z "$VALUE" ]; then
- PLUTIL_KEY=$(echo "$KEY" | sed 's/\./\\\./g')
- TEST_VALUE=$(plutil -extract "$PLUTIL_KEY" xml1 -o - "${!ENTITLEMENTS_VAR}" 1>/dev/null || echo "error")
- if [ "$TEST_VALUE" != "error" ]; then
- VALUE=$(plutil -extract "$PLUTIL_KEY" xml1 -o - "${!ENTITLEMENTS_VAR}")
- /usr/libexec/PlistBuddy -c "Delete $KEY" "$PROFILE_ENTITLEMENTS_PATH" 2>/dev/null
- plutil -insert "$PLUTIL_KEY" -xml "$VALUE" "$PROFILE_ENTITLEMENTS_PATH"
- fi
- fi
- done
- fi
- declare ENTITLEMENTS_PATH_$ITEM="$PROFILE_ENTITLEMENTS_PATH"
- fi
- done
-done
-
-for ITEM in $APP_ITEMS_WITH_PROVISIONING_PROFILE; do
- PROFILE_PATH_VAR=PROFILE_PATH_$ITEM
- if [ -z "${!PROFILE_PATH_VAR}" ]; then
- echo "Provisioning profile for $ITEM was not found"
- exit 1
- fi
-done
-
-for ITEM in $APP_ITEMS_WITH_ENTITLEMENTS; do
- ENTITLEMENTS_VAR=PACKAGE_ENTITLEMENTS_$ITEM
- if [ -z "${!ENTITLEMENTS_VAR}" ]; then
- echo "$ENTITLEMENTS_VAR is not set"
- exit 1
- fi
- if [ ! -f "${!ENTITLEMENTS_VAR}" ]; then
- echo "${!ENTITLEMENTS_VAR} does not exist"
- exit 1
- fi
-done
-
-if [ -z "$COMMON_IDENTITY_HASH" ]; then
- echo "Failed to determine signing identity"
- exit 1
-fi
-
-COPY_PLIST_KEYS=(\
- "DTSDKName" \
- "DTXcode" \
- "DTSDKBuild" \
- "CFBundleDevelopmentRegion" \
- "BuildMachineOSBuild" \
- "DTPlatformName" \
- "CFBundleSupportedPlatforms" \
- "CFBundleInfoDictionaryVersion" \
- "DTCompiler" \
- "MinimumOSVersion" \
- "UIDeviceFamily" \
- "DTPlatformVersion" \
- "DTXcodeBuild" \
- "DTPlatformBuild" \
-)
-APP_PLIST="$APP_PATH/Info.plist"
-
-if [ "$APP_TYPE" == "wallet" ]; then
- APP_BINARY_TARGET="//Wallet:Wallet"
-else
- APP_BINARY_TARGET="//Telegram:Telegram"
-fi
-
-echo "Repacking frameworks..."
-for DEPENDENCY in $(${BUCK} query "kind('apple_library', deps('${APP_BINARY_TARGET}#$PLATFORM_FLAVORS', 1))" "$@"); do
- DEPENDENCY_PATH=$(echo "$DEPENDENCY" | sed -e "s#^//##" | sed -e "s#:#/#")
- DEPENDENCY_NAME=$(echo "$DEPENDENCY" | sed -e "s/#.*//" | sed -e "s/^.*\://")
- DYLIB_PATH="buck-out/gen/$DEPENDENCY_PATH/lib$DEPENDENCY_NAME.dylib"
- mkdir -p "$FRAMEWORKS_DIR/${DEPENDENCY_NAME}.framework"
- TARGET_DYLIB_PATH="$FRAMEWORKS_DIR/${DEPENDENCY_NAME}.framework/$DEPENDENCY_NAME"
- PLIST_FILE="$FRAMEWORKS_DIR/${DEPENDENCY_NAME}.framework/Info.plist"
- /usr/libexec/PlistBuddy -c "Add :CFBundleName string \"${DEPENDENCY_NAME}\"" "$PLIST_FILE" 1>/dev/null
- /usr/libexec/PlistBuddy -c "Add :CFBundleVersion string \"1\"" "$PLIST_FILE"
- /usr/libexec/PlistBuddy -c "Add :CFBundleShortVersionString string \"1.0\"" "$PLIST_FILE"
- /usr/libexec/PlistBuddy -c "Add :CFBundlePackageType string \"FMWK\"" "$PLIST_FILE"
- /usr/libexec/PlistBuddy -c "Add :CFBundleExecutable string \"${DEPENDENCY_NAME}\"" "$PLIST_FILE"
- /usr/libexec/PlistBuddy -c "Add :CFBundleIdentifier string \"${BUNDLE_ID_PREFIX}.${DEPENDENCY_NAME}\"" "$PLIST_FILE"
- for KEY in "${COPY_PLIST_KEYS[@]}"; do
- VALUE=$(/usr/libexec/PlistBuddy -c "Print :$KEY" "$APP_PLIST" 2>/dev/null || echo "")
- if [ ! -z "$VALUE" ]; then
- PLUTIL_KEY=$(echo "$KEY" | sed 's/\./\\\./g')
- VALUE=$(plutil -extract "$PLUTIL_KEY" xml1 -o - "$APP_PLIST")
- plutil -insert "$PLUTIL_KEY" -xml "$VALUE" "$PLIST_FILE"
- fi
- done
- plutil -convert binary1 "$PLIST_FILE"
- cp "$DYLIB_PATH" "$TARGET_DYLIB_PATH"
- DSYM_PATH="buck-out/gen/$(echo "$DEPENDENCY" | sed -e "s/#/#apple-dsym,/" | sed -e "s#^//##" | sed -e "s#:#/#").dSYM"
- cp -r "$DSYM_PATH" "$DSYMS_DIR/"
-done
-
-if [ "$APP_TYPE" == "wallet" ]; then
- APP_BINARY_DSYM_PATH="buck-out/gen/Wallet/Wallet#dwarf-and-dsym,$PLATFORM_FLAVORS,no-include-frameworks/Wallet.app.dSYM"
-else
- APP_BINARY_DSYM_PATH="buck-out/gen/Telegram/Telegram#dwarf-and-dsym,$PLATFORM_FLAVORS,no-include-frameworks/Telegram.app.dSYM"
-fi
-cp -r "$APP_BINARY_DSYM_PATH" "$DSYMS_DIR/"
-
-if [ "$APP_TYPE" == "wallet" ]; then
- EXTENSIONS=""
-else
- EXTENSIONS="Share Widget Intents NotificationContent NotificationService"
-fi
-
-for EXTENSION in $EXTENSIONS; do
- EXTENSION_DSYM_PATH="buck-out/gen/Telegram/${EXTENSION}Extension#dwarf-and-dsym,$PLATFORM_FLAVORS,no-include-frameworks/${EXTENSION}Extension.appex.dSYM"
- cp -r "$EXTENSION_DSYM_PATH" "$DSYMS_DIR/"
-done
-
-if [ "$APP_TYPE" != "wallet" ]; then
- WATCH_EXTENSION_DSYM_PATH="buck-out/gen/Telegram/WatchAppExtension#dwarf-and-dsym,no-include-frameworks,watchos-arm64_32,watchos-armv7k/WatchAppExtension.appex.dSYM"
- cp -r "$WATCH_EXTENSION_DSYM_PATH" "$DSYMS_DIR/"
-fi
-
-TEMP_DYLIB_DIR="$TEMP_PATH/SwiftSupport"
-rm -rf "$TEMP_DYLIB_DIR"
-mkdir -p "$TEMP_DYLIB_DIR"
-mkdir -p "$TEMP_DYLIB_DIR/out"
-
-if [ "$APP_TYPE" == "wallet" ]; then
- EXECUTABLE_NAME="Wallet"
-else
- EXECUTABLE_NAME="Telegram"
-fi
-
-XCODE_PATH="$(xcode-select -p)"
-TOOLCHAIN_PATH="$XCODE_PATH/Toolchains/XcodeDefault.xctoolchain"
-
-if [ -f "$TOOLCHAIN_PATH/usr/lib/swift/iphoneos/libswiftCore.dylib" ]; then
- SOURCE_LIBRARIES_PATH="$TOOLCHAIN_PATH/usr/lib/swift/iphoneos"
-else
- SOURCE_LIBRARIES_PATH="$TOOLCHAIN_PATH/usr/lib/swift-5.0/iphoneos"
-fi
-
-echo "Copying swift support files..."
-xcrun swift-stdlib-tool \
- --copy \
- --strip-bitcode \
- --platform iphoneos \
- --toolchain "$TOOLCHAIN_PATH" \
- --source-libraries "$SOURCE_LIBRARIES_PATH" \
- --scan-executable "$APP_PATH/$EXECUTABLE_NAME" \
- --scan-folder "$APP_PATH/Frameworks" \
- --scan-folder "$APP_PATH/PlugIns" \
- --destination "$TEMP_DYLIB_DIR"
-
-for dylib in "$TEMP_DYLIB_DIR"/*.dylib; do
- FILE_NAME=$(basename "$dylib")
- lipo -extract armv7 "$dylib" -output "$dylib.armv7"
- lipo -extract arm64 "$dylib" -output "$dylib.arm64"
- lipo "$dylib.armv7" "$dylib.arm64" -create -output "$dylib.unstripped"
- if [ "$PACKAGE_METHOD" == "enterprise" ]; then
- xcrun strip -ST -o "$TEMP_DYLIB_DIR/out/$FILE_NAME" - "$dylib.unstripped" 2>/dev/null
- xcrun bitcode_strip -r "$TEMP_DYLIB_DIR/out/$FILE_NAME" -o "$TEMP_DYLIB_DIR/out/$FILE_NAME" 1>/dev/null
- else
- cp "$dylib.unstripped" "$TEMP_DYLIB_DIR/out/$FILE_NAME"
- fi
-done
-
-cp "$TEMP_DYLIB_DIR/out/"*.dylib "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos/"
-cp "$IPA_PATH.original.unpacked/SwiftSupport/iphoneos/"*.dylib "$FRAMEWORKS_DIR/"
-
-REMOVE_ARCHS="armv7s arm64e"
-
-for framework in "$FRAMEWORKS_DIR"/*; do
- if [[ "$framework" == *.framework || "$framework" == *.dylib ]]; then
- if [[ "$framework" == *.framework ]]; then
- FRAMEWORK_NAME=$(basename "$framework" | sed -e 's/\.framework//')
- for ARCH in $REMOVE_ARCHS; do
- lipo -remove "$ARCH" "$framework/$FRAMEWORK_NAME" -o "$framework/$FRAMEWORK_NAME" 2>/dev/null || true
- done
- xcrun bitcode_strip -r "$framework/$FRAMEWORK_NAME" -o "$framework/$FRAMEWORK_NAME" 1>/dev/null
- xcrun strip -S -T -x "$framework/$FRAMEWORK_NAME" 1>/dev/null
- /usr/bin/codesign ${VERBOSE} ${KEYCHAIN_FLAG} -f -s "$COMMON_IDENTITY_HASH" "$framework" 1>/dev/null
- else
- /usr/bin/codesign ${VERBOSE} ${KEYCHAIN_FLAG} -f -s "$COMMON_IDENTITY_HASH" "$framework" 1>/dev/null
- fi
- fi
-done
-
-echo "Signing..."
-
-if [ "$APP_TYPE" == "wallet" ]; then
- PLUGINS=""
-else
- PLUGINS="Share Widget Intents NotificationService NotificationContent"
-fi
-
-for PLUGIN in $PLUGINS; do
- PLUGIN_PATH="$APP_PATH/PlugIns/${PLUGIN}Extension.appex"
- if [ ! -d "$PLUGIN_PATH" ]; then
- echo "Directory at $PLUGIN_PATH does not exist"
- exit 1
- fi
- PROFILE_PATH_VAR="PROFILE_PATH_EXTENSION_$PLUGIN"
- if [ -z "${!PROFILE_PATH_VAR}" ]; then
- echo "$PROFILE_PATH_VAR is not defined"
- exit 1
- fi
- if [ ! -f "${!PROFILE_PATH_VAR}" ]; then
- echo "${!PROFILE_PATH_VAR} does not exist"
- exit 1
- fi
- ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_EXTENSION_$PLUGIN"
- if [ -z "${!ENTITLEMENTS_PATH_VAR}" ]; then
- echo "$ENTITLEMENTS_PATH_VAR is not defined"
- exit 1
- fi
- if [ ! -f "${!ENTITLEMENTS_PATH_VAR}" ]; then
- echo "${!ENTITLEMENTS_PATH_VAR} does not exist"
- exit 1
- fi
- cp "${!PROFILE_PATH_VAR}" "$PLUGIN_PATH/embedded.mobileprovision"
- /usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!ENTITLEMENTS_PATH_VAR}" "$PLUGIN_PATH"
-done
-
-if [ "$APP_TYPE" != "wallet" ]; then
- WATCH_APP_PATH="$APP_PATH/Watch/WatchApp.app"
- WATCH_EXTENSION_PATH="$WATCH_APP_PATH/PlugIns/WatchAppExtension.appex"
-
- WATCH_EXTENSION_PROFILE_PATH_VAR="PROFILE_PATH_WATCH_EXTENSION"
- if [ -z "${!WATCH_EXTENSION_PROFILE_PATH_VAR}" ]; then
- echo "$WATCH_EXTENSION_PROFILE_PATH_VAR is not defined"
- exit 1
- fi
- if [ ! -f "${!WATCH_EXTENSION_PROFILE_PATH_VAR}" ]; then
- echo "${!WATCH_EXTENSION_PROFILE_PATH_VAR} does not exist"
- exit 1
- fi
- WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_WATCH_EXTENSION"
- if [ -z "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR}" ]; then
- echo "$WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR is not defined"
- exit 1
- fi
- if [ ! -f "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR}" ]; then
- echo "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR} does not exist"
- exit 1
- fi
-
- cp "${!WATCH_EXTENSION_PROFILE_PATH_VAR}" "$WATCH_EXTENSION_PATH/embedded.mobileprovision"
- /usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!WATCH_EXTENSION_ENTITLEMENTS_PATH_VAR}" "$WATCH_EXTENSION_PATH" 2>/dev/null
-
- WATCH_APP_PROFILE_PATH_VAR="PROFILE_PATH_WATCH_APP"
- if [ -z "${!WATCH_APP_PROFILE_PATH_VAR}" ]; then
- echo "$WATCH_APP_PROFILE_PATH_VAR is not defined"
- exit 1
- fi
- if [ ! -f "${!WATCH_APP_PROFILE_PATH_VAR}" ]; then
- echo "${!WATCH_APP_PROFILE_PATH_VAR} does not exist"
- exit 1
- fi
- WATCH_APP_ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_WATCH_APP"
- if [ -z "${!WATCH_APP_ENTITLEMENTS_PATH_VAR}" ]; then
- echo "$WATCH_APP_ENTITLEMENTS_PATH_VAR is not defined"
- exit 1
- fi
- if [ ! -f "${!WATCH_APP_ENTITLEMENTS_PATH_VAR}" ]; then
- echo "${!WATCH_APP_ENTITLEMENTS_PATH_VAR} does not exist"
- exit 1
- fi
-
- cp "${!WATCH_APP_PROFILE_PATH_VAR}" "$WATCH_APP_PATH/embedded.mobileprovision"
- /usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!WATCH_APP_ENTITLEMENTS_PATH_VAR}" "$WATCH_APP_PATH" 2>/dev/null
-fi
-
-APP_PROFILE_PATH_VAR="PROFILE_PATH_APP"
-if [ -z "${!APP_PROFILE_PATH_VAR}" ]; then
- echo "$APP_PROFILE_PATH_VAR is not defined"
- exit 1
-fi
-if [ ! -f "${!APP_PROFILE_PATH_VAR}" ]; then
- echo "${!APP_PROFILE_PATH_VAR} does not exist"
- exit 1
-fi
-APP_ENTITLEMENTS_PATH_VAR="ENTITLEMENTS_PATH_APP"
-if [ -z "${!APP_ENTITLEMENTS_PATH_VAR}" ]; then
- echo "$APP_ENTITLEMENTS_PATH_VAR is not defined"
- exit 1
-fi
-if [ ! -f "${!APP_ENTITLEMENTS_PATH_VAR}" ]; then
- echo "${!APP_ENTITLEMENTS_PATH_VAR} does not exist"
- exit 1
-fi
-
-cp "${!APP_PROFILE_PATH_VAR}" "$APP_PATH/embedded.mobileprovision"
-/usr/bin/codesign ${VERBOSE} -f -s "$COMMON_IDENTITY_HASH" --entitlements "${!APP_ENTITLEMENTS_PATH_VAR}" "$APP_PATH"
-
-DIR=$(pwd)
-
-cd "$UNPACKED_PATH"
-if [ "$PACKAGE_METHOD" == "appstore" ]; then
- zip -r "../${APP_NAME}_signed.ipa" Payload SwiftSupport WatchKitSupport2 1>/dev/null
-elif [ "$PACKAGE_METHOD" == "enterprise" ]; then
- zip -r "../${APP_NAME}_signed.ipa" Payload 1>/dev/null
-fi
-cd "$DIR"
-
-cd "$BUILD_PATH"
-zip -r "$DSYMS_FOLDER_NAME.zip" "$DSYMS_FOLDER_NAME" 1>/dev/null
-
-cd "$DIR"
-
-echo "Done"
\ No newline at end of file
diff --git a/submodules/DeviceProximity/BUILD b/submodules/DeviceProximity/BUILD
index 243c604641..ed246353de 100644
--- a/submodules/DeviceProximity/BUILD
+++ b/submodules/DeviceProximity/BUILD
@@ -5,6 +5,7 @@ objc_library(
module_name = "DeviceProximity",
srcs = glob([
"Sources/*.m",
+ "Sources/*.h",
]),
hdrs = glob([
"PublicHeaders/**/*.h",
diff --git a/submodules/TelegramCore/Sources/AccountIntermediateState.swift b/submodules/TelegramCore/Sources/AccountIntermediateState.swift
index 6bfa5208fc..53a8891e78 100644
--- a/submodules/TelegramCore/Sources/AccountIntermediateState.swift
+++ b/submodules/TelegramCore/Sources/AccountIntermediateState.swift
@@ -599,6 +599,7 @@ struct AccountFinalState {
var state: AccountMutableState
var shouldPoll: Bool
var incomplete: Bool
+ var missingUpdatesFromChannels: Set
var discard: Bool
}
diff --git a/submodules/TelegramCore/Sources/AccountStateManagementUtils.swift b/submodules/TelegramCore/Sources/AccountStateManagementUtils.swift
index 6148122312..1f2e6e89d2 100644
--- a/submodules/TelegramCore/Sources/AccountStateManagementUtils.swift
+++ b/submodules/TelegramCore/Sources/AccountStateManagementUtils.swift
@@ -417,6 +417,19 @@ private func initialStateWithPeerIds(_ transaction: Transaction, peerIds: Set Signal {
@@ -778,6 +791,8 @@ private func finalStateWithUpdatesAndServerTime(postbox: Postbox, network: Netwo
channelsToPoll.formUnion(updatedState.initialState.channelsToPollExplicitely)
}
+ var missingUpdatesFromChannels = Set()
+
for update in sortedUpdates(updates) {
switch update {
case let .updateChannelTooLong(_, channelId, channelPts):
@@ -798,10 +813,9 @@ private func finalStateWithUpdatesAndServerTime(postbox: Postbox, network: Netwo
updatedState.deleteMessages(messages.map({ MessageId(peerId: peerId, namespace: Namespaces.Message.Cloud, id: $0) }))
updatedState.updateChannelState(peerId, pts: pts)
} else {
- if !channelsToPoll.contains(peerId) {
- Logger.shared.log("State", "channel \(peerId) (\((updatedState.peers[peerId] as? TelegramChannel)?.title ?? "nil")) delete pts hole")
- channelsToPoll.insert(peerId)
- //updatedMissingUpdates = true
+ if !missingUpdatesFromChannels.contains(peerId) {
+ Logger.shared.log("State", "channel \(peerId) (\((updatedState.peers[peerId] as? TelegramChannel)?.title ?? "nil")) delete pts hole \(previousState.pts) + \(ptsCount) != \(pts)")
+ missingUpdatesFromChannels.insert(peerId)
}
}
} else {
@@ -827,10 +841,9 @@ private func finalStateWithUpdatesAndServerTime(postbox: Postbox, network: Netwo
updatedState.editMessage(messageId, message: message.withUpdatedAttributes(attributes))
updatedState.updateChannelState(peerId, pts: pts)
} else {
- if !channelsToPoll.contains(peerId) {
- Logger.shared.log("State", "channel \(peerId) (\((updatedState.peers[peerId] as? TelegramChannel)?.title ?? "nil")) edit message pts hole")
- channelsToPoll.insert(peerId)
- //updatedMissingUpdates = true
+ if !missingUpdatesFromChannels.contains(peerId) {
+ Logger.shared.log("State", "channel \(peerId) (\((updatedState.peers[peerId] as? TelegramChannel)?.title ?? "nil")) edit message pts hole \(previousState.pts) + \(ptsCount) != \(pts)")
+ missingUpdatesFromChannels.insert(peerId)
}
}
} else {
@@ -859,7 +872,7 @@ private func finalStateWithUpdatesAndServerTime(postbox: Postbox, network: Netwo
updatedState.updateChannelState(peerId, pts: pts)
} else {
if !channelsToPoll.contains(peerId) {
- Logger.shared.log("State", "channel \(peerId) (\((updatedState.peers[peerId] as? TelegramChannel)?.title ?? "nil")) updateWebPage pts hole")
+ Logger.shared.log("State", "channel \(peerId) (\((updatedState.peers[peerId] as? TelegramChannel)?.title ?? "nil")) updateWebPage pts hole \(previousState.pts) + \(ptsCount) != \(pts)")
channelsToPoll.insert(peerId)
}
}
@@ -919,11 +932,10 @@ private func finalStateWithUpdatesAndServerTime(postbox: Postbox, network: Netwo
updatedState.updateChannelSynchronizedUntilMessage(id.peerId, id: id.id)
}
} else {
- if !channelsToPoll.contains(message.id.peerId) {
- Logger.shared.log("State", "channel \(message.id.peerId) (\((updatedState.peers[message.id.peerId] as? TelegramChannel)?.title ?? "nil")) message pts hole")
+ if !missingUpdatesFromChannels.contains(message.id.peerId) {
+ Logger.shared.log("State", "channel \(message.id.peerId) (\((updatedState.peers[message.id.peerId] as? TelegramChannel)?.title ?? "nil")) message pts hole \(previousState.pts) + \(ptsCount) != \(pts)")
;
- channelsToPoll.insert(message.id.peerId)
- //updatedMissingUpdates = true
+ missingUpdatesFromChannels.insert(message.id.peerId)
}
}
} else {
@@ -1134,10 +1146,9 @@ private func finalStateWithUpdatesAndServerTime(postbox: Postbox, network: Netwo
}, pinned: (flags & (1 << 0)) != 0)
updatedState.updateChannelState(peerId, pts: pts)
} else {
- if !channelsToPoll.contains(peerId) {
- Logger.shared.log("State", "channel \(peerId) (\((updatedState.peers[peerId] as? TelegramChannel)?.title ?? "nil")) pinned messages pts hole")
- channelsToPoll.insert(peerId)
- //updatedMissingUpdates = true
+ if !missingUpdatesFromChannels.contains(peerId) {
+ Logger.shared.log("State", "channel \(peerId) (\((updatedState.peers[peerId] as? TelegramChannel)?.title ?? "nil")) pinned messages pts hole \(previousState.pts) + \(ptsCount) != \(pts)")
+ missingUpdatesFromChannels.insert(peerId)
}
}
} else {
@@ -1417,7 +1428,7 @@ private func finalStateWithUpdatesAndServerTime(postbox: Postbox, network: Netwo
pollChannelSignals = []
}
} else {
- for peerId in channelsToPoll {
+ for peerId in channelsToPoll.union(missingUpdatesFromChannels) {
if let peer = updatedState.peers[peerId] {
pollChannelSignals.append(pollChannel(network: network, peer: peer, state: updatedState.branch()))
} else {
@@ -1445,7 +1456,7 @@ private func finalStateWithUpdatesAndServerTime(postbox: Postbox, network: Netwo
|> mapToSignal { resultingState -> Signal in
return resolveMissingPeerChatInfos(network: network, state: resultingState)
|> map { resultingState, resolveError -> AccountFinalState in
- return AccountFinalState(state: resultingState, shouldPoll: shouldPoll || hadError || resolveError, incomplete: missingUpdates, discard: resolveError)
+ return AccountFinalState(state: resultingState, shouldPoll: shouldPoll || hadError || resolveError, incomplete: missingUpdates, missingUpdatesFromChannels: Set(), discard: resolveError)
}
}
}
@@ -1671,7 +1682,7 @@ func keepPollingChannel(postbox: Postbox, network: Network, peerId: PeerId, stat
|> mapToSignal { resultingState -> Signal in
return resolveMissingPeerChatInfos(network: network, state: resultingState)
|> map { resultingState, _ -> AccountFinalState in
- return AccountFinalState(state: resultingState, shouldPoll: false, incomplete: false, discard: false)
+ return AccountFinalState(state: resultingState, shouldPoll: false, incomplete: false, missingUpdatesFromChannels: Set(), discard: false)
}
}
|> mapToSignal { finalState -> Signal in
@@ -1860,11 +1871,7 @@ private func resetChannels(network: Network, peers: [Peer], state: AccountMutabl
private func pollChannel(network: Network, peer: Peer, state: AccountMutableState) -> Signal<(AccountMutableState, Bool, Int32?), NoError> {
if let inputChannel = apiInputChannel(peer) {
let limit: Int32
- #if DEBUG
- limit = 1
- #else
- limit = 20
- #endif
+ limit = 100
let pollPts: Int32
if let channelState = state.channelStates[peer.id] {
@@ -2108,16 +2115,6 @@ private func verifyTransaction(_ transaction: Transaction, finalState: AccountMu
return !failed
}
-private enum ReplayFinalStateIncomplete {
- case MoreDataNeeded
- case PollRequired
-}
-
-private enum ReplayFinalStateResult {
- case Completed
- case Incomplete(ReplayFinalStateIncomplete)
-}
-
private final class OptimizeAddMessagesState {
var messages: [StoreMessage]
var location: AddMessagesLocation
diff --git a/submodules/TelegramCore/Sources/AccountStateManager.swift b/submodules/TelegramCore/Sources/AccountStateManager.swift
index 00def9e4fb..94a7e191a0 100644
--- a/submodules/TelegramCore/Sources/AccountStateManager.swift
+++ b/submodules/TelegramCore/Sources/AccountStateManager.swift
@@ -605,7 +605,7 @@ public final class AccountStateManager {
if !events.isEmpty {
strongSelf.insertProcessEvents(events)
}
- if finalState.incomplete {
+ if finalState.incomplete || !finalState.missingUpdatesFromChannels.isEmpty {
strongSelf.addOperation(.collectUpdateGroups(groups, 2.0), position: .last)
}
} else {
@@ -622,9 +622,6 @@ public final class AccountStateManager {
assertionFailure()
}
}
- }, error: { _ in
- assertionFailure()
- Logger.shared.log("AccountStateManager", "processUpdateGroups signal completed with error")
})
case let .custom(operationId, signal):
self.operationTimer?.invalidate()
diff --git a/submodules/TelegramCore/Sources/SynchronizePeerReadState.swift b/submodules/TelegramCore/Sources/SynchronizePeerReadState.swift
index ec2773ead4..6d745cb599 100644
--- a/submodules/TelegramCore/Sources/SynchronizePeerReadState.swift
+++ b/submodules/TelegramCore/Sources/SynchronizePeerReadState.swift
@@ -60,7 +60,7 @@ private func dialogTopMessage(network: Network, postbox: Postbox, peerId: PeerId
if let message = apiMessages.first, let timestamp = message.timestamp {
return .single((message.rawId, timestamp))
} else {
- return .fail(.retry)
+ return .single(nil)
}
}
}
@@ -333,7 +333,7 @@ private func pushPeerReadState(network: Network, postbox: Postbox, stateManager:
return stateManager.addCustomOperation(postbox.transaction { transaction -> PeerReadStateValidationError? in
if let readStates = transaction.getPeerReadStates(peerId) {
for (namespace, currentReadState) in readStates where namespace == namespaceAndReadState.0 {
- if currentReadState == namespaceAndReadState.1 {
+ if currentReadState.count == namespaceAndReadState.1.count {
transaction.confirmSynchronizedIncomingReadState(peerId)
return nil
}
diff --git a/submodules/TgVoip/BUILD b/submodules/TgVoip/BUILD
index 4f6632ff94..f0056d5b9c 100644
--- a/submodules/TgVoip/BUILD
+++ b/submodules/TgVoip/BUILD
@@ -28,14 +28,20 @@ objc_library(
"Sources/**/*.m",
"Sources/**/*.mm",
"Sources/**/*.h",
+ "libtgvoip/*.h",
+ "libtgvoip/*.hpp",
"libtgvoip/*.m",
"libtgvoip/*.mm",
"libtgvoip/*.cpp",
+ "libtgvoip/audio/*.h",
"libtgvoip/audio/*.cpp",
+ "libtgvoip/video/*.h",
"libtgvoip/video/*.cpp",
+ "libtgvoip/os/darwin/*.h",
"libtgvoip/os/darwin/*.m",
"libtgvoip/os/darwin/*.mm",
"libtgvoip/os/darwin/*.cpp",
+ "libtgvoip/os/posix/*.h",
"libtgvoip/os/posix/*.cpp",
], exclude = ["libtgvoip/os/darwin/*OSX*"]),
hdrs = glob([
diff --git a/third-party/mozjpeg/BUILD b/third-party/mozjpeg/BUILD
index ce7752f959..f71d702e7d 100644
--- a/third-party/mozjpeg/BUILD
+++ b/third-party/mozjpeg/BUILD
@@ -84,7 +84,7 @@ objc_library(
name = "mozjpeg",
module_name = "mozjpeg",
enable_modules = True,
- hdrs = [":Public/mozjpeg/" + x for x in headers],
+ hdrs = [":Public/mozjpeg/" + x for x in headers] + [":Public/mozjpeg/jconfig.h"],
includes = [
"Public",
"Public/mozjpeg",
diff --git a/third-party/webrtc/BUILD b/third-party/webrtc/BUILD
index ea6c4ecadd..6ffa5c5ba0 100644
--- a/third-party/webrtc/BUILD
+++ b/third-party/webrtc/BUILD
@@ -1,90 +1,16 @@
-use_gn_build = False
-webrtc_libs = [
- "libwebrtc.a",
-]
-
-filegroup(
- name = "webrtc_sources",
- srcs = glob([
- "webrtc-ios/**/*"
- ], exclude = [
- "**/.git/**",
- ]),
-)
-
-genrule(
- name = "webrtc_build",
- srcs = [
- "build-webrtc-bazel.sh",
- ":webrtc_sources",
- "//third-party:depot_tools_sources",
- "//submodules/openssl:openssl_include",
- "//submodules/openssl:libcrypto.a",
- "//submodules/openssl:libssl.a",
- ],
- cmd_bash =
- """
- OUT_DIR="ios"
- if [ "$(TARGET_CPU)" == "ios_armv7" ]; then
- BUILD_ARCH="arm"
- elif [ "$(TARGET_CPU)" == "ios_arm64" ]; then
- BUILD_ARCH="arm64"
- elif [ "$(TARGET_CPU)" == "ios_x86_64" ]; then
- BUILD_ARCH="x64"
- OUT_DIR="ios_sim"
- else
- echo "Unsupported architecture $(TARGET_CPU)"
- fi
- BUILD_DIR="$(RULEDIR)/$$BUILD_ARCH"
- rm -rf "$$BUILD_DIR"
- mkdir -p "$$BUILD_DIR"
-
- SOURCE_PATH="third-party/webrtc/webrtc-ios/src"
-
- rsync -aqW "$$SOURCE_PATH" "$$BUILD_DIR/"
- #cp -R "$$SOURCE_PATH" "$$BUILD_DIR/"
-
- DEPOT_TOOLS_PATH="third-party/depot_tools"
-
- rm -rf "$$BUILD_DIR/depot_tools"
- cp -R "$$DEPOT_TOOLS_PATH" "$$BUILD_DIR/"
-
- rm -rf "$$BUILD_DIR/openssl"
- mkdir -p "$$BUILD_DIR/openssl/include/openssl"
- for f in $(locations //submodules/openssl:openssl_include); do
- cp -f "$$f" "$$BUILD_DIR/openssl/include/openssl/"
- done
-
- mkdir -p "$$BUILD_DIR/openssl/lib"
- cp -f "$(location //submodules/openssl:libcrypto.a)" "$$BUILD_DIR/openssl/"
- cp -f "$(location //submodules/openssl:libssl.a)" "$$BUILD_DIR/openssl/"
-
- rm -f "$$BUILD_DIR/build-webrtc-bazel.sh"
- cp $(location build-webrtc-bazel.sh) "$$BUILD_DIR/"
-
- sh $$BUILD_DIR/build-webrtc-bazel.sh "$$BUILD_DIR" $$BUILD_ARCH
- """ + "\n".join([
- "cp -f $$BUILD_DIR/src/out/$$OUT_DIR/obj/sdk/libframework_objc_static.a $(location {lib})".format(lib=lib) for lib in webrtc_libs
- ]),
- outs = webrtc_libs,
- visibility = ["//visibility:public",]
-)
-
-cc_library(
- name = "webrtc_lib_gn" if not use_gn_build else "webrtc_lib",
- srcs = [":" + x for x in webrtc_libs],
- visibility = ["//visibility:public"],
-)
-
-rnnoice_sources = [
+rnnoise_sources = [
"third_party/rnnoise/src/rnn_vad_weights.cc",
+ "third_party/rnnoise/src/rnn_vad_weights.h",
+ "third_party/rnnoise/src/rnn_activations.h",
]
-pffft_sources = [
- "third_party/pffft/src/fftpack.c",
- "third_party/pffft/src/pffft.c",
-]
+pffft_sources = [ "third_party/pffft/src/" + x for x in [
+ "fftpack.c",
+ "pffft.c",
+ "pffft.h",
+ "fftpack.h",
+]]
libvpx_source = [
"third_party/libvpx/source/libvpx/args.c",
@@ -276,123 +202,435 @@ libvpx_source = [
"third_party/libvpx/source/libvpx/y4minput.c",
]
-absl_sources = [
- "third_party/abseil-cpp/absl/base/dynamic_annotations.cc",
- "third_party/abseil-cpp/absl/base/internal/cycleclock.cc",
- #"third_party/abseil-cpp/absl/base/internal/exception_safety_testing.cc",
- "third_party/abseil-cpp/absl/base/internal/exponential_biased.cc",
- "third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc",
- "third_party/abseil-cpp/absl/base/internal/periodic_sampler.cc",
- "third_party/abseil-cpp/absl/base/internal/raw_logging.cc",
- "third_party/abseil-cpp/absl/base/internal/scoped_set_env.cc",
- "third_party/abseil-cpp/absl/base/internal/spinlock.cc",
- "third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc",
- "third_party/abseil-cpp/absl/base/internal/strerror.cc",
- "third_party/abseil-cpp/absl/base/internal/sysinfo.cc",
- "third_party/abseil-cpp/absl/base/internal/thread_identity.cc",
- "third_party/abseil-cpp/absl/base/internal/throw_delegate.cc",
- "third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc",
- "third_party/abseil-cpp/absl/base/log_severity.cc",
- "third_party/abseil-cpp/absl/container/internal/hash_generator_testing.cc",
- "third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc",
- "third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc",
- "third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc",
- "third_party/abseil-cpp/absl/container/internal/test_instance_tracker.cc",
- "third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc",
- "third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc",
- "third_party/abseil-cpp/absl/debugging/internal/demangle.cc",
- "third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc",
- "third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc",
- "third_party/abseil-cpp/absl/debugging/internal/stack_consumption.cc",
- "third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc",
- "third_party/abseil-cpp/absl/debugging/leak_check.cc",
- "third_party/abseil-cpp/absl/debugging/leak_check_disable.cc",
- "third_party/abseil-cpp/absl/debugging/stacktrace.cc",
- "third_party/abseil-cpp/absl/debugging/symbolize.cc",
- "third_party/abseil-cpp/absl/flags/flag.cc",
- "third_party/abseil-cpp/absl/flags/flag_test_defs.cc",
- "third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc",
- "third_party/abseil-cpp/absl/flags/internal/flag.cc",
- "third_party/abseil-cpp/absl/flags/internal/program_name.cc",
- "third_party/abseil-cpp/absl/flags/internal/registry.cc",
- "third_party/abseil-cpp/absl/flags/internal/type_erased.cc",
- "third_party/abseil-cpp/absl/flags/internal/usage.cc",
- "third_party/abseil-cpp/absl/flags/marshalling.cc",
- "third_party/abseil-cpp/absl/flags/parse.cc",
- "third_party/abseil-cpp/absl/flags/usage.cc",
- "third_party/abseil-cpp/absl/flags/usage_config.cc",
- "third_party/abseil-cpp/absl/hash/internal/city.cc",
- "third_party/abseil-cpp/absl/hash/internal/hash.cc",
- "third_party/abseil-cpp/absl/numeric/int128.cc",
- "third_party/abseil-cpp/absl/random/discrete_distribution.cc",
- "third_party/abseil-cpp/absl/random/gaussian_distribution.cc",
- "third_party/abseil-cpp/absl/random/internal/chi_square.cc",
- "third_party/abseil-cpp/absl/random/internal/distribution_test_util.cc",
- "third_party/abseil-cpp/absl/random/internal/nanobenchmark.cc",
- "third_party/abseil-cpp/absl/random/internal/pool_urbg.cc",
- "third_party/abseil-cpp/absl/random/internal/randen.cc",
- "third_party/abseil-cpp/absl/random/internal/randen_detect.cc",
- "third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc",
- "third_party/abseil-cpp/absl/random/internal/randen_slow.cc",
- "third_party/abseil-cpp/absl/random/internal/seed_material.cc",
- "third_party/abseil-cpp/absl/random/seed_gen_exception.cc",
- "third_party/abseil-cpp/absl/random/seed_sequences.cc",
- "third_party/abseil-cpp/absl/status/status.cc",
- "third_party/abseil-cpp/absl/status/status_payload_printer.cc",
- "third_party/abseil-cpp/absl/strings/ascii.cc",
- "third_party/abseil-cpp/absl/strings/charconv.cc",
- "third_party/abseil-cpp/absl/strings/cord.cc",
- "third_party/abseil-cpp/absl/strings/escaping.cc",
- "third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc",
- "third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc",
- "third_party/abseil-cpp/absl/strings/internal/escaping.cc",
- "third_party/abseil-cpp/absl/strings/internal/memutil.cc",
- "third_party/abseil-cpp/absl/strings/internal/ostringstream.cc",
- "third_party/abseil-cpp/absl/strings/internal/pow10_helper.cc",
- "third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc",
- "third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc",
- "third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc",
- "third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc",
- "third_party/abseil-cpp/absl/strings/internal/str_format/output.cc",
- "third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc",
- "third_party/abseil-cpp/absl/strings/internal/utf8.cc",
- "third_party/abseil-cpp/absl/strings/match.cc",
- "third_party/abseil-cpp/absl/strings/numbers.cc",
- "third_party/abseil-cpp/absl/strings/str_cat.cc",
- "third_party/abseil-cpp/absl/strings/str_replace.cc",
- "third_party/abseil-cpp/absl/strings/str_split.cc",
- "third_party/abseil-cpp/absl/strings/string_view.cc",
- "third_party/abseil-cpp/absl/strings/substitute.cc",
- "third_party/abseil-cpp/absl/synchronization/barrier.cc",
- "third_party/abseil-cpp/absl/synchronization/blocking_counter.cc",
- "third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc",
- "third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc",
- "third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc",
- "third_party/abseil-cpp/absl/synchronization/internal/waiter.cc",
- "third_party/abseil-cpp/absl/synchronization/mutex.cc",
- "third_party/abseil-cpp/absl/synchronization/notification.cc",
- "third_party/abseil-cpp/absl/time/civil_time.cc",
- "third_party/abseil-cpp/absl/time/clock.cc",
- "third_party/abseil-cpp/absl/time/duration.cc",
- "third_party/abseil-cpp/absl/time/format.cc",
- "third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc",
- "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc",
- "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc",
- "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc",
- "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc",
- "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc",
- "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc",
- "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc",
- "third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc",
- "third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc",
- "third_party/abseil-cpp/absl/time/internal/test_util.cc",
- "third_party/abseil-cpp/absl/time/time.cc",
- "third_party/abseil-cpp/absl/types/bad_any_cast.cc",
- "third_party/abseil-cpp/absl/types/bad_optional_access.cc",
- "third_party/abseil-cpp/absl/types/bad_variant_access.cc",
-]
+absl_sources = [ "third_party/abseil-cpp/" + x for x in [
+ "absl/container/internal/layout.h",
+ "absl/container/internal/hashtable_debug_hooks.h",
+ "absl/strings/internal/cord_internal.h",
+ "absl/base/internal/inline_variable.h",
+ "absl/base/dynamic_annotations.cc",
+ "absl/base/internal/cycleclock.cc",
+ "absl/base/internal/exponential_biased.cc",
+ "absl/base/internal/low_level_alloc.cc",
+ "absl/base/internal/periodic_sampler.cc",
+ "absl/base/internal/raw_logging.cc",
+ "absl/base/internal/scoped_set_env.cc",
+ "absl/base/internal/spinlock.cc",
+ "absl/base/internal/spinlock_wait.cc",
+ "absl/base/internal/strerror.cc",
+ "absl/base/internal/sysinfo.cc",
+ "absl/base/internal/thread_identity.cc",
+ "absl/base/internal/throw_delegate.cc",
+ "absl/base/internal/unscaledcycleclock.cc",
+ "absl/base/log_severity.cc",
+ "absl/base/config.h",
+ "absl/container/internal/hash_generator_testing.cc",
+ "absl/container/internal/hashtablez_sampler.cc",
+ "absl/container/internal/hashtablez_sampler_force_weak_definition.cc",
+ "absl/container/internal/raw_hash_set.cc",
+ "absl/container/internal/test_instance_tracker.cc",
+ "absl/debugging/failure_signal_handler.cc",
+ "absl/debugging/internal/address_is_readable.cc",
+ "absl/debugging/internal/demangle.cc",
+ "absl/debugging/internal/elf_mem_image.cc",
+ "absl/debugging/internal/examine_stack.cc",
+ "absl/debugging/internal/stack_consumption.cc",
+ "absl/debugging/internal/vdso_support.cc",
+ "absl/debugging/leak_check.cc",
+ "absl/debugging/leak_check_disable.cc",
+ "absl/debugging/stacktrace.cc",
+ "absl/debugging/symbolize.cc",
+ "absl/flags/flag.cc",
+ "absl/flags/flag_test_defs.cc",
+ "absl/flags/internal/commandlineflag.cc",
+ "absl/flags/internal/flag.cc",
+ "absl/flags/internal/program_name.cc",
+ "absl/flags/internal/registry.cc",
+ "absl/flags/internal/type_erased.cc",
+ "absl/flags/internal/usage.cc",
+ "absl/flags/marshalling.cc",
+ "absl/flags/parse.cc",
+ "absl/flags/usage.cc",
+ "absl/flags/usage_config.cc",
+ "absl/hash/internal/city.cc",
+ "absl/hash/internal/hash.cc",
+ "absl/numeric/int128.cc",
+ "absl/random/discrete_distribution.cc",
+ "absl/random/gaussian_distribution.cc",
+ "absl/random/internal/chi_square.cc",
+ "absl/random/internal/distribution_test_util.cc",
+ "absl/random/internal/nanobenchmark.cc",
+ "absl/random/internal/pool_urbg.cc",
+ "absl/random/internal/randen.cc",
+ "absl/random/internal/randen_detect.cc",
+ "absl/random/internal/randen_hwaes.cc",
+ "absl/random/internal/randen_slow.cc",
+ "absl/random/internal/seed_material.cc",
+ "absl/random/seed_gen_exception.cc",
+ "absl/random/seed_sequences.cc",
+ "absl/status/status.cc",
+ "absl/status/status_payload_printer.cc",
+ "absl/strings/ascii.cc",
+ "absl/strings/charconv.cc",
+ "absl/strings/cord.cc",
+ "absl/strings/escaping.cc",
+ "absl/strings/internal/charconv_bigint.cc",
+ "absl/strings/internal/charconv_parse.cc",
+ "absl/strings/internal/escaping.cc",
+ "absl/strings/internal/memutil.cc",
+ "absl/strings/internal/ostringstream.cc",
+ "absl/strings/internal/pow10_helper.cc",
+ "absl/strings/internal/str_format/arg.cc",
+ "absl/strings/internal/str_format/bind.cc",
+ "absl/strings/internal/str_format/extension.cc",
+ "absl/strings/internal/str_format/float_conversion.cc",
+ "absl/strings/internal/str_format/output.cc",
+ "absl/strings/internal/str_format/parser.cc",
+ "absl/strings/internal/utf8.cc",
+ "absl/strings/match.cc",
+ "absl/strings/numbers.cc",
+ "absl/strings/str_cat.cc",
+ "absl/strings/str_replace.cc",
+ "absl/strings/str_split.cc",
+ "absl/strings/string_view.cc",
+ "absl/strings/substitute.cc",
+ "absl/synchronization/barrier.cc",
+ "absl/synchronization/blocking_counter.cc",
+ "absl/synchronization/internal/create_thread_identity.cc",
+ "absl/synchronization/internal/graphcycles.cc",
+ "absl/synchronization/internal/per_thread_sem.cc",
+ "absl/synchronization/internal/waiter.cc",
+ "absl/synchronization/mutex.cc",
+ "absl/synchronization/notification.cc",
+ "absl/time/civil_time.cc",
+ "absl/time/clock.cc",
+ "absl/time/duration.cc",
+ "absl/time/format.cc",
+ "absl/time/internal/cctz/src/civil_time_detail.cc",
+ "absl/time/internal/cctz/src/time_zone_fixed.cc",
+ "absl/time/internal/cctz/src/time_zone_fixed.h",
+ "absl/time/internal/cctz/src/time_zone_format.cc",
+ "absl/time/internal/cctz/src/time_zone_if.cc",
+ "absl/time/internal/cctz/src/time_zone_if.h",
+ "absl/time/internal/cctz/src/time_zone_impl.cc",
+ "absl/time/internal/cctz/src/time_zone_impl.h",
+ "absl/time/internal/cctz/src/time_zone_info.cc",
+ "absl/time/internal/cctz/src/time_zone_info.h",
+ "absl/time/internal/cctz/src/time_zone_libc.cc",
+ "absl/time/internal/cctz/src/time_zone_libc.h",
+ "absl/time/internal/cctz/src/time_zone_lookup.cc",
+ "absl/time/internal/cctz/src/time_zone_posix.cc",
+ "absl/time/internal/cctz/src/time_zone_posix.h",
+ "absl/time/internal/cctz/src/zone_info_source.cc",
+ "absl/time/internal/cctz/src/tzfile.h",
+ "absl/time/internal/test_util.cc",
+ "absl/time/time.cc",
+ "absl/types/bad_any_cast.cc",
+ "absl/types/bad_optional_access.cc",
+ "absl/types/bad_variant_access.cc",
+ "absl/meta/type_traits.h",
+ "absl/base/options.h",
+ "absl/base/policy_checks.h",
+ "absl/strings/string_view.h",
+ "absl/base/internal/throw_delegate.h",
+ "absl/base/macros.h",
+ "absl/base/attributes.h",
+ "absl/base/optimization.h",
+ "absl/base/port.h",
+ "absl/types/optional.h",
+ "absl/types/bad_variant_access.h",
+ "absl/types/bad_any_cast.h",
+ "absl/time/internal/test_util.h",
+ "absl/time/internal/cctz/include/cctz/time_zone.h",
+ "absl/synchronization/notification.h",
+ "absl/time/internal/cctz/include/cctz/civil_time_detail.h",
+ "absl/base/casts.h",
+ "absl/time/civil_time.h",
+ "absl/synchronization/blocking_counter.h",
+ "absl/synchronization/barrier.h",
+ "absl/synchronization/mutex.h",
+ "absl/base/internal/low_level_alloc.h",
+ "absl/strings/str_replace.h",
+ "absl/strings/substitute.h",
+ "absl/strings/internal/utf8.h",
+ "absl/strings/numbers.h",
+ "absl/strings/internal/str_format/output.h",
+ "absl/strings/str_cat.h",
+ "absl/strings/internal/ostringstream.h",
+ "absl/strings/internal/escaping.h",
+ "absl/strings/internal/pow10_helper.h",
+ "absl/strings/internal/memutil.h",
+ "absl/strings/internal/str_format/arg.h",
+ "absl/strings/internal/str_format/extension.h",
+ "absl/strings/internal/str_format/bind.h",
+ "absl/strings/ascii.h",
+ "absl/strings/internal/charconv_bigint.h",
+ "absl/strings/escaping.h",
+ "absl/status/status.h",
+ "absl/strings/cord.h",
+ "absl/random/internal/randen_slow.h",
+ "absl/random/internal/randen_detect.h",
+ "absl/random/seed_gen_exception.h",
+ "absl/random/internal/seed_material.h",
+ "absl/random/gaussian_distribution.h",
+ "absl/random/internal/chi_square.h",
+ "absl/random/internal/pool_urbg.h",
+ "absl/random/internal/distribution_test_util.h",
+ "absl/flags/usage.h",
+ "absl/numeric/int128.h",
+ "absl/flags/marshalling.h",
+ "absl/flags/parse.h",
+ "absl/flags/internal/type_erased.h",
+ "absl/flags/internal/commandlineflag.h",
+ "absl/flags/internal/program_name.h",
+ "absl/flags/internal/usage.h",
+ "absl/flags/internal/registry.h",
+ "absl/debugging/internal/vdso_support.h",
+ "absl/debugging/leak_check.h",
+ "absl/debugging/stacktrace.h",
+ "absl/flags/flag.h",
+ "absl/debugging/internal/elf_mem_image.h",
+ "absl/debugging/internal/examine_stack.h",
+ "absl/debugging/internal/demangle.h",
+ "absl/container/internal/test_instance_tracker.h",
+ "absl/debugging/internal/address_is_readable.h",
+ "absl/container/internal/raw_hash_set.h",
+ "absl/debugging/failure_signal_handler.h",
+ "absl/container/internal/hash_generator_testing.h",
+ "absl/base/internal/spinlock_wait.h",
+ "absl/base/log_severity.h",
+ "absl/base/internal/sysinfo.h",
+ "absl/base/internal/scoped_set_env.h",
+ "absl/base/internal/periodic_sampler.h",
+ "absl/base/internal/spinlock.h",
+ "absl/base/internal/raw_logging.h",
+ "absl/base/internal/exponential_biased.h",
+ "absl/base/dynamic_annotations.h",
+ "absl/strings/match.h",
+ "absl/algorithm/container.h",
+ "absl/types/bad_optional_access.h",
+ "absl/time/internal/cctz/include/cctz/zone_info_source.h",
+ "absl/time/time.h",
+ "absl/time/clock.h",
+ "absl/synchronization/internal/waiter.h",
+ "absl/strings/str_split.h",
+ "absl/strings/internal/str_format/float_conversion.h",
+ "absl/strings/internal/charconv_parse.h",
+ "absl/strings/internal/str_format/parser.h",
+ "absl/status/status_payload_printer.h",
+ "absl/random/seed_sequences.h",
+ "absl/strings/charconv.h",
+ "absl/random/internal/randen.h",
+ "absl/random/discrete_distribution.h",
+ "absl/random/internal/randen_hwaes.h",
+ "absl/hash/internal/hash.h",
+ "absl/random/internal/nanobenchmark.h",
+ "absl/hash/internal/city.h",
+ "absl/debugging/symbolize.h",
+ "absl/debugging/internal/stack_consumption.h",
+ "absl/flags/internal/flag.h",
+ "absl/container/internal/hashtablez_sampler.h",
+ "absl/base/internal/unscaledcycleclock.h",
+ "absl/base/internal/thread_identity.h",
+ "absl/base/internal/cycleclock.h",
+ "absl/base/internal/strerror.h",
+ "absl/flags/usage_config.h",
+ "absl/utility/utility.h",
+ "absl/algorithm/algorithm.h",
+ "absl/base/call_once.h",
+ "absl/base/const_init.h",
+ "absl/base/internal/atomic_hook.h",
+ "absl/base/internal/bits.h",
+ "absl/base/internal/endian.h",
+ "absl/base/internal/errno_saver.h",
+ "absl/base/internal/fast_type_id.h",
+ "absl/base/internal/identity.h",
+ "absl/base/internal/low_level_scheduling.h",
+ "absl/base/internal/per_thread_tls.h",
+ "absl/base/thread_annotations.h",
+ "absl/container/inlined_vector.h",
+ "absl/container/internal/hash_policy_testing.h",
+ "absl/debugging/internal/stacktrace_config.h",
+ "absl/debugging/internal/symbolize.h",
+ "absl/flags/declare.h",
+ "absl/flags/internal/parse.h",
+ "absl/memory/memory.h",
+ "absl/numeric/int128_have_intrinsic.inc",
+ "absl/random/bernoulli_distribution.h",
+ "absl/random/internal/fast_uniform_bits.h",
+ "absl/random/internal/platform.h",
+ "absl/random/internal/salted_seed_seq.h",
+ "absl/random/internal/traits.h",
+ "absl/strings/internal/str_format/checker.h",
+ "absl/strings/str_join.h",
+ "absl/synchronization/internal/graphcycles.h",
+ "absl/time/internal/cctz/include/cctz/civil_time.h",
+ "absl/types/compare.h",
+ "absl/types/span.h",
+ "absl/base/internal/invoke.h",
+ "absl/base/internal/hide_ptr.h",
+ "absl/base/internal/scheduling_mode.h",
+ "absl/base/internal/tsan_mutex_interface.h",
+ "absl/base/internal/unaligned_access.h",
+ "absl/container/internal/have_sse.h",
+ "absl/container/internal/inlined_vector.h",
+ "absl/debugging/internal/stacktrace_unimplemented-inl.inc",
+ "absl/debugging/symbolize_unimplemented.inc",
+ "absl/flags/config.h",
+ "absl/flags/internal/path_util.h",
+ "absl/hash/hash.h",
+ "absl/random/internal/generate_real.h",
+ "absl/random/internal/iostream_state_saver.h",
+ "absl/random/internal/randen-keys.inc",
+ "absl/random/internal/randen_engine.h",
+ "absl/random/internal/randen_traits.h",
+ "absl/strings/internal/resize_uninitialized.h",
+ "absl/strings/internal/str_join_internal.h",
+ "absl/strings/internal/str_split_internal.h",
+ "absl/strings/str_format.h",
+ "absl/synchronization/internal/kernel_timeout.h",
+ "absl/synchronization/internal/per_thread_sem.h",
+ "absl/time/internal/zoneinfo.inc",
+ "absl/types/internal/optional.h",
+ "absl/types/internal/span.h",
+ "absl/types/variant.h",
+ "absl/types/internal/variant.h",
+ "absl/base/internal/direct_mmap.h",
+ "absl/base/internal/spinlock_posix.inc",
+ "absl/container/fixed_array.h",
+ "absl/container/internal/common.h",
+ "absl/container/internal/compressed_tuple.h",
+ "absl/random/internal/fastmath.h",
+ "absl/random/uniform_int_distribution.h",
+ "absl/strings/internal/char_map.h",
+ "absl/strings/strip.h",
+ "absl/synchronization/internal/create_thread_identity.h",
+ "absl/time/internal/get_current_time_chrono.inc",
+ "absl/container/internal/container_memory.h",
+ "absl/functional/function_ref.h",
+ "absl/random/internal/wide_multiply.h",
+ "absl/container/internal/hash_policy_traits.h",
+ "absl/functional/internal/function_ref.h",
+]]
webrtc_sources = [
+ "rtc_base/socket_address.h",
+ "rtc_base/arraysize.h",
+ "rtc_base/strings/string_builder.h",
+ "rtc_base/atomic_ops.h",
+ "rtc_base/weak_ptr.h",
+ "rtc_base/zero_memory.h",
+ "rtc_base/unique_id_generator.h",
+ "rtc_base/numerics/safe_conversions.h",
+ "rtc_base/time/timestamp_extrapolator.h",
+ "rtc_base/third_party/base64/base64.h",
+ "rtc_base/platform_thread_types.h",
+ "rtc_base/task_queue.h",
+ "rtc_base/system/file_wrapper.h",
+ "rtc_base/task_utils/repeating_task.h",
+ "rtc_base/synchronization/rw_lock_wrapper.h",
+ "rtc_base/synchronization/rw_lock_posix.h",
+ "rtc_base/task_queue_stdlib.h",
+ "rtc_base/synchronization/sequence_checker.h",
+ "rtc_base/synchronization/yield_policy.h",
+ "rtc_base/string_utils.h",
+ "rtc_base/strings/audio_format_to_string.h",
+ "rtc_base/system/cocoa_threading.h",
+ "rtc_base/string_to_number.h",
+ "rtc_base/ssl_adapter.h",
+ "rtc_base/stream.h",
+ "rtc_base/socket_address_pair.h",
+ "rtc_base/ssl_identity.h",
+ "rtc_base/ssl_certificate.h",
+ "rtc_base/socket.h",
+ "rtc_base/signal_thread.h",
+ "rtc_base/rtc_certificate.h",
+ "rtc_base/rate_tracker.h",
+ "rtc_base/rate_statistics.h",
+ "rtc_base/race_checker.h",
+ "rtc_base/proxy_info.h",
+ "rtc_base/random.h",
+ "rtc_base/platform_thread.h",
+ "rtc_base/operations_chain.h",
+ "rtc_base/physical_socket_server.h",
+ "rtc_base/openssl_session_cache.h",
+ "rtc_base/numerics/samples_stats_counter.h",
+ "rtc_base/openssl_stream_adapter.h",
+ "rtc_base/openssl_identity.h",
+ "rtc_base/openssl_certificate.h",
+ "rtc_base/numerics/sample_counter.h",
+ "rtc_base/openssl_adapter.h",
+ "rtc_base/numerics/event_rate_counter.h",
+ "rtc_base/numerics/histogram_percentile_counter.h",
+ "rtc_base/network_route.h",
+ "rtc_base/network/sent_packet.h",
+ "rtc_base/net_helper.h",
+ "rtc_base/numerics/event_based_exponential_moving_average.h",
+ "rtc_base/null_socket_server.h",
+ "rtc_base/network_monitor.h",
+ "rtc_base/message_digest.h",
+ "rtc_base/network.h",
+ "rtc_base/message_handler.h",
+ "rtc_base/memory/aligned_malloc.h",
+ "rtc_base/location.h",
+ "rtc_base/byte_order.h",
+ "rtc_base/ifaddrs_converter.h",
+ "rtc_base/helpers.h",
+ "rtc_base/file_rotating_stream.h",
+ "rtc_base/experiments/struct_parameters_parser.h",
+ "rtc_base/experiments/rate_control_settings.h",
+ "rtc_base/experiments/rtt_mult_experiment.h",
+ "rtc_base/experiments/quality_rampup_experiment.h",
+ "rtc_base/experiments/quality_scaling_experiment.h",
+ "rtc_base/experiments/min_video_bitrate_experiment.h",
+ "rtc_base/experiments/experimental_screenshare_settings.h",
+ "rtc_base/experiments/field_trial_list.h",
+ "rtc_base/experiments/field_trial_units.h",
+ "rtc_base/experiments/jitter_upper_bound_experiment.h",
+ "rtc_base/experiments/field_trial_parser.h",
+ "rtc_base/data_rate_limiter.h",
+ "rtc_base/experiments/cpu_speed_experiment.h",
+ "rtc_base/experiments/balanced_degradation_settings.h",
+ "rtc_base/crc32.h",
+ "rtc_base/event.h",
+ "rtc_base/event_tracer.h",
+ "rtc_base/copy_on_write_buffer.h",
+ "rtc_base/bit_buffer.h",
+ "rtc_base/buffer_queue.h",
+ "rtc_base/async_packet_socket.h",
+ "rtc_base/async_socket.h",
+ "rtc_base/async_udp_socket.h",
+ "rtc_base/async_resolver_interface.h",
+ "rtc_base/async_invoker.h",
+ "rtc_base/async_tcp_socket.h",
+ "rtc_base/byte_buffer.h",
+ "rtc_base/crypt_string.h",
+ "rtc_base/system/arch.h",
+ "rtc_base/experiments/alr_experiment.h",
+ "rtc_base/experiments/keyframe_interval_settings.h",
+ "rtc_base/experiments/normalize_simulcast_size_experiment.h",
+ "rtc_base/experiments/quality_scaler_settings.h",
+ "rtc_base/experiments/stable_target_rate_experiment.h",
+ "rtc_base/third_party/sigslot/sigslot.h",
+ "rtc_base/timestamp_aligner.h",
+ "rtc_base/ssl_stream_adapter.h",
+ "rtc_base/task_queue_libevent.h",
+ "rtc_base/string_encode.h",
+ "rtc_base/ssl_fingerprint.h",
+ "rtc_base/rtc_certificate_generator.h",
+ "rtc_base/rate_limiter.h",
+ "rtc_base/numerics/sample_stats.h",
+ "rtc_base/numerics/exp_filter.h",
+ "rtc_base/numerics/moving_average.h",
+ "rtc_base/openssl_utility.h",
+ "rtc_base/openssl_digest.h",
+ "rtc_base/net_helpers.h",
+ "rtc_base/memory/fifo_buffer.h",
+ "rtc_base/log_sinks.h",
+ "rtc_base/network_constants.h",
+ "rtc_base/system/rtc_export.h",
+ "rtc_base/system/inline.h",
+ "rtc_base/type_traits.h",
+ "rtc_base/numerics/safe_compare.h",
"rtc_base/async_invoker.cc",
"rtc_base/async_packet_socket.cc",
"rtc_base/async_resolver_interface.cc",
@@ -509,7 +747,12 @@ webrtc_sources = [
"rtc_base/unique_id_generator.cc",
"rtc_base/weak_ptr.cc",
"rtc_base/zero_memory.cc",
+ "rtc_base/ref_count.h",
+ "rtc_base/ref_counter.h",
+ "rtc_base/logging.h",
+ "api/task_queue/queued_task.h",
"api/audio/audio_frame.cc",
+ "api/audio/channel_layout.h",
"api/audio/channel_layout.cc",
"api/audio/echo_canceller3_config.cc",
"api/audio/echo_canceller3_factory.cc",
@@ -616,6 +859,11 @@ webrtc_sources = [
"api/video_codecs/vp8_frame_config.cc",
"api/video_codecs/vp8_temporal_layers.cc",
"api/video_codecs/vp8_temporal_layers_factory.cc",
+ "api/candidate.h",
+ "api/audio/audio_frame.h",
+ "api/ref_counted_base.h",
+ "api/function_view.h",
+ "api/rtp_packet_info.h",
"pc/audio_rtp_receiver.cc",
"pc/audio_track.cc",
"pc/channel.cc",
@@ -690,6 +938,7 @@ webrtc_sources = [
"media/base/video_common.cc",
"media/base/video_source_base.cc",
"media/base/vp9_profile.cc",
+ "media/base/adapted_video_track_source.h",
"media/engine/adm_helpers.cc",
"media/engine/constants.cc",
"media/engine/encoder_simulcast_proxy.cc",
@@ -932,6 +1181,7 @@ webrtc_sources = [
"modules/audio_device/dummy/file_audio_device_factory.cc",
"modules/audio_device/fine_audio_buffer.cc",
"modules/audio_device/include/test_audio_device.cc",
+ "modules/audio_device/audio_device_name.h",
"modules/audio_mixer/audio_frame_manipulator.cc",
"modules/audio_mixer/audio_mixer_impl.cc",
"modules/audio_mixer/default_output_rate_calculator.cc",
@@ -1534,6 +1784,1203 @@ webrtc_sources = [
"stats/rtcstats_objects.cc",
"rtc_base/system/cocoa_threading.mm",
"rtc_base/mac_ifaddrs_converter.cc",
+ "rtc_base/checks.h",
+ "rtc_base/thread.h",
+ "rtc_base/constructor_magic.h",
+ "rtc_base/deprecation.h",
+ "api/rtp_packet_infos.h",
+ "api/task_queue/task_queue_base.h",
+ "rtc_base/thread_annotations.h",
+ "rtc_base/critical_section.h",
+ "common_audio/signal_processing/dot_product_with_scale.h",
+ "api/audio/audio_mixer.h",
+ "api/audio/echo_canceller3_config.h",
+ "api/audio/echo_canceller3_factory.h",
+ "api/audio_codecs/L16/audio_decoder_L16.h",
+ "api/audio_codecs/L16/audio_encoder_L16.h",
+ "api/audio_codecs/audio_codec_pair_id.h",
+ "api/audio_codecs/audio_decoder.h",
+ "api/audio_codecs/audio_encoder.h",
+ "api/audio_codecs/audio_encoder_factory.h",
+ "api/audio_codecs/audio_format.h",
+ "api/audio_codecs/builtin_audio_decoder_factory.h",
+ "api/audio_codecs/builtin_audio_encoder_factory.h",
+ "api/audio_codecs/g711/audio_decoder_g711.h",
+ "api/audio_codecs/g711/audio_encoder_g711.h",
+ "api/audio_codecs/g722/audio_decoder_g722.h",
+ "api/audio_codecs/g722/audio_encoder_g722.h",
+ "api/audio_codecs/ilbc/audio_decoder_ilbc.h",
+ "api/audio_codecs/ilbc/audio_encoder_ilbc.h",
+ "api/audio_codecs/isac/audio_decoder_isac_fix.h",
+ "api/audio_codecs/isac/audio_decoder_isac_float.h",
+ "api/audio_codecs/isac/audio_encoder_isac_fix.h",
+ "api/audio_codecs/isac/audio_encoder_isac_float.h",
+ "api/audio_codecs/opus/audio_decoder_multi_channel_opus.h",
+ "api/audio_codecs/opus/audio_decoder_opus.h",
+ "api/audio_codecs/opus/audio_encoder_multi_channel_opus.h",
+ "api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.h",
+ "api/audio_codecs/opus/audio_encoder_opus.h",
+ "api/audio_codecs/opus/audio_encoder_opus_config.h",
+ "api/audio_codecs/opus_audio_decoder_factory.h",
+ "api/audio_codecs/opus_audio_encoder_factory.h",
+ "api/audio_options.h",
+ "api/call/transport.h",
+ "api/create_peerconnection_factory.h",
+ "api/crypto/crypto_options.h",
+ "api/data_channel_interface.h",
+ "api/dtls_transport_interface.h",
+ "api/ice_transport_factory.h",
+ "api/jsep.h",
+ "api/jsep_ice_candidate.h",
+ "api/jsep_session_description.h",
+ "api/media_stream_interface.h",
+ "api/media_types.h",
+ "api/neteq/custom_neteq_factory.h",
+ "api/neteq/default_neteq_controller_factory.h",
+ "api/neteq/neteq.h",
+ "api/neteq/tick_timer.h",
+ "api/peer_connection_interface.h",
+ "api/proxy.h",
+ "api/rtc_error.h",
+ "api/rtc_event_log/rtc_event.h",
+ "api/rtc_event_log/rtc_event_log.h",
+ "api/rtc_event_log/rtc_event_log_factory.h",
+ "api/rtc_event_log_output_file.h",
+ "api/rtp_headers.h",
+ "api/rtp_parameters.h",
+ "api/rtp_receiver_interface.h",
+ "api/rtp_sender_interface.h",
+ "api/rtp_transceiver_interface.h",
+ "api/scoped_refptr.h",
+ "api/sctp_transport_interface.h",
+ "api/stats/rtc_stats.h",
+ "api/stats/rtc_stats_report.h",
+ "api/stats/rtcstats_objects.h",
+ "api/stats_types.h",
+ "api/task_queue/task_queue_factory.h",
+ "api/transport/bitrate_settings.h",
+ "api/transport/field_trial_based_config.h",
+ "api/transport/goog_cc_factory.h",
+ "api/transport/media/audio_transport.h",
+ "api/transport/media/media_transport_config.h",
+ "api/transport/media/media_transport_interface.h",
+ "api/transport/media/video_transport.h",
+ "api/transport/network_types.h",
+ "api/transport/stun.h",
+ "api/units/data_rate.h",
+ "api/units/data_size.h",
+ "api/units/frequency.h",
+ "api/units/time_delta.h",
+ "api/units/timestamp.h",
+ "api/video/builtin_video_bitrate_allocator_factory.h",
+ "api/video/color_space.h",
+ "api/video/encoded_frame.h",
+ "api/video/encoded_image.h",
+ "api/video/hdr_metadata.h",
+ "api/video/i010_buffer.h",
+ "api/video/i420_buffer.h",
+ "api/video/video_bitrate_allocation.h",
+ "api/video/video_bitrate_allocator.h",
+ "api/video/video_content_type.h",
+ "api/video/video_frame.h",
+ "api/video/video_frame_buffer.h",
+ "api/video/video_rotation.h",
+ "api/video/video_source_interface.h",
+ "api/video/video_stream_decoder_create.h",
+ "api/video/video_stream_encoder_create.h",
+ "api/video/video_stream_encoder_observer.h",
+ "api/video/video_timing.h",
+ "api/video_codecs/builtin_video_decoder_factory.h",
+ "api/video_codecs/builtin_video_encoder_factory.h",
+ "api/video_codecs/sdp_video_format.h",
+ "api/video_codecs/video_codec.h",
+ "api/video_codecs/video_decoder.h",
+ "api/video_codecs/video_decoder_factory.h",
+ "api/video_codecs/video_decoder_software_fallback_wrapper.h",
+ "api/video_codecs/video_encoder.h",
+ "api/video_codecs/video_encoder_config.h",
+ "api/video_codecs/video_encoder_factory.h",
+ "api/video_codecs/video_encoder_software_fallback_wrapper.h",
+ "api/video_codecs/vp8_frame_config.h",
+ "api/video_codecs/vp8_temporal_layers.h",
+ "api/video_codecs/vp8_temporal_layers_factory.h",
+ "call/adaptation/encoder_settings.h",
+ "call/adaptation/new_resource_adaptation_processor_poc.h",
+ "call/adaptation/resource.h",
+ "call/adaptation/resource_adaptation_processor_interface.h",
+ "call/adaptation/resource_consumer.h",
+ "call/adaptation/resource_consumer_configuration.h",
+ "call/adaptation/video_source_restrictions.h",
+ "call/audio_receive_stream.h",
+ "call/audio_send_stream.h",
+ "call/audio_state.h",
+ "call/bitrate_allocator.h",
+ "call/call.h",
+ "call/call_config.h",
+ "call/call_factory.h",
+ "call/degraded_call.h",
+ "call/fake_network_pipe.h",
+ "call/flexfec_receive_stream.h",
+ "call/flexfec_receive_stream_impl.h",
+ "call/receive_time_calculator.h",
+ "call/rtcp_demuxer.h",
+ "call/rtp_bitrate_configurator.h",
+ "call/rtp_config.h",
+ "call/rtp_demuxer.h",
+ "call/rtp_payload_params.h",
+ "call/rtp_rtcp_demuxer_helper.h",
+ "call/rtp_stream_receiver_controller.h",
+ "call/rtp_transport_controller_send.h",
+ "call/rtp_video_sender.h",
+ "call/rtx_receive_stream.h",
+ "call/simulated_network.h",
+ "call/syncable.h",
+ "call/video_receive_stream.h",
+ "call/video_send_stream.h",
+ "common_audio/audio_converter.h",
+ "common_audio/channel_buffer.h",
+ "common_audio/fir_filter_c.h",
+ "common_audio/fir_filter_factory.h",
+ "common_audio/fir_filter_neon.h",
+ "common_audio/include/audio_util.h",
+ "common_audio/real_fourier.h",
+ "common_audio/real_fourier_ooura.h",
+ "common_audio/resampler/include/push_resampler.h",
+ "common_audio/resampler/include/resampler.h",
+ "common_audio/resampler/push_sinc_resampler.h",
+ "common_audio/resampler/sinc_resampler.h",
+ "common_audio/resampler/sinusoidal_linear_chirp_source.h",
+ "common_audio/ring_buffer.h",
+ "common_audio/signal_processing/complex_fft_tables.h",
+ "common_audio/signal_processing/include/real_fft.h",
+ "common_audio/signal_processing/include/signal_processing_library.h",
+ "common_audio/signal_processing/include/spl_inl.h",
+ "common_audio/signal_processing/resample_by_2_internal.h",
+ "common_audio/smoothing_filter.h",
+ "common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.h",
+ "common_audio/vad/include/vad.h",
+ "common_audio/vad/include/webrtc_vad.h",
+ "common_audio/vad/vad_core.h",
+ "common_audio/vad/vad_filterbank.h",
+ "common_audio/vad/vad_gmm.h",
+ "common_audio/vad/vad_sp.h",
+ "common_audio/wav_file.h",
+ "common_audio/wav_header.h",
+ "common_audio/window_generator.h",
+ "common_video/frame_rate_estimator.h",
+ "common_video/generic_frame_descriptor/generic_frame_info.h",
+ "common_video/h264/h264_bitstream_parser.h",
+ "common_video/h264/h264_common.h",
+ "common_video/h264/pps_parser.h",
+ "common_video/h264/prefix_parser.h",
+ "common_video/h264/sps_parser.h",
+ "common_video/h264/sps_vui_rewriter.h",
+ "common_video/h265/h265_bitstream_parser.h",
+ "common_video/h265/h265_common.h",
+ "common_video/h265/h265_pps_parser.h",
+ "common_video/include/bitrate_adjuster.h",
+ "common_video/include/i420_buffer_pool.h",
+ "common_video/include/incoming_video_stream.h",
+ "common_video/include/video_frame_buffer.h",
+ "common_video/libyuv/include/webrtc_libyuv.h",
+ "common_video/video_render_frames.h",
+ "logging/rtc_event_log/encoder/blob_encoding.h",
+ "logging/rtc_event_log/encoder/delta_encoding.h",
+ "logging/rtc_event_log/encoder/rtc_event_log_encoder_common.h",
+ "logging/rtc_event_log/encoder/var_int.h",
+ "logging/rtc_event_log/events/rtc_event_alr_state.h",
+ "logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h",
+ "logging/rtc_event_log/events/rtc_event_audio_playout.h",
+ "logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.h",
+ "logging/rtc_event_log/events/rtc_event_audio_send_stream_config.h",
+ "logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.h",
+ "logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.h",
+ "logging/rtc_event_log/events/rtc_event_dtls_transport_state.h",
+ "logging/rtc_event_log/events/rtc_event_dtls_writable_state.h",
+ "logging/rtc_event_log/events/rtc_event_generic_ack_received.h",
+ "logging/rtc_event_log/events/rtc_event_generic_packet_received.h",
+ "logging/rtc_event_log/events/rtc_event_generic_packet_sent.h",
+ "logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h",
+ "logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h",
+ "logging/rtc_event_log/events/rtc_event_probe_cluster_created.h",
+ "logging/rtc_event_log/events/rtc_event_probe_result_failure.h",
+ "logging/rtc_event_log/events/rtc_event_probe_result_success.h",
+ "logging/rtc_event_log/events/rtc_event_route_change.h",
+ "logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.h",
+ "logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.h",
+ "logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.h",
+ "logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.h",
+ "logging/rtc_event_log/events/rtc_event_video_receive_stream_config.h",
+ "logging/rtc_event_log/events/rtc_event_video_send_stream_config.h",
+ "logging/rtc_event_log/fake_rtc_event_log.h",
+ "logging/rtc_event_log/fake_rtc_event_log_factory.h",
+ "logging/rtc_event_log/ice_logger.h",
+ "logging/rtc_event_log/rtc_event_log_impl.h",
+ "logging/rtc_event_log/rtc_stream_config.h",
+ "media/base/codec.h",
+ "media/base/h264_profile_level_id.h",
+ "media/base/media_channel.h",
+ "media/base/media_constants.h",
+ "media/base/media_engine.h",
+ "media/base/rid_description.h",
+ "media/base/rtp_data_engine.h",
+ "media/base/rtp_utils.h",
+ "media/base/sdp_fmtp_utils.h",
+ "media/base/stream_params.h",
+ "media/base/turn_utils.h",
+ "media/base/video_adapter.h",
+ "media/base/video_broadcaster.h",
+ "media/base/video_common.h",
+ "media/base/video_source_base.h",
+ "media/base/vp9_profile.h",
+ "media/engine/adm_helpers.h",
+ "media/engine/constants.h",
+ "media/engine/encoder_simulcast_proxy.h",
+ "media/engine/internal_decoder_factory.h",
+ "media/engine/internal_encoder_factory.h",
+ "media/engine/multiplex_codec_factory.h",
+ "media/engine/payload_type_mapper.h",
+ "media/engine/simulcast.h",
+ "media/engine/simulcast_encoder_adapter.h",
+ "media/engine/unhandled_packets_buffer.h",
+ "media/engine/webrtc_media_engine_defaults.h",
+ "modules/audio_coding/acm2/acm_receiver.h",
+ "modules/audio_coding/acm2/acm_remixing.h",
+ "modules/audio_coding/acm2/acm_resampler.h",
+ "modules/audio_coding/acm2/call_statistics.h",
+ "modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.h",
+ "modules/audio_coding/audio_network_adaptor/bitrate_controller.h",
+ "modules/audio_coding/audio_network_adaptor/channel_controller.h",
+ "modules/audio_coding/audio_network_adaptor/controller.h",
+ "modules/audio_coding/audio_network_adaptor/controller_manager.h",
+ "modules/audio_coding/audio_network_adaptor/debug_dump_writer.h",
+ "modules/audio_coding/audio_network_adaptor/dtx_controller.h",
+ "modules/audio_coding/audio_network_adaptor/event_log_writer.h",
+ "modules/audio_coding/audio_network_adaptor/fec_controller_plr_based.h",
+ "modules/audio_coding/audio_network_adaptor/frame_length_controller.h",
+ "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor_config.h",
+ "modules/audio_coding/codecs/cng/audio_encoder_cng.h",
+ "modules/audio_coding/codecs/cng/webrtc_cng.h",
+ "modules/audio_coding/codecs/g711/audio_decoder_pcm.h",
+ "modules/audio_coding/codecs/g711/audio_encoder_pcm.h",
+ "modules/audio_coding/codecs/g722/audio_decoder_g722.h",
+ "modules/audio_coding/codecs/g722/audio_encoder_g722.h",
+ "modules/audio_coding/codecs/g722/g722_interface.h",
+ "modules/audio_coding/codecs/ilbc/audio_decoder_ilbc.h",
+ "modules/audio_coding/codecs/ilbc/audio_encoder_ilbc.h",
+ "modules/audio_coding/codecs/ilbc/cb_construct.h",
+ "modules/audio_coding/codecs/ilbc/decode_residual.h",
+ "modules/audio_coding/codecs/ilbc/defines.h",
+ "modules/audio_coding/codecs/ilbc/energy_inverse.h",
+ "modules/audio_coding/codecs/ilbc/get_cd_vec.h",
+ "modules/audio_coding/codecs/ilbc/ilbc.h",
+ "modules/audio_coding/codecs/ilbc/interpolate.h",
+ "modules/audio_coding/codecs/ilbc/lsf_interpolate_to_poly_dec.h",
+ "modules/audio_coding/codecs/ilbc/vq3.h",
+ "modules/audio_coding/codecs/ilbc/vq4.h",
+ "modules/audio_coding/codecs/isac/fix/include/audio_decoder_isacfix.h",
+ "modules/audio_coding/codecs/isac/fix/include/audio_encoder_isacfix.h",
+ "modules/audio_coding/codecs/isac/fix/include/isacfix.h",
+ "modules/audio_coding/codecs/isac/fix/source/arith_routins.h",
+ "modules/audio_coding/codecs/isac/fix/source/bandwidth_estimator.h",
+ "modules/audio_coding/codecs/isac/fix/source/codec.h",
+ "modules/audio_coding/codecs/isac/fix/source/entropy_coding.h",
+ "modules/audio_coding/codecs/isac/fix/source/fft.h",
+ "modules/audio_coding/codecs/isac/fix/source/filterbank_internal.h",
+ "modules/audio_coding/codecs/isac/fix/source/filterbank_tables.h",
+ "modules/audio_coding/codecs/isac/fix/source/pitch_estimator.h",
+ "modules/audio_coding/codecs/isac/fix/source/pitch_gain_tables.h",
+ "modules/audio_coding/codecs/isac/fix/source/settings.h",
+ "modules/audio_coding/codecs/isac/fix/source/spectrum_ar_model_tables.h",
+ "modules/audio_coding/codecs/isac/main/include/audio_decoder_isac.h",
+ "modules/audio_coding/codecs/isac/main/include/audio_encoder_isac.h",
+ "modules/audio_coding/codecs/isac/main/include/isac.h",
+ "modules/audio_coding/codecs/isac/main/source/arith_routines.h",
+ "modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.h",
+ "modules/audio_coding/codecs/isac/main/source/codec.h",
+ "modules/audio_coding/codecs/isac/main/source/crc.h",
+ "modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.h",
+ "modules/audio_coding/codecs/isac/main/source/isac_vad.h",
+ "modules/audio_coding/codecs/isac/main/source/lpc_analysis.h",
+ "modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.h",
+ "modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.h",
+ "modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.h",
+ "modules/audio_coding/codecs/isac/main/source/lpc_tables.h",
+ "modules/audio_coding/codecs/isac/main/source/pitch_estimator.h",
+ "modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.h",
+ "modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.h",
+ "modules/audio_coding/codecs/isac/main/source/settings.h",
+ "modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.h",
+ "modules/audio_coding/codecs/isac/main/source/structs.h",
+ "modules/audio_coding/codecs/isac/main/util/utility.h",
+ "modules/audio_coding/codecs/legacy_encoded_audio_frame.h",
+ "modules/audio_coding/codecs/opus/audio_coder_opus_common.h",
+ "modules/audio_coding/codecs/opus/audio_decoder_multi_channel_opus_impl.h",
+ "modules/audio_coding/codecs/opus/audio_decoder_opus.h",
+ "modules/audio_coding/codecs/opus/audio_encoder_multi_channel_opus_impl.h",
+ "modules/audio_coding/codecs/opus/audio_encoder_opus.h",
+ "modules/audio_coding/codecs/opus/opus_interface.h",
+ "modules/audio_coding/codecs/opus/test/audio_ring_buffer.h",
+ "modules/audio_coding/codecs/opus/test/blocker.h",
+ "modules/audio_coding/codecs/opus/test/lapped_transform.h",
+ "modules/audio_coding/codecs/pcm16b/audio_decoder_pcm16b.h",
+ "modules/audio_coding/codecs/pcm16b/audio_encoder_pcm16b.h",
+ "modules/audio_coding/codecs/pcm16b/pcm16b.h",
+ "modules/audio_coding/codecs/pcm16b/pcm16b_common.h",
+ "modules/audio_coding/codecs/red/audio_encoder_copy_red.h",
+ "modules/audio_coding/include/audio_coding_module.h",
+ "modules/audio_coding/neteq/accelerate.h",
+ "modules/audio_coding/neteq/audio_multi_vector.h",
+ "modules/audio_coding/neteq/audio_vector.h",
+ "modules/audio_coding/neteq/background_noise.h",
+ "modules/audio_coding/neteq/buffer_level_filter.h",
+ "modules/audio_coding/neteq/comfort_noise.h",
+ "modules/audio_coding/neteq/cross_correlation.h",
+ "modules/audio_coding/neteq/decision_logic.h",
+ "modules/audio_coding/neteq/decoder_database.h",
+ "modules/audio_coding/neteq/default_neteq_factory.h",
+ "modules/audio_coding/neteq/delay_manager.h",
+ "modules/audio_coding/neteq/dsp_helper.h",
+ "modules/audio_coding/neteq/dtmf_buffer.h",
+ "modules/audio_coding/neteq/dtmf_tone_generator.h",
+ "modules/audio_coding/neteq/expand.h",
+ "modules/audio_coding/neteq/expand_uma_logger.h",
+ "modules/audio_coding/neteq/histogram.h",
+ "modules/audio_coding/neteq/merge.h",
+ "modules/audio_coding/neteq/nack_tracker.h",
+ "modules/audio_coding/neteq/neteq_impl.h",
+ "modules/audio_coding/neteq/normal.h",
+ "modules/audio_coding/neteq/packet.h",
+ "modules/audio_coding/neteq/packet_buffer.h",
+ "modules/audio_coding/neteq/post_decode_vad.h",
+ "modules/audio_coding/neteq/preemptive_expand.h",
+ "modules/audio_coding/neteq/random_vector.h",
+ "modules/audio_coding/neteq/red_payload_splitter.h",
+ "modules/audio_coding/neteq/statistics_calculator.h",
+ "modules/audio_coding/neteq/sync_buffer.h",
+ "modules/audio_coding/neteq/time_stretch.h",
+ "modules/audio_coding/neteq/timestamp_scaler.h",
+ "modules/audio_device/audio_device_buffer.h",
+ "modules/audio_device/audio_device_generic.h",
+ "modules/audio_device/audio_device_impl.h",
+ "modules/audio_device/dummy/audio_device_dummy.h",
+ "modules/audio_device/dummy/file_audio_device.h",
+ "modules/audio_device/dummy/file_audio_device_factory.h",
+ "modules/audio_device/fine_audio_buffer.h",
+ "modules/audio_device/include/audio_device_data_observer.h",
+ "modules/audio_device/include/test_audio_device.h",
+ "modules/audio_mixer/audio_frame_manipulator.h",
+ "modules/audio_mixer/audio_mixer_impl.h",
+ "modules/audio_mixer/default_output_rate_calculator.h",
+ "modules/audio_mixer/frame_combiner.h",
+ "modules/audio_mixer/gain_change_calculator.h",
+ "modules/audio_mixer/sine_wave_generator.h",
+ "modules/audio_processing/aec3/adaptive_fir_filter.h",
+ "modules/audio_processing/aec3/adaptive_fir_filter_erl.h",
+ "modules/audio_processing/aec3/aec3_common.h",
+ "modules/audio_processing/aec3/aec3_fft.h",
+ "modules/audio_processing/aec3/aec_state.h",
+ "modules/audio_processing/aec3/alignment_mixer.h",
+ "modules/audio_processing/aec3/api_call_jitter_metrics.h",
+ "modules/audio_processing/aec3/block_buffer.h",
+ "modules/audio_processing/aec3/block_delay_buffer.h",
+ "modules/audio_processing/aec3/block_framer.h",
+ "modules/audio_processing/aec3/block_processor.h",
+ "modules/audio_processing/aec3/block_processor_metrics.h",
+ "modules/audio_processing/aec3/clockdrift_detector.h",
+ "modules/audio_processing/aec3/coarse_filter_update_gain.h",
+ "modules/audio_processing/aec3/comfort_noise_generator.h",
+ "modules/audio_processing/aec3/decimator.h",
+ "modules/audio_processing/aec3/dominant_nearend_detector.h",
+ "modules/audio_processing/aec3/downsampled_render_buffer.h",
+ "modules/audio_processing/aec3/echo_audibility.h",
+ "modules/audio_processing/aec3/echo_canceller3.h",
+ "modules/audio_processing/aec3/echo_path_delay_estimator.h",
+ "modules/audio_processing/aec3/echo_path_variability.h",
+ "modules/audio_processing/aec3/echo_remover.h",
+ "modules/audio_processing/aec3/echo_remover_metrics.h",
+ "modules/audio_processing/aec3/erl_estimator.h",
+ "modules/audio_processing/aec3/erle_estimator.h",
+ "modules/audio_processing/aec3/fft_buffer.h",
+ "modules/audio_processing/aec3/filter_analyzer.h",
+ "modules/audio_processing/aec3/frame_blocker.h",
+ "modules/audio_processing/aec3/fullband_erle_estimator.h",
+ "modules/audio_processing/aec3/matched_filter.h",
+ "modules/audio_processing/aec3/matched_filter_lag_aggregator.h",
+ "modules/audio_processing/aec3/moving_average.h",
+ "modules/audio_processing/aec3/refined_filter_update_gain.h",
+ "modules/audio_processing/aec3/render_buffer.h",
+ "modules/audio_processing/aec3/render_delay_buffer.h",
+ "modules/audio_processing/aec3/render_delay_controller.h",
+ "modules/audio_processing/aec3/render_delay_controller_metrics.h",
+ "modules/audio_processing/aec3/render_signal_analyzer.h",
+ "modules/audio_processing/aec3/residual_echo_estimator.h",
+ "modules/audio_processing/aec3/reverb_decay_estimator.h",
+ "modules/audio_processing/aec3/reverb_frequency_response.h",
+ "modules/audio_processing/aec3/reverb_model.h",
+ "modules/audio_processing/aec3/reverb_model_estimator.h",
+ "modules/audio_processing/aec3/signal_dependent_erle_estimator.h",
+ "modules/audio_processing/aec3/spectrum_buffer.h",
+ "modules/audio_processing/aec3/stationarity_estimator.h",
+ "modules/audio_processing/aec3/subband_erle_estimator.h",
+ "modules/audio_processing/aec3/subband_nearend_detector.h",
+ "modules/audio_processing/aec3/subtractor.h",
+ "modules/audio_processing/aec3/subtractor_output.h",
+ "modules/audio_processing/aec3/subtractor_output_analyzer.h",
+ "modules/audio_processing/aec3/suppression_filter.h",
+ "modules/audio_processing/aec3/suppression_gain.h",
+ "modules/audio_processing/aec_dump/aec_dump_factory.h",
+ "modules/audio_processing/aecm/aecm_core.h",
+ "modules/audio_processing/aecm/echo_control_mobile.h",
+ "modules/audio_processing/agc/agc.h",
+ "modules/audio_processing/agc/agc_manager_direct.h",
+ "modules/audio_processing/agc/legacy/analog_agc.h",
+ "modules/audio_processing/agc/legacy/digital_agc.h",
+ "modules/audio_processing/agc/loudness_histogram.h",
+ "modules/audio_processing/agc/utility.h",
+ "modules/audio_processing/agc2/adaptive_agc.h",
+ "modules/audio_processing/agc2/adaptive_digital_gain_applier.h",
+ "modules/audio_processing/agc2/adaptive_mode_level_estimator.h",
+ "modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.h",
+ "modules/audio_processing/agc2/agc2_common.h",
+ "modules/audio_processing/agc2/agc2_testing_common.h",
+ "modules/audio_processing/agc2/biquad_filter.h",
+ "modules/audio_processing/agc2/compute_interpolated_gain_curve.h",
+ "modules/audio_processing/agc2/down_sampler.h",
+ "modules/audio_processing/agc2/fixed_digital_level_estimator.h",
+ "modules/audio_processing/agc2/gain_applier.h",
+ "modules/audio_processing/agc2/interpolated_gain_curve.h",
+ "modules/audio_processing/agc2/limiter.h",
+ "modules/audio_processing/agc2/limiter_db_gain_curve.h",
+ "modules/audio_processing/agc2/noise_level_estimator.h",
+ "modules/audio_processing/agc2/noise_spectrum_estimator.h",
+ "modules/audio_processing/agc2/rnn_vad/auto_correlation.h",
+ "modules/audio_processing/agc2/rnn_vad/common.h",
+ "modules/audio_processing/agc2/rnn_vad/features_extraction.h",
+ "modules/audio_processing/agc2/rnn_vad/lp_residual.h",
+ "modules/audio_processing/agc2/rnn_vad/pitch_search.h",
+ "modules/audio_processing/agc2/rnn_vad/pitch_search_internal.h",
+ "modules/audio_processing/agc2/rnn_vad/rnn.h",
+ "modules/audio_processing/agc2/rnn_vad/spectral_features.h",
+ "modules/audio_processing/agc2/rnn_vad/spectral_features_internal.h",
+ "modules/audio_processing/agc2/saturation_protector.h",
+ "modules/audio_processing/agc2/signal_classifier.h",
+ "modules/audio_processing/agc2/vad_with_level.h",
+ "modules/audio_processing/agc2/vector_float_frame.h",
+ "modules/audio_processing/audio_buffer.h",
+ "modules/audio_processing/audio_generator/file_audio_generator.h",
+ "modules/audio_processing/audio_processing_impl.h",
+ "modules/audio_processing/echo_control_mobile_impl.h",
+ "modules/audio_processing/echo_detector/circular_buffer.h",
+ "modules/audio_processing/echo_detector/mean_variance_estimator.h",
+ "modules/audio_processing/echo_detector/moving_max.h",
+ "modules/audio_processing/echo_detector/normalized_covariance_estimator.h",
+ "modules/audio_processing/gain_control_impl.h",
+ "modules/audio_processing/gain_controller2.h",
+ "modules/audio_processing/high_pass_filter.h",
+ "modules/audio_processing/include/aec_dump.h",
+ "modules/audio_processing/include/audio_frame_proxies.h",
+ "modules/audio_processing/include/audio_generator_factory.h",
+ "modules/audio_processing/include/audio_processing.h",
+ "modules/audio_processing/include/audio_processing_statistics.h",
+ "modules/audio_processing/include/config.h",
+ "modules/audio_processing/level_estimator.h",
+ "modules/audio_processing/logging/apm_data_dumper.h",
+ "modules/audio_processing/ns/fast_math.h",
+ "modules/audio_processing/ns/histograms.h",
+ "modules/audio_processing/ns/noise_estimator.h",
+ "modules/audio_processing/ns/noise_suppressor.h",
+ "modules/audio_processing/ns/ns_fft.h",
+ "modules/audio_processing/ns/prior_signal_model.h",
+ "modules/audio_processing/ns/prior_signal_model_estimator.h",
+ "modules/audio_processing/ns/quantile_noise_estimator.h",
+ "modules/audio_processing/ns/signal_model.h",
+ "modules/audio_processing/ns/signal_model_estimator.h",
+ "modules/audio_processing/ns/speech_probability_estimator.h",
+ "modules/audio_processing/ns/suppression_params.h",
+ "modules/audio_processing/ns/wiener_filter.h",
+ "modules/audio_processing/residual_echo_detector.h",
+ "modules/audio_processing/rms_level.h",
+ "modules/audio_processing/splitting_filter.h",
+ "modules/audio_processing/three_band_filter_bank.h",
+ "modules/audio_processing/transient/file_utils.h",
+ "modules/audio_processing/transient/moving_moments.h",
+ "modules/audio_processing/transient/transient_detector.h",
+ "modules/audio_processing/transient/transient_suppressor_creator.h",
+ "modules/audio_processing/transient/transient_suppressor_impl.h",
+ "modules/audio_processing/transient/wpd_node.h",
+ "modules/audio_processing/transient/wpd_tree.h",
+ "modules/audio_processing/typing_detection.h",
+ "modules/audio_processing/utility/cascaded_biquad_filter.h",
+ "modules/audio_processing/utility/delay_estimator.h",
+ "modules/audio_processing/utility/delay_estimator_wrapper.h",
+ "modules/audio_processing/utility/ooura_fft.h",
+ "modules/audio_processing/utility/pffft_wrapper.h",
+ "modules/audio_processing/vad/gmm.h",
+ "modules/audio_processing/vad/pitch_based_vad.h",
+ "modules/audio_processing/vad/pitch_internal.h",
+ "modules/audio_processing/vad/pole_zero_filter.h",
+ "modules/audio_processing/vad/standalone_vad.h",
+ "modules/audio_processing/vad/vad_audio_proc.h",
+ "modules/audio_processing/vad/vad_circular_buffer.h",
+ "modules/audio_processing/vad/voice_activity_detector.h",
+ "modules/audio_processing/voice_detection.h",
+ "modules/congestion_controller/bbr/bandwidth_sampler.h",
+ "modules/congestion_controller/bbr/bbr_factory.h",
+ "modules/congestion_controller/bbr/bbr_network_controller.h",
+ "modules/congestion_controller/bbr/data_transfer_tracker.h",
+ "modules/congestion_controller/bbr/loss_rate_filter.h",
+ "modules/congestion_controller/bbr/rtt_stats.h",
+ "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h",
+ "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator_interface.h",
+ "modules/congestion_controller/goog_cc/alr_detector.h",
+ "modules/congestion_controller/goog_cc/bitrate_estimator.h",
+ "modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h",
+ "modules/congestion_controller/goog_cc/delay_based_bwe.h",
+ "modules/congestion_controller/goog_cc/goog_cc_network_control.h",
+ "modules/congestion_controller/goog_cc/link_capacity_estimator.h",
+ "modules/congestion_controller/goog_cc/loss_based_bandwidth_estimation.h",
+ "modules/congestion_controller/goog_cc/median_slope_estimator.h",
+ "modules/congestion_controller/goog_cc/probe_bitrate_estimator.h",
+ "modules/congestion_controller/goog_cc/probe_controller.h",
+ "modules/congestion_controller/goog_cc/robust_throughput_estimator.h",
+ "modules/congestion_controller/goog_cc/send_side_bandwidth_estimation.h",
+ "modules/congestion_controller/goog_cc/trendline_estimator.h",
+ "modules/congestion_controller/include/receive_side_congestion_controller.h",
+ "modules/congestion_controller/pcc/bitrate_controller.h",
+ "modules/congestion_controller/pcc/monitor_interval.h",
+ "modules/congestion_controller/pcc/pcc_factory.h",
+ "modules/congestion_controller/pcc/pcc_network_controller.h",
+ "modules/congestion_controller/pcc/rtt_tracker.h",
+ "modules/congestion_controller/pcc/utility_function.h",
+ "modules/congestion_controller/rtp/control_handler.h",
+ "modules/congestion_controller/rtp/transport_feedback_adapter.h",
+ "modules/congestion_controller/rtp/transport_feedback_demuxer.h",
+ "modules/include/module_common_types.h",
+ "modules/pacing/bitrate_prober.h",
+ "modules/pacing/interval_budget.h",
+ "modules/pacing/paced_sender.h",
+ "modules/pacing/pacing_controller.h",
+ "modules/pacing/packet_router.h",
+ "modules/pacing/round_robin_packet_queue.h",
+ "modules/pacing/task_queue_paced_sender.h",
+ "modules/remote_bitrate_estimator/aimd_rate_control.h",
+ "modules/remote_bitrate_estimator/include/bwe_defines.h",
+ "modules/remote_bitrate_estimator/inter_arrival.h",
+ "modules/remote_bitrate_estimator/overuse_detector.h",
+ "modules/remote_bitrate_estimator/overuse_estimator.h",
+ "modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h",
+ "modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h",
+ "modules/remote_bitrate_estimator/remote_estimator_proxy.h",
+ "modules/remote_bitrate_estimator/test/bwe_test_logging.h",
+ "modules/rtp_rtcp/include/flexfec_receiver.h",
+ "modules/rtp_rtcp/include/flexfec_sender.h",
+ "modules/rtp_rtcp/include/remote_ntp_time_estimator.h",
+ "modules/rtp_rtcp/include/report_block_data.h",
+ "modules/rtp_rtcp/include/rtp_header_extension_map.h",
+ "modules/rtp_rtcp/include/rtp_rtcp_defines.h",
+ "modules/rtp_rtcp/source/absolute_capture_time_receiver.h",
+ "modules/rtp_rtcp/source/absolute_capture_time_sender.h",
+ "modules/rtp_rtcp/source/create_video_rtp_depacketizer.h",
+ "modules/rtp_rtcp/source/dtmf_queue.h",
+ "modules/rtp_rtcp/source/fec_private_tables_bursty.h",
+ "modules/rtp_rtcp/source/fec_private_tables_random.h",
+ "modules/rtp_rtcp/source/fec_test_helper.h",
+ "modules/rtp_rtcp/source/flexfec_header_reader_writer.h",
+ "modules/rtp_rtcp/source/forward_error_correction.h",
+ "modules/rtp_rtcp/source/forward_error_correction_internal.h",
+ "modules/rtp_rtcp/source/packet_loss_stats.h",
+ "modules/rtp_rtcp/source/receive_statistics_impl.h",
+ "modules/rtp_rtcp/source/rtcp_nack_stats.h",
+ "modules/rtp_rtcp/source/rtcp_packet.h",
+ "modules/rtp_rtcp/source/rtcp_packet/app.h",
+ "modules/rtp_rtcp/source/rtcp_packet/bye.h",
+ "modules/rtp_rtcp/source/rtcp_packet/common_header.h",
+ "modules/rtp_rtcp/source/rtcp_packet/compound_packet.h",
+ "modules/rtp_rtcp/source/rtcp_packet/dlrr.h",
+ "modules/rtp_rtcp/source/rtcp_packet/extended_jitter_report.h",
+ "modules/rtp_rtcp/source/rtcp_packet/extended_reports.h",
+ "modules/rtp_rtcp/source/rtcp_packet/fir.h",
+ "modules/rtp_rtcp/source/rtcp_packet/loss_notification.h",
+ "modules/rtp_rtcp/source/rtcp_packet/nack.h",
+ "modules/rtp_rtcp/source/rtcp_packet/pli.h",
+ "modules/rtp_rtcp/source/rtcp_packet/psfb.h",
+ "modules/rtp_rtcp/source/rtcp_packet/rapid_resync_request.h",
+ "modules/rtp_rtcp/source/rtcp_packet/receiver_report.h",
+ "modules/rtp_rtcp/source/rtcp_packet/remb.h",
+ "modules/rtp_rtcp/source/rtcp_packet/remote_estimate.h",
+ "modules/rtp_rtcp/source/rtcp_packet/report_block.h",
+ "modules/rtp_rtcp/source/rtcp_packet/rrtr.h",
+ "modules/rtp_rtcp/source/rtcp_packet/rtpfb.h",
+ "modules/rtp_rtcp/source/rtcp_packet/sdes.h",
+ "modules/rtp_rtcp/source/rtcp_packet/sender_report.h",
+ "modules/rtp_rtcp/source/rtcp_packet/target_bitrate.h",
+ "modules/rtp_rtcp/source/rtcp_packet/tmmb_item.h",
+ "modules/rtp_rtcp/source/rtcp_packet/tmmbn.h",
+ "modules/rtp_rtcp/source/rtcp_packet/tmmbr.h",
+ "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h",
+ "modules/rtp_rtcp/source/rtcp_receiver.h",
+ "modules/rtp_rtcp/source/rtcp_sender.h",
+ "modules/rtp_rtcp/source/rtcp_transceiver.h",
+ "modules/rtp_rtcp/source/rtcp_transceiver_config.h",
+ "modules/rtp_rtcp/source/rtcp_transceiver_impl.h",
+ "modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.h",
+ "modules/rtp_rtcp/source/rtp_dependency_descriptor_reader.h",
+ "modules/rtp_rtcp/source/rtp_dependency_descriptor_writer.h",
+ "modules/rtp_rtcp/source/rtp_descriptor_authentication.h",
+ "modules/rtp_rtcp/source/rtp_format.h",
+ "modules/rtp_rtcp/source/rtp_format_h264.h",
+ "modules/rtp_rtcp/source/rtp_format_video_generic.h",
+ "modules/rtp_rtcp/source/rtp_format_vp8.h",
+ "modules/rtp_rtcp/source/rtp_format_vp9.h",
+ "modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h",
+ "modules/rtp_rtcp/source/rtp_generic_frame_descriptor_extension.h",
+ "modules/rtp_rtcp/source/rtp_header_extension_size.h",
+ "modules/rtp_rtcp/source/rtp_header_extensions.h",
+ "modules/rtp_rtcp/source/rtp_packet.h",
+ "modules/rtp_rtcp/source/rtp_packet_history.h",
+ "modules/rtp_rtcp/source/rtp_packet_received.h",
+ "modules/rtp_rtcp/source/rtp_packet_to_send.h",
+ "modules/rtp_rtcp/source/rtp_packetizer_av1.h",
+ "modules/rtp_rtcp/source/rtp_rtcp_impl.h",
+ "modules/rtp_rtcp/source/rtp_sender.h",
+ "modules/rtp_rtcp/source/rtp_sender_audio.h",
+ "modules/rtp_rtcp/source/rtp_sender_egress.h",
+ "modules/rtp_rtcp/source/rtp_sender_video.h",
+ "modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.h",
+ "modules/rtp_rtcp/source/rtp_sequence_number_map.h",
+ "modules/rtp_rtcp/source/rtp_utility.h",
+ "modules/rtp_rtcp/source/rtp_video_header.h",
+ "modules/rtp_rtcp/source/source_tracker.h",
+ "modules/rtp_rtcp/source/time_util.h",
+ "modules/rtp_rtcp/source/tmmbr_help.h",
+ "modules/rtp_rtcp/source/transformable_encoded_frame.h",
+ "modules/rtp_rtcp/source/ulpfec_generator.h",
+ "modules/rtp_rtcp/source/ulpfec_header_reader_writer.h",
+ "modules/rtp_rtcp/source/ulpfec_receiver_impl.h",
+ "modules/rtp_rtcp/source/video_rtp_depacketizer.h",
+ "modules/rtp_rtcp/source/video_rtp_depacketizer_av1.h",
+ "modules/rtp_rtcp/source/video_rtp_depacketizer_generic.h",
+ "modules/rtp_rtcp/source/video_rtp_depacketizer_h264.h",
+ "modules/rtp_rtcp/source/video_rtp_depacketizer_h265.h",
+ "modules/rtp_rtcp/source/video_rtp_depacketizer_raw.h",
+ "modules/rtp_rtcp/source/video_rtp_depacketizer_vp8.h",
+ "modules/rtp_rtcp/source/video_rtp_depacketizer_vp9.h",
+ "modules/third_party/fft/fft.h",
+ "modules/third_party/g711/g711.h",
+ "modules/third_party/g722/g722_enc_dec.h",
+ "modules/utility/source/process_thread_impl.h",
+ "modules/video_capture/device_info_impl.h",
+ "modules/video_capture/video_capture_factory.h",
+ "modules/video_capture/video_capture_impl.h",
+ "modules/video_coding/codec_timer.h",
+ "modules/video_coding/codecs/av1/libaom_av1_decoder.h",
+ "modules/video_coding/codecs/av1/libaom_av1_encoder.h",
+ "modules/video_coding/codecs/h264/include/h264.h",
+ "modules/video_coding/codecs/multiplex/include/augmented_video_frame_buffer.h",
+ "modules/video_coding/codecs/multiplex/include/multiplex_decoder_adapter.h",
+ "modules/video_coding/codecs/multiplex/include/multiplex_encoder_adapter.h",
+ "modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.h",
+ "modules/video_coding/codecs/vp8/default_temporal_layers.h",
+ "modules/video_coding/codecs/vp8/include/temporal_layers_checker.h",
+ "modules/video_coding/codecs/vp8/libvpx_interface.h",
+ "modules/video_coding/codecs/vp8/libvpx_vp8_decoder.h",
+ "modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h",
+ "modules/video_coding/codecs/vp8/screenshare_layers.h",
+ "modules/video_coding/codecs/vp9/include/vp9.h",
+ "modules/video_coding/codecs/vp9/svc_config.h",
+ "modules/video_coding/codecs/vp9/svc_rate_allocator.h",
+ "modules/video_coding/codecs/vp9/vp9_frame_buffer_pool.h",
+ "modules/video_coding/codecs/vp9/vp9_impl.h",
+ "modules/video_coding/decoder_database.h",
+ "modules/video_coding/decoding_state.h",
+ "modules/video_coding/encoded_frame.h",
+ "modules/video_coding/event_wrapper.h",
+ "modules/video_coding/fec_controller_default.h",
+ "modules/video_coding/frame_buffer.h",
+ "modules/video_coding/frame_buffer2.h",
+ "modules/video_coding/frame_dependencies_calculator.h",
+ "modules/video_coding/frame_object.h",
+ "modules/video_coding/generic_decoder.h",
+ "modules/video_coding/h264_sprop_parameter_sets.h",
+ "modules/video_coding/h264_sps_pps_tracker.h",
+ "modules/video_coding/h265_vps_sps_pps_tracker.h",
+ "modules/video_coding/histogram.h",
+ "modules/video_coding/include/video_codec_initializer.h",
+ "modules/video_coding/include/video_codec_interface.h",
+ "modules/video_coding/include/video_coding_defines.h",
+ "modules/video_coding/include/video_error_codes.h",
+ "modules/video_coding/inter_frame_delay.h",
+ "modules/video_coding/jitter_buffer.h",
+ "modules/video_coding/jitter_estimator.h",
+ "modules/video_coding/loss_notification_controller.h",
+ "modules/video_coding/media_opt_util.h",
+ "modules/video_coding/nack_module.h",
+ "modules/video_coding/packet.h",
+ "modules/video_coding/packet_buffer.h",
+ "modules/video_coding/receiver.h",
+ "modules/video_coding/rtp_frame_reference_finder.h",
+ "modules/video_coding/rtt_filter.h",
+ "modules/video_coding/session_info.h",
+ "modules/video_coding/timestamp_map.h",
+ "modules/video_coding/timing.h",
+ "modules/video_coding/unique_timestamp_counter.h",
+ "modules/video_coding/utility/decoded_frames_history.h",
+ "modules/video_coding/utility/frame_dropper.h",
+ "modules/video_coding/utility/framerate_controller.h",
+ "modules/video_coding/utility/ivf_file_reader.h",
+ "modules/video_coding/utility/ivf_file_writer.h",
+ "modules/video_coding/utility/quality_scaler.h",
+ "modules/video_coding/utility/simulcast_rate_allocator.h",
+ "modules/video_coding/utility/simulcast_utility.h",
+ "modules/video_coding/utility/vp8_header_parser.h",
+ "modules/video_coding/utility/vp9_uncompressed_header_parser.h",
+ "modules/video_coding/video_coding_impl.h",
+ "modules/video_coding/video_receiver2.h",
+ "modules/video_processing/util/denoiser_filter.h",
+ "modules/video_processing/util/denoiser_filter_c.h",
+ "modules/video_processing/util/denoiser_filter_neon.h",
+ "modules/video_processing/util/noise_estimation.h",
+ "modules/video_processing/util/skin_detection.h",
+ "modules/video_processing/video_denoiser.h",
+ "p2p/base/async_stun_tcp_socket.h",
+ "p2p/base/basic_async_resolver_factory.h",
+ "p2p/base/basic_ice_controller.h",
+ "p2p/base/basic_packet_socket_factory.h",
+ "p2p/base/connection.h",
+ "p2p/base/connection_info.h",
+ "p2p/base/default_ice_transport_factory.h",
+ "p2p/base/dtls_transport.h",
+ "p2p/base/dtls_transport_internal.h",
+ "p2p/base/ice_controller_interface.h",
+ "p2p/base/ice_credentials_iterator.h",
+ "p2p/base/ice_transport_internal.h",
+ "p2p/base/mdns_message.h",
+ "p2p/base/p2p_constants.h",
+ "p2p/base/p2p_transport_channel.h",
+ "p2p/base/packet_transport_internal.h",
+ "p2p/base/port.h",
+ "p2p/base/port_allocator.h",
+ "p2p/base/port_interface.h",
+ "p2p/base/pseudo_tcp.h",
+ "p2p/base/regathering_controller.h",
+ "p2p/base/stun_port.h",
+ "p2p/base/stun_request.h",
+ "p2p/base/stun_server.h",
+ "p2p/base/tcp_port.h",
+ "p2p/base/test_stun_server.h",
+ "p2p/base/transport_description.h",
+ "p2p/base/transport_description_factory.h",
+ "p2p/base/turn_port.h",
+ "p2p/base/turn_server.h",
+ "p2p/client/basic_port_allocator.h",
+ "p2p/client/turn_port_factory.h",
+ "p2p/stunprober/stun_prober.h",
+ "pc/audio_rtp_receiver.h",
+ "pc/audio_track.h",
+ "pc/channel.h",
+ "pc/channel_manager.h",
+ "pc/composite_data_channel_transport.h",
+ "pc/composite_rtp_transport.h",
+ "pc/data_channel.h",
+ "pc/data_channel_controller.h",
+ "pc/datagram_rtp_transport.h",
+ "pc/dtls_transport.h",
+ "pc/dtmf_sender.h",
+ "pc/external_hmac.h",
+ "pc/ice_server_parsing.h",
+ "pc/ice_transport.h",
+ "pc/jitter_buffer_delay.h",
+ "pc/jsep_transport.h",
+ "pc/jsep_transport_controller.h",
+ "pc/local_audio_source.h",
+ "pc/media_protocol_names.h",
+ "pc/media_session.h",
+ "pc/media_stream.h",
+ "pc/media_stream_observer.h",
+ "pc/peer_connection.h",
+ "pc/peer_connection_factory.h",
+ "pc/remote_audio_source.h",
+ "pc/rtc_stats_collector.h",
+ "pc/rtc_stats_traversal.h",
+ "pc/rtcp_mux_filter.h",
+ "pc/rtp_media_utils.h",
+ "pc/rtp_parameters_conversion.h",
+ "pc/rtp_receiver.h",
+ "pc/rtp_sender.h",
+ "pc/rtp_transceiver.h",
+ "pc/rtp_transport.h",
+ "pc/sctp_data_channel_transport.h",
+ "pc/sctp_transport.h",
+ "pc/sctp_utils.h",
+ "pc/sdp_serializer.h",
+ "pc/sdp_utils.h",
+ "pc/session_description.h",
+ "pc/simulcast_description.h",
+ "pc/srtp_filter.h",
+ "pc/srtp_session.h",
+ "pc/srtp_transport.h",
+ "pc/stats_collector.h",
+ "pc/track_media_info_map.h",
+ "pc/transport_stats.h",
+ "pc/video_rtp_receiver.h",
+ "pc/video_rtp_track_source.h",
+ "pc/video_track.h",
+ "pc/video_track_source.h",
+ "pc/webrtc_sdp.h",
+ "pc/webrtc_session_description_factory.h",
+ "modules/audio_coding/codecs/g711/g711_interface.h",
+ "modules/audio_coding/codecs/ilbc/constants.h",
+ "modules/audio_coding/codecs/isac/audio_decoder_isac_t.h",
+ "modules/audio_coding/codecs/isac/audio_encoder_isac_t.h",
+ "modules/audio_coding/codecs/isac/bandwidth_info.h",
+ "modules/audio_coding/codecs/isac/fix/source/lpc_tables.h",
+ "modules/audio_coding/codecs/isac/fix/source/pitch_lag_tables.h",
+ "modules/audio_coding/codecs/isac/fix/source/structs.h",
+ "modules/audio_coding/include/audio_coding_module_typedefs.h",
+ "modules/audio_device/include/audio_device.h",
+ "modules/audio_device/include/audio_device_defines.h",
+ "modules/audio_processing/include/audio_frame_view.h",
+ "modules/audio_processing/ns/ns_common.h",
+ "modules/audio_processing/ns/ns_config.h",
+ "modules/audio_processing/transient/common.h",
+ "modules/audio_processing/transient/transient_suppressor.h",
+ "modules/audio_processing/utility/delay_estimator_internal.h",
+ "modules/audio_processing/vad/common.h",
+ "modules/include/module.h",
+ "modules/include/module_common_types_public.h",
+ "modules/include/module_fec_types.h",
+ "modules/rtp_rtcp/source/byte_io.h",
+ "modules/video_capture/video_capture.h",
+ "modules/video_coding/codecs/h264/include/h264_globals.h",
+ "modules/video_coding/codecs/interface/common_constants.h",
+ "modules/video_coding/include/video_coding.h",
+ "modules/video_coding/internal_defines.h",
+ "api/array_view.h",
+ "api/async_resolver_factory.h",
+ "api/audio_codecs/audio_decoder_factory.h",
+ "api/call/audio_sink.h",
+ "api/call/bitrate_allocation.h",
+ "api/call/call_factory_interface.h",
+ "api/crypto/frame_decryptor_interface.h",
+ "api/dtmf_sender_interface.h",
+ "api/fec_controller.h",
+ "api/fec_controller_override.h",
+ "api/frame_transformer_interface.h",
+ "api/ice_transport_interface.h",
+ "api/network_state_predictor.h",
+ "api/packet_socket_factory.h",
+ "api/rtc_event_log/rtc_event_log_factory_interface.h",
+ "api/rtc_event_log_output.h",
+ "api/test/simulated_network.h",
+ "api/transport/data_channel_transport_interface.h",
+ "api/transport/datagram_transport_interface.h",
+ "api/transport/enums.h",
+ "api/transport/network_control.h",
+ "api/transport/webrtc_key_value_config.h",
+ "api/turn_customizer.h",
+ "api/video/video_bitrate_allocator_factory.h",
+ "api/video/video_codec_type.h",
+ "api/video/video_stream_decoder.h",
+ "audio/audio_level.h",
+ "audio/audio_receive_stream.h",
+ "audio/audio_state.h",
+ "audio/audio_transport_impl.h",
+ "audio/channel_receive.h",
+ "audio/channel_send.h",
+ "audio/channel_send_frame_transformer_delegate.h",
+ "audio/null_audio_poller.h",
+ "audio/utility/channel_mixer.h",
+ "audio/utility/channel_mixing_matrix.h",
+ "audio/voip/audio_egress.h",
+ "p2p/base/ice_controller_factory_interface.h",
+ "rtc_base/async_invoker_inl.h",
+ "rtc_base/buffer.h",
+ "rtc_base/callback.h",
+ "rtc_base/compile_assert_c.h",
+ "rtc_base/dscp.h",
+ "rtc_base/gtest_prod_util.h",
+ "rtc_base/http_common.h",
+ "rtc_base/ip_address.h",
+ "rtc_base/numerics/percentile_filter.h",
+ "rtc_base/numerics/safe_conversions_impl.h",
+ "rtc_base/numerics/safe_minmax.h",
+ "rtc_base/ref_counted_object.h",
+ "rtc_base/rolling_accumulator.h",
+ "rtc_base/sanitizer.h",
+ "rtc_base/stringize_macros.h",
+ "rtc_base/system/rtc_export_template.h",
+ "rtc_base/system/unused.h",
+ "rtc_base/thread_checker.h",
+ "rtc_base/time_utils.h",
+ "rtc_base/units/unit_base.h",
+ "video/adaptation/adaptation_counters.h",
+ "video/adaptation/encode_usage_resource.h",
+ "video/adaptation/overuse_frame_detector.h",
+ "video/adaptation/resource_adaptation_processor.h",
+ "video/adaptation/video_stream_adapter.h",
+ "video/call_stats.h",
+ "video/encoder_bitrate_adjuster.h",
+ "video/encoder_overshoot_detector.h",
+ "video/encoder_rtcp_feedback.h",
+ "video/frame_dumping_decoder.h",
+ "video/frame_encode_metadata_writer.h",
+ "video/quality_limitation_reason_tracker.h",
+ "video/receive_statistics_proxy.h",
+ "video/rtp_streams_synchronizer.h",
+ "video/rtp_video_stream_receiver_frame_transformer_delegate.h",
+ "video/send_delay_stats.h",
+ "video/send_statistics_proxy.h",
+ "video/stream_synchronization.h",
+ "video/transport_adapter.h",
+ "video/video_quality_observer.h",
+ "video/video_receive_stream.h",
+ "video/video_send_stream_impl.h",
+ "video/video_source_sink_controller.h",
+ "video/video_stream_decoder_impl.h",
+ "call/rtp_packet_sink_interface.h",
+ "call/rtp_stream_receiver_controller_interface.h",
+ "api/audio/echo_control.h",
+ "api/crypto/frame_encryptor_interface.h",
+ "api/crypto_params.h",
+ "api/neteq/neteq_controller_factory.h",
+ "api/transport/rtp/dependency_descriptor.h",
+ "api/video/video_codec_constants.h",
+ "api/video/video_frame_type.h",
+ "api/video/video_sink_interface.h",
+ "api/video/video_stream_encoder_interface.h",
+ "audio/audio_send_stream.h",
+ "audio/channel_receive_frame_transformer_delegate.h",
+ "audio/remix_resample.h",
+ "audio/utility/audio_frame_operations.h",
+ "call/ssrc_binding_observer.h",
+ "common_audio/fir_filter.h",
+ "common_audio/third_party/fft4g/fft4g.h",
+ "common_types.h",
+ "common_video/h264/profile_level_id.h",
+ "common_video/h265/h265_sps_parser.h",
+ "common_video/h265/h265_vps_parser.h",
+ "common_video/include/quality_limitation_reason.h",
+ "modules/audio_coding/codecs/ilbc/abs_quant.h",
+ "modules/audio_coding/codecs/ilbc/abs_quant_loop.h",
+ "modules/audio_coding/codecs/ilbc/augmented_cb_corr.h",
+ "modules/audio_coding/codecs/ilbc/bw_expand.h",
+ "modules/audio_coding/codecs/ilbc/cb_mem_energy_calc.h",
+ "modules/audio_coding/codecs/ilbc/cb_update_best_index.h",
+ "modules/audio_coding/codecs/ilbc/chebyshev.h",
+ "modules/audio_coding/codecs/ilbc/comp_corr.h",
+ "modules/audio_coding/codecs/ilbc/create_augmented_vec.h",
+ "modules/audio_coding/codecs/ilbc/enh_upsample.h",
+ "modules/audio_coding/codecs/ilbc/gain_dequant.h",
+ "modules/audio_coding/codecs/ilbc/gain_quant.h",
+ "modules/audio_coding/codecs/ilbc/get_sync_seq.h",
+ "modules/audio_coding/codecs/ilbc/init_encode.h",
+ "modules/audio_coding/codecs/ilbc/lpc_encode.h",
+ "modules/audio_coding/codecs/ilbc/lsf_interpolate_to_poly_enc.h",
+ "modules/audio_coding/codecs/ilbc/lsf_to_lsp.h",
+ "modules/audio_coding/codecs/ilbc/lsf_to_poly.h",
+ "modules/audio_coding/codecs/ilbc/poly_to_lsp.h",
+ "modules/audio_coding/codecs/ilbc/refiner.h",
+ "modules/audio_coding/codecs/ilbc/simple_lpc_analysis.h",
+ "modules/audio_coding/codecs/ilbc/simple_lsf_dequant.h",
+ "modules/audio_coding/codecs/ilbc/smooth_out_data.h",
+ "modules/audio_coding/codecs/ilbc/sort_sq.h",
+ "modules/audio_coding/codecs/ilbc/split_vq.h",
+ "modules/audio_coding/codecs/ilbc/state_construct.h",
+ "modules/audio_coding/codecs/ilbc/window32_w32.h",
+ "modules/audio_coding/codecs/ilbc/xcorr_coef.h",
+ "modules/audio_coding/codecs/isac/fix/source/lpc_masking_model.h",
+ "modules/audio_coding/codecs/isac/main/source/entropy_coding.h",
+ "modules/audio_coding/codecs/isac/main/source/filter_functions.h",
+ "modules/audio_coding/codecs/isac/main/source/os_specific_inline.h",
+ "modules/audio_coding/codecs/opus/opus_inst.h",
+ "modules/audio_mixer/output_rate_calculator.h",
+ "modules/audio_processing/aec3/fft_data.h",
+ "modules/audio_processing/aec3/nearend_detector.h",
+ "modules/audio_processing/aecm/aecm_defines.h",
+ "modules/audio_processing/agc/legacy/gain_control.h",
+ "modules/audio_processing/agc2/rnn_vad/pitch_info.h",
+ "modules/audio_processing/agc2/rnn_vad/ring_buffer.h",
+ "modules/audio_processing/include/audio_generator.h",
+ "modules/audio_processing/transient/daubechies_8_wavelet_coeffs.h",
+ "modules/audio_processing/utility/ooura_fft_tables_common.h",
+ "modules/audio_processing/vad/noise_gmm_tables.h",
+ "modules/congestion_controller/goog_cc/delay_increase_detector_interface.h",
+ "modules/rtp_rtcp/include/receive_statistics.h",
+ "modules/utility/include/process_thread.h",
+ "modules/video_coding/codecs/vp9/include/vp9_globals.h",
+ "pc/rtp_transport_internal.h",
+ "rtc_base/bind.h",
+ "rtc_base/mdns_responder_interface.h",
+ "rtc_base/message_buffer_reader.h",
+ "rtc_base/numerics/running_statistics.h",
+ "rtc_base/numerics/sequence_number_util.h",
+ "rtc_base/openssl.h",
+ "rtc_base/socket_server.h",
+ "rtc_base/task_utils/to_queued_task.h",
+ "video/adaptation/quality_scaler_resource.h",
+ "video/buffered_frame_decryptor.h",
+ "video/quality_threshold.h",
+ "video/report_block_stats.h",
+ "video/rtp_video_stream_receiver.h",
+ "video/stats_counter.h",
+ "video/video_send_stream.h",
+ "video/video_stream_decoder.h",
+ "video/video_stream_encoder.h",
+ "rtc_base/socket_factory.h",
+ "api/audio_codecs/audio_decoder_factory_template.h",
+ "api/audio_codecs/audio_encoder_factory_template.h",
+ "api/audio_codecs/g722/audio_encoder_g722_config.h",
+ "api/audio_codecs/ilbc/audio_encoder_ilbc_config.h",
+ "api/audio_codecs/opus/audio_decoder_multi_channel_opus_config.h",
+ "api/neteq/neteq_controller.h",
+ "api/neteq/neteq_factory.h",
+ "api/notifier.h",
+ "api/rtp_transceiver_direction.h",
+ "api/stats/rtc_stats_collector_callback.h",
+ "api/transport/congestion_control_interface.h",
+ "api/transport/rtp/rtp_source.h",
+ "api/video/recordable_encoded_frame.h",
+ "api/video/video_frame_marking.h",
+ "api/video_codecs/bitstream_parser.h",
+ "api/video_codecs/vp8_frame_buffer_controller.h",
+ "media/base/delayable.h",
+ "media/sctp/sctp_transport.h",
+ "media/sctp/sctp_transport_internal.h",
+ "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h",
+ "modules/audio_coding/codecs/ilbc/decoder_interpolate_lsf.h",
+ "modules/audio_coding/codecs/ilbc/encode.h",
+ "modules/audio_coding/codecs/ilbc/enhancer.h",
+ "modules/audio_coding/codecs/ilbc/filtered_cb_vecs.h",
+ "modules/audio_coding/codecs/ilbc/frame_classify.h",
+ "modules/audio_coding/codecs/ilbc/get_lsp_poly.h",
+ "modules/audio_coding/codecs/ilbc/index_conv_dec.h",
+ "modules/audio_coding/codecs/ilbc/lsp_to_lsf.h",
+ "modules/audio_coding/codecs/ilbc/my_corr.h",
+ "modules/audio_coding/codecs/ilbc/nearest_neighbor.h",
+ "modules/audio_coding/codecs/ilbc/poly_to_lsf.h",
+ "modules/audio_coding/codecs/ilbc/simple_interpolate_lsf.h",
+ "modules/audio_coding/codecs/ilbc/smooth.h",
+ "modules/audio_coding/codecs/isac/fix/source/isac_fix_type.h",
+ "modules/audio_coding/codecs/isac/main/source/isac_float_type.h",
+ "modules/audio_coding/codecs/isac/main/source/pitch_filter.h",
+ "modules/audio_device/audio_device_config.h",
+ "modules/audio_device/include/audio_device_default.h",
+ "modules/audio_processing/aec3/delay_estimate.h",
+ "modules/audio_processing/aec3/vector_math.h",
+ "modules/audio_processing/agc/gain_control.h",
+ "modules/audio_processing/agc2/rnn_vad/sequence_buffer.h",
+ "modules/audio_processing/agc2/rnn_vad/symmetric_matrix_buffer.h",
+ "modules/audio_processing/transient/dyadic_decimator.h",
+ "modules/audio_processing/transient/windows_private.h",
+ "modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h",
+ "modules/audio_processing/vad/vad_audio_proc_internal.h",
+ "modules/audio_processing/vad/voice_gmm_tables.h",
+ "modules/congestion_controller/bbr/packet_number_indexed_queue.h",
+ "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h",
+ "modules/rtp_rtcp/include/rtcp_statistics.h",
+ "modules/rtp_rtcp/include/rtp_rtcp.h",
+ "modules/rtp_rtcp/source/rtp_format_h265.h",
+ "modules/video_capture/video_capture_defines.h",
+ "modules/video_coding/fec_rate_table.h",
+ "p2p/base/candidate_pair_interface.h",
+ "rtc_base/ignore_wundef.h",
+ "rtc_base/numerics/math_utils.h",
+ "rtc_base/numerics/mod_ops.h",
+ "rtc_base/numerics/moving_median_filter.h",
+ "rtc_base/socket_adapters.h",
+ "rtc_base/ssl_roots.h",
+ "rtc_base/system/warn_current_thread_is_deadlocked.h",
+ "rtc_base/thread_message.h",
+ "rtc_base/trace_event.h",
+ "api/audio_codecs/isac/audio_decoder_isac.h",
+ "api/audio_codecs/isac/audio_encoder_isac.h",
+ "api/task_queue/default_task_queue_factory.h",
+ "api/video/video_stream_encoder_settings.h",
+ "api/video_track_source_proxy.h",
+ "call/audio_sender.h",
+ "call/rtcp_packet_sink_interface.h",
+ "call/rtp_transport_controller_send_interface.h",
+ "call/rtp_video_sender_interface.h",
+ "modules/audio_coding/audio_network_adaptor/util/threshold_curve.h",
+ "modules/audio_coding/codecs/ilbc/cb_mem_energy.h",
+ "modules/audio_coding/codecs/ilbc/do_plc.h",
+ "modules/audio_coding/codecs/ilbc/hp_output.h",
+ "modules/audio_coding/codecs/ilbc/init_decode.h",
+ "modules/audio_coding/codecs/ilbc/simple_lsf_quant.h",
+ "modules/audio_coding/codecs/ilbc/state_search.h",
+ "modules/audio_coding/codecs/isac/audio_decoder_isac_t_impl.h",
+ "modules/audio_coding/codecs/isac/audio_encoder_isac_t_impl.h",
+ "modules/audio_processing/agc/gain_map_internal.h",
+ "modules/congestion_controller/bbr/windowed_filter.h",
+ "modules/video_capture/video_capture_config.h",
+ "modules/video_coding/codecs/h265/include/h265_globals.h",
+ "modules/video_coding/codecs/vp8/include/vp8.h",
+ "p2p/base/p2p_transport_channel_ice_field_trials.h",
+ "pc/jitter_buffer_delay_interface.h",
+ "pc/media_stream_track.h",
+ "rtc_base/swap_queue.h",
+ "rtc_base/system/ignore_warnings.h",
+ "logging/rtc_event_log/encoder/rtc_event_log_encoder.h",
+ "logging/rtc_event_log/events/rtc_event_remote_estimate.h",
+ "system_wrappers/include/clock.h",
+ "system_wrappers/include/cpu_features_wrapper.h",
+ "system_wrappers/include/cpu_info.h",
+ "system_wrappers/include/field_trial.h",
+ "system_wrappers/include/metrics.h",
+ "system_wrappers/include/ntp_time.h",
+ "system_wrappers/include/rtp_to_ntp_estimator.h",
+ "system_wrappers/include/sleep.h",
+ "modules/video_coding/codecs/vp8/include/vp8_globals.h",
+ "p2p/client/relay_port_factory_interface.h",
+ "media/base/audio_source.h",
+ "media/base/media_config.h",
+ "modules/rtp_rtcp/source/video_fec_generator.h",
+ "api/set_remote_description_observer_interface.h",
+ "pc/channel_interface.h",
+ "call/packet_receiver.h",
+ "p2p/base/transport_info.h",
+ "modules/rtp_rtcp/include/ulpfec_receiver.h",
+ "modules/rtp_rtcp/include/rtp_packet_sender.h",
+ "rtc_base/numerics/moving_max_counter.h",
+ "modules/audio_coding/codecs/ilbc/enhancer_interface.h",
+ "modules/rtp_rtcp/include/rtp_cvo.h",
+ "call/simulated_packet_receiver.h",
+ "api/media_stream_proxy.h",
+ "logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.h",
+ "modules/audio_coding/codecs/ilbc/cb_search.h",
+ "modules/audio_coding/codecs/ilbc/decode.h",
+ "modules/audio_coding/codecs/ilbc/interpolate_samples.h",
+ "modules/audio_coding/codecs/ilbc/lsf_check.h",
+ "modules/audio_processing/render_queue_item_verifier.h",
+ "modules/pacing/rtp_packet_pacer.h",
+ "modules/rtp_rtcp/source/rtp_rtcp_config.h",
+ "modules/video_coding/jitter_buffer_common.h",
+ "p2p/base/dtls_transport_factory.h",
+ "p2p/base/udp_port.h",
+ "pc/peer_connection_internal.h",
+ "pc/used_ids.h",
+ "rtc_base/keep_ref_until_done.h",
+ "rtc_base/numerics/divide_round.h",
+ "rtc_base/system/thread_registry.h",
+ "rtc_base/one_time_event.h",
+ "rtc_base/format_macros.h",
+ "audio/conversion.h",
+ "modules/audio_coding/codecs/ilbc/cb_mem_energy_augmentation.h",
+ "modules/audio_coding/codecs/ilbc/unpack_bits.h",
+ "modules/audio_coding/codecs/ilbc/index_conv_enc.h",
+ "api/media_stream_track_proxy.h",
+ "pc/stream_collection.h",
+ "api/peer_connection_factory_proxy.h",
+ "api/uma_metrics.h",
+ "logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.h",
+ "modules/audio_coding/codecs/ilbc/cb_search_core.h",
+ "modules/audio_coding/codecs/ilbc/pack_bits.h",
+ "modules/audio_coding/codecs/ilbc/swap_bytes.h",
+ "modules/audio_processing/common.h",
+ "pc/jitter_buffer_delay_proxy.h",
+ "api/peer_connection_proxy.h",
+ "modules/audio_coding/codecs/ilbc/hp_input.h",
]
ios_objc_sources = [
@@ -1541,6 +2988,8 @@ ios_objc_sources = [
"objc/base/RTCEncodedImage.m",
"objc/base/RTCRtpFragmentationHeader.h",
"objc/base/RTCRtpFragmentationHeader.m",
+ "objc/api/peerconnection/RTCRtpFragmentationHeader+Private.h",
+ "objc/api/peerconnection/RTCRtpFragmentationHeader+Private.mm",
"objc/base/RTCVideoCapturer.h",
"objc/base/RTCVideoCapturer.m",
"objc/base/RTCVideoCodecInfo.h",
@@ -1564,6 +3013,7 @@ ios_objc_sources = [
]
ios_sources = [
+ "objc/native/src/audio/audio_session_observer.h",
"objc/native/src/audio/audio_device_ios.h",
"objc/native/src/audio/audio_device_ios.mm",
"objc/native/src/audio/audio_device_module_ios.h",
@@ -1679,6 +3129,7 @@ ios_sources = [
"objc/native/api/video_frame_buffer.mm",
"objc/native/api/video_renderer.h",
"objc/native/api/video_renderer.mm",
+ "objc/native/api/audio_device_module.h",
"objc/components/renderer/metal/RTCMTLNV12Renderer.h",
"objc/components/renderer/metal/RTCMTLNV12Renderer.mm",
"objc/components/renderer/metal/RTCMTLRGBRenderer.h",
@@ -1689,12 +3140,42 @@ ios_sources = [
"objc/components/renderer/metal/RTCMTLRenderer.h",
"objc/components/renderer/metal/RTCMTLRenderer.mm",
"objc/components/video_codec/UIDevice+H264Profile.mm",
+ "objc/components/video_codec/UIDevice+H264Profile.h",
+ "objc/api/peerconnection/RTCAudioSource+Private.h",
+ "objc/api/peerconnection/RTCAudioTrack+Private.h",
+ "objc/api/peerconnection/RTCCertificate.h",
+ "objc/components/video_codec/RTCCodecSpecificInfoH265+Private.h",
+ "objc/api/peerconnection/RTCConfiguration+Private.h",
+ "objc/api/peerconnection/RTCCryptoOptions.h",
+ "objc/api/peerconnection/RTCDataChannel+Private.h",
+ "objc/api/peerconnection/RTCDtmfSender+Private.h",
+ "objc/api/peerconnection/RTCEncodedImage+Private.h",
+ "objc/api/peerconnection/RTCIceCandidate+Private.h",
+ "objc/api/peerconnection/RTCIceServer+Private.h",
+ "objc/api/peerconnection/RTCLegacyStatsReport+Private.h",
+ "objc/api/peerconnection/RTCMediaStream+Private.h",
+ "objc/api/peerconnection/RTCPeerConnection+Private.h",
+ "objc/api/peerconnection/RTCPeerConnectionFactory+Native.h",
+ "objc/api/peerconnection/RTCPeerConnectionFactoryBuilder.h",
+ "objc/api/peerconnection/RTCRtcpParameters+Private.h",
+ "objc/api/peerconnection/RTCRtpCodecParameters+Private.h",
+ "objc/api/peerconnection/RTCRtpEncodingParameters+Private.h",
+ "objc/api/peerconnection/RTCRtpHeaderExtension+Private.h",
+ "objc/api/peerconnection/RTCRtpParameters+Private.h",
+ "objc/api/peerconnection/RTCRtpReceiver+Private.h",
+ "objc/api/peerconnection/RTCRtpSender+Private.h",
+ "objc/api/peerconnection/RTCRtpTransceiver+Private.h",
+ "objc/api/peerconnection/RTCSessionDescription+Private.h",
+ "objc/api/peerconnection/RTCStatisticsReport+Private.h",
+ "objc/api/peerconnection/RTCVideoCodecInfo+Private.h",
+ "objc/api/peerconnection/RTCVideoEncoderSettings+Private.h",
+ "objc/api/RTCVideoRendererAdapter+Private.h",
+ "objc/api/peerconnection/RTCVideoTrack+Private.h",
"objc/helpers/UIDevice+RTCDevice.mm",
"objc/api/peerconnection/RTCEncodedImage+Private.mm",
"objc/api/peerconnection/RTCPeerConnection+DataChannel.mm",
"objc/api/peerconnection/RTCPeerConnection+Stats.mm",
"objc/api/peerconnection/RTCPeerConnectionFactoryBuilder+DefaultComponents.mm",
- "objc/api/peerconnection/RTCRtpFragmentationHeader+Private.mm",
"objc/api/peerconnection/RTCVideoCodecInfo+Private.mm",
"objc/api/peerconnection/RTCVideoEncoderSettings+Private.mm",
"objc/helpers/NSString+StdString.mm",
@@ -1726,7 +3207,46 @@ ios_sources = [
"objc/api/peerconnection/RTCRtpHeaderExtension.mm",
"objc/api/peerconnection/RTCRtcpParameters.mm",
"media_constraints.cc",
+ "media_constraints.h",
"objc/native/api/audio_device_module.mm",
+ "objc/helpers/UIDevice+RTCDevice.h",
+ "objc/Framework/Classes/VideoToolbox/nalu_rewriter.h",
+ "objc/api/RTCVideoRendererAdapter.h",
+ "objc/api/peerconnection/RTCStatisticsReport.h",
+ "objc/api/peerconnection/RTCAudioSource.h",
+ "objc/api/peerconnection/RTCAudioTrack.h",
+ "objc/api/peerconnection/RTCConfiguration.h",
+ "objc/api/peerconnection/RTCDataChannel.h",
+ "objc/api/peerconnection/RTCDtmfSender.h",
+ "objc/api/peerconnection/RTCIceCandidate.h",
+ "objc/api/peerconnection/RTCIceServer.h",
+ "objc/api/peerconnection/RTCLegacyStatsReport.h",
+ "objc/api/peerconnection/RTCMediaStream.h",
+ "objc/api/peerconnection/RTCPeerConnection.h",
+ "objc/api/peerconnection/RTCPeerConnectionFactory.h",
+ "objc/api/peerconnection/RTCRtcpParameters.h",
+ "objc/api/peerconnection/RTCRtpCodecParameters.h",
+ "objc/api/peerconnection/RTCRtpEncodingParameters.h",
+ "objc/api/peerconnection/RTCRtpHeaderExtension.h",
+ "objc/api/peerconnection/RTCRtpParameters.h",
+ "objc/api/peerconnection/RTCRtpReceiver.h",
+ "objc/api/peerconnection/RTCRtpSender.h",
+ "objc/api/peerconnection/RTCRtpTransceiver.h",
+ "objc/api/peerconnection/RTCSessionDescription.h",
+ "objc/api/peerconnection/RTCVideoTrack.h",
+ "objc/api/peerconnection/RTCMediaStreamTrack.h",
+ "objc/api/peerconnection/RTCMediaStreamTrack+Private.h",
+ "objc/api/peerconnection/RTCDataChannelConfiguration+Private.h",
+ "objc/api/peerconnection/RTCPeerConnectionFactory+Private.h",
+ "objc/api/peerconnection/RTCPeerConnectionFactoryBuilder+DefaultComponents.h",
+ "objc/api/peerconnection/RTCRtpReceiver+Native.h",
+ "objc/api/peerconnection/RTCMediaConstraints+Private.h",
+ "objc/api/peerconnection/RTCMediaConstraints.h",
+ "objc/api/peerconnection/RTCRtpSender+Native.h",
+ "objc/api/peerconnection/RTCDataChannelConfiguration.h",
+ "objc/api/peerconnection/RTCPeerConnectionFactoryOptions+Private.h",
+ "objc/api/peerconnection/RTCConfiguration+Native.h",
+ "objc/api/peerconnection/RTCPeerConnectionFactoryOptions.h",
]
common_arm_specific_sources = ["webrtc-ios/src/" + path for path in [
@@ -1800,9 +3320,6 @@ arch_specific_cflags = select({
"@build_bazel_rules_apple//apple:ios_x86_64": common_flags + x86_64_specific_flags,
})
-raw_combined_sources = webrtc_sources + rnnoice_sources + pffft_sources + absl_sources
-combined_sources = ["webrtc-ios/src/" + path for path in raw_combined_sources] + arch_specific_sources
-
cc_library(
name = "usrsctp",
srcs = ["webrtc-ios/src/third_party/usrsctp/" + path for path in [
@@ -2097,7 +3614,7 @@ cc_library(
visibility = ["//visibility:public"],
)
-objc_library(
+'''objc_library(
name = "webrtc_objcpp_sdk",
enable_modules = True,
module_name = "webrtc_objcpp_sdk",
@@ -2142,10 +3659,13 @@ objc_library(
":libevent",
],
visibility = ["//visibility:public"],
-)
+)'''
+
+raw_combined_sources = webrtc_sources + rnnoise_sources + pffft_sources + absl_sources
+combined_sources = ["webrtc-ios/src/" + path for path in raw_combined_sources] + arch_specific_sources + ["webrtc-ios/src/sdk/" + path for path in ios_sources + ios_objc_sources]
objc_library(
- name = "webrtc_lib_custom" if use_gn_build else "webrtc_lib",
+ name = "webrtc_lib",
enable_modules = True,
module_name = "webrtc",
srcs = combined_sources,
@@ -2183,7 +3703,6 @@ objc_library(
":libsrtp",
":libevent",
":libyuv",
- ":webrtc_objcpp_sdk",
"//third-party/libvpx:vpx",
],
visibility = ["//visibility:public"],
diff --git a/third-party/webrtc/build-webrtc-bazel.sh b/third-party/webrtc/build-webrtc-bazel.sh
deleted file mode 100755
index 93bc477e08..0000000000
--- a/third-party/webrtc/build-webrtc-bazel.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#/bin/sh
-
-set -x
-set -e
-
-BUILD_DIR="$(pwd)/$1"
-ARCH="$2"
-
-echo "BUILD_DIR=$BUILD_DIR"
-echo "ARCH=$ARCH"
-
-export PATH="$PATH:$BUILD_DIR/depot_tools"
-
-rm -rf "$BUILD_DIR/src/openssl"
-cp -R "$BUILD_DIR/openssl" "$BUILD_DIR/src/"
-
-pushd "$BUILD_DIR/src"
-
-OUT_DIR="ios"
-if [ "$ARCH" == "x64" ]; then
- OUT_DIR="ios_sim"
-fi
-
-buildtools/mac/gn gen out/$OUT_DIR --args="use_xcode_clang=true "" target_cpu=\"$ARCH\""' target_os="ios" is_debug=false is_component_build=false rtc_include_tests=false use_rtti=true rtc_use_x11=false use_custom_libcxx=false use_custom_libcxx_for_host=false rtc_build_ssl=false rtc_build_examples=false rtc_build_tools=false ios_deployment_target="9.0" ios_enable_code_signing=false is_unsafe_developer_build=false rtc_enable_protobuf=false rtc_include_builtin_video_codecs=true rtc_build_libvpx=true rtc_libvpx_build_vp9=true rtc_use_gtk=false rtc_use_metal_rendering=true'
-ninja -C out/$OUT_DIR framework_objc_static
-
-popd
diff --git a/third-party/webrtc/webrtc-ios b/third-party/webrtc/webrtc-ios
index 2e909582b7..eb9d68429a 160000
--- a/third-party/webrtc/webrtc-ios
+++ b/third-party/webrtc/webrtc-ios
@@ -1 +1 @@
-Subproject commit 2e909582b78f63911497dad823e5b5f247ecf1d9
+Subproject commit eb9d68429a5805f904e9b7605f3900cef6453333