mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-07-25 20:50:47 +00:00
Cleanup
This commit is contained in:
parent
d1ad1668c4
commit
504cb1d596
@ -25,7 +25,6 @@ def transform_cache_host_into_http(grpc_url):
|
|||||||
|
|
||||||
return transformed_url
|
return transformed_url
|
||||||
|
|
||||||
|
|
||||||
def calculate_sha256(file_path):
|
def calculate_sha256(file_path):
|
||||||
sha256_hash = hashlib.sha256()
|
sha256_hash = hashlib.sha256()
|
||||||
with open(file_path, "rb") as file:
|
with open(file_path, "rb") as file:
|
||||||
@ -37,6 +36,8 @@ def calculate_sha256(file_path):
|
|||||||
def resolve_cache_host(cache_host):
|
def resolve_cache_host(cache_host):
|
||||||
if cache_host is None:
|
if cache_host is None:
|
||||||
return None
|
return None
|
||||||
|
if cache_host.startswith("file://"):
|
||||||
|
return None
|
||||||
if "@auto" in cache_host:
|
if "@auto" in cache_host:
|
||||||
host_parts = cache_host.split("@auto")
|
host_parts = cache_host.split("@auto")
|
||||||
host_left_part = host_parts[0]
|
host_left_part = host_parts[0]
|
||||||
@ -44,7 +45,18 @@ def resolve_cache_host(cache_host):
|
|||||||
return f"{host_left_part}localhost{host_right_part}"
|
return f"{host_left_part}localhost{host_right_part}"
|
||||||
return cache_host
|
return cache_host
|
||||||
|
|
||||||
def locate_bazel(base_path, cache_host):
|
def resolve_cache_path(cache_host_or_path, cache_dir):
|
||||||
|
if cache_dir is not None:
|
||||||
|
return cache_dir
|
||||||
|
if cache_host_or_path is not None:
|
||||||
|
if cache_host_or_path.startswith("file://"):
|
||||||
|
return cache_host_or_path.replace("file://", "")
|
||||||
|
return None
|
||||||
|
|
||||||
|
def cache_cas_name(digest):
|
||||||
|
return (digest[:2], digest)
|
||||||
|
|
||||||
|
def locate_bazel(base_path, cache_host_or_path, cache_dir):
|
||||||
build_input_dir = '{}/build-input'.format(base_path)
|
build_input_dir = '{}/build-input'.format(base_path)
|
||||||
if not os.path.isdir(build_input_dir):
|
if not os.path.isdir(build_input_dir):
|
||||||
os.mkdir(build_input_dir)
|
os.mkdir(build_input_dir)
|
||||||
@ -57,7 +69,8 @@ def locate_bazel(base_path, cache_host):
|
|||||||
bazel_name = 'bazel-{version}-{arch}'.format(version=versions.bazel_version, arch=arch)
|
bazel_name = 'bazel-{version}-{arch}'.format(version=versions.bazel_version, arch=arch)
|
||||||
bazel_path = '{}/build-input/{}'.format(base_path, bazel_name)
|
bazel_path = '{}/build-input/{}'.format(base_path, bazel_name)
|
||||||
|
|
||||||
resolved_cache_host = resolve_cache_host(cache_host)
|
resolved_cache_host = resolve_cache_host(cache_host_or_path)
|
||||||
|
resolved_cache_path = resolve_cache_path(cache_host_or_path, cache_dir)
|
||||||
|
|
||||||
if not os.path.isfile(bazel_path):
|
if not os.path.isfile(bazel_path):
|
||||||
if resolved_cache_host is not None and versions.bazel_version_sha256 is not None:
|
if resolved_cache_host is not None and versions.bazel_version_sha256 is not None:
|
||||||
@ -77,6 +90,11 @@ def locate_bazel(base_path, cache_host):
|
|||||||
test_sha256 = calculate_sha256(temp_output_file.name)
|
test_sha256 = calculate_sha256(temp_output_file.name)
|
||||||
if test_sha256 == versions.bazel_version_sha256:
|
if test_sha256 == versions.bazel_version_sha256:
|
||||||
shutil.copyfile(temp_output_file.name, bazel_path)
|
shutil.copyfile(temp_output_file.name, bazel_path)
|
||||||
|
elif resolved_cache_path is not None:
|
||||||
|
(cache_cas_id, cache_cas_name) = cache_cas_name(versions.bazel_version_sha256)
|
||||||
|
cached_path = '{}/cas/{}/{}'.format(resolved_cache_path, cache_cas_id, cache_cas_name)
|
||||||
|
if os.path.isfile(cached_path):
|
||||||
|
shutil.copyfile(cached_path, bazel_path)
|
||||||
|
|
||||||
|
|
||||||
if os.path.isfile(bazel_path) and versions.bazel_version_sha256 is not None:
|
if os.path.isfile(bazel_path) and versions.bazel_version_sha256 is not None:
|
||||||
@ -118,6 +136,11 @@ def locate_bazel(base_path, cache_host):
|
|||||||
hash=versions.bazel_version_sha256
|
hash=versions.bazel_version_sha256
|
||||||
)
|
)
|
||||||
], check_result=False)
|
], check_result=False)
|
||||||
|
elif resolved_cache_path is not None:
|
||||||
|
(cache_cas_id, cache_cas_name) = cache_cas_name(versions.bazel_version_sha256)
|
||||||
|
cached_path = '{}/cas/{}/{}'.format(resolved_cache_path, cache_cas_id, cache_cas_name)
|
||||||
|
os.makedirs(os.path.dirname(cached_path), exist_ok=True)
|
||||||
|
shutil.copyfile(bazel_path, cached_path)
|
||||||
|
|
||||||
if not os.access(bazel_path, os.X_OK):
|
if not os.access(bazel_path, os.X_OK):
|
||||||
st = os.stat(bazel_path)
|
st = os.stat(bazel_path)
|
||||||
|
@ -1282,7 +1282,7 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
bazel_path = None
|
bazel_path = None
|
||||||
if args.bazel is None:
|
if args.bazel is None:
|
||||||
bazel_path = locate_bazel(base_path=os.getcwd(), cache_host=args.cacheHost)
|
bazel_path = locate_bazel(base_path=os.getcwd(), cache_host_or_path=args.cacheHost, cache_dir=args.cacheDir)
|
||||||
else:
|
else:
|
||||||
bazel_path = args.bazel
|
bazel_path = args.bazel
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ class TartVMManager:
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.active_vms: Dict[str, Dict] = {}
|
self.active_vms: Dict[str, Dict] = {}
|
||||||
|
|
||||||
def create_vm(self, session_id: str, image: str) -> Dict:
|
def create_vm(self, session_id: str, image: str, mount_directories: Dict[str, str]) -> Dict:
|
||||||
"""Create a new ephemeral VM for the session"""
|
"""Create a new ephemeral VM for the session"""
|
||||||
vm_name = f"telegrambuild-{session_id}"
|
vm_name = f"telegrambuild-{session_id}"
|
||||||
|
|
||||||
@ -53,9 +53,10 @@ class TartVMManager:
|
|||||||
def run_vm():
|
def run_vm():
|
||||||
"""Run the VM in background thread"""
|
"""Run the VM in background thread"""
|
||||||
try:
|
try:
|
||||||
subprocess.run([
|
run_arguments = ["tart", "run", vm_name]
|
||||||
"tart", "run", vm_name
|
for mount_directory in mount_directories.keys():
|
||||||
], check=True, capture_output=False, text=True)
|
run_arguments.append(f"--dir={mount_directory}:{mount_directories[mount_directory]}")
|
||||||
|
subprocess.run(run_arguments, check=True, capture_output=False, text=True)
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
logger.error(f"VM {vm_name} exited with error: {e}")
|
logger.error(f"VM {vm_name} exited with error: {e}")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -462,10 +463,11 @@ class TartBuildSession(RemoteBuildSessionInterface):
|
|||||||
class TartBuildSessionContext(RemoteBuildSessionContextInterface):
|
class TartBuildSessionContext(RemoteBuildSessionContextInterface):
|
||||||
"""Context manager for Tart VM sessions"""
|
"""Context manager for Tart VM sessions"""
|
||||||
|
|
||||||
def __init__(self, vm_manager: TartVMManager, image: str, session_id: str):
|
def __init__(self, vm_manager: TartVMManager, image: str, session_id: str, mount_directories: Dict[str, str]):
|
||||||
self.vm_manager = vm_manager
|
self.vm_manager = vm_manager
|
||||||
self.image = image
|
self.image = image
|
||||||
self.session_id = session_id
|
self.session_id = session_id
|
||||||
|
self.mount_directories = mount_directories
|
||||||
self.session = None
|
self.session = None
|
||||||
|
|
||||||
def __enter__(self) -> TartBuildSession:
|
def __enter__(self) -> TartBuildSession:
|
||||||
@ -473,7 +475,7 @@ class TartBuildSessionContext(RemoteBuildSessionContextInterface):
|
|||||||
print(f"Creating VM session with image: {self.image}")
|
print(f"Creating VM session with image: {self.image}")
|
||||||
|
|
||||||
# Create the VM
|
# Create the VM
|
||||||
self.vm_manager.create_vm(session_id=self.session_id, image=self.image)
|
self.vm_manager.create_vm(session_id=self.session_id, image=self.image, mount_directories=self.mount_directories)
|
||||||
|
|
||||||
print(f"✓ VM session created: {self.session_id}")
|
print(f"✓ VM session created: {self.session_id}")
|
||||||
|
|
||||||
@ -502,12 +504,12 @@ class TartBuild(RemoteBuildInterface):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.vm_manager = TartVMManager()
|
self.vm_manager = TartVMManager()
|
||||||
|
|
||||||
def session(self, macos_version: str, xcode_version: str) -> TartBuildSessionContext:
|
def session(self, macos_version: str, xcode_version: str, mount_directories: Dict[str, str]) -> TartBuildSessionContext:
|
||||||
image_name = f"macos-{macos_version}-xcode-{xcode_version}"
|
image_name = f"macos-{macos_version}-xcode-{xcode_version}"
|
||||||
print(f"Image name: {image_name}")
|
print(f"Image name: {image_name}")
|
||||||
session_id = str(uuid.uuid4())
|
session_id = str(uuid.uuid4())
|
||||||
|
|
||||||
return TartBuildSessionContext(self.vm_manager, image_name, session_id)
|
return TartBuildSessionContext(self.vm_manager, image_name, session_id, mount_directories)
|
||||||
|
|
||||||
def create_rsync_ignore_file(exclude_patterns: List[str] = []):
|
def create_rsync_ignore_file(exclude_patterns: List[str] = []):
|
||||||
"""Create a temporary rsync ignore file with exclusion patterns"""
|
"""Create a temporary rsync ignore file with exclusion patterns"""
|
||||||
@ -551,7 +553,12 @@ def remote_build_tart(macos_version, bazel_cache_host, configuration, build_inpu
|
|||||||
transient_data_dir = '{}/transient-data'.format(buildbox_dir)
|
transient_data_dir = '{}/transient-data'.format(buildbox_dir)
|
||||||
os.makedirs(transient_data_dir, exist_ok=True)
|
os.makedirs(transient_data_dir, exist_ok=True)
|
||||||
|
|
||||||
with TartBuild().session(macos_version=macos_version, xcode_version=xcode_version) as session:
|
mount_directories = {}
|
||||||
|
if bazel_cache_host is not None and bazel_cache_host.startswith("file://"):
|
||||||
|
local_path = bazel_cache_host.replace("file://", "")
|
||||||
|
mount_directories["bazel-cache"] = local_path
|
||||||
|
|
||||||
|
with TartBuild().session(macos_version=macos_version, xcode_version=xcode_version, mount_directories=mount_directories) as session:
|
||||||
print('Uploading data to VM...')
|
print('Uploading data to VM...')
|
||||||
session.upload_directory(local_path=build_input_data_path, remote_path="telegram-build-input")
|
session.upload_directory(local_path=build_input_data_path, remote_path="telegram-build-input")
|
||||||
|
|
||||||
@ -576,20 +583,26 @@ def remote_build_tart(macos_version, bazel_cache_host, configuration, build_inpu
|
|||||||
python3 build-system/Make/ImportCertificates.py --path $HOME/telegram-build-input/certs
|
python3 build-system/Make/ImportCertificates.py --path $HOME/telegram-build-input/certs
|
||||||
'''
|
'''
|
||||||
|
|
||||||
if "@auto" in bazel_cache_host:
|
if bazel_cache_host is not None:
|
||||||
host_parts = bazel_cache_host.split("@auto")
|
if bazel_cache_host.startswith("file://"):
|
||||||
host_left_part = host_parts[0]
|
pass
|
||||||
host_right_part = host_parts[1]
|
elif "@auto" in bazel_cache_host:
|
||||||
guest_host_command = "export CACHE_HOST_IP=\"$(netstat -nr | grep default | head -n 1 | awk '{print $2}')\""
|
host_parts = bazel_cache_host.split("@auto")
|
||||||
guest_build_sh += guest_host_command + "\n"
|
host_left_part = host_parts[0]
|
||||||
guest_host_string = f"export CACHE_HOST=\"{host_left_part}$CACHE_HOST_IP{host_right_part}\""
|
host_right_part = host_parts[1]
|
||||||
guest_build_sh += guest_host_string + "\n"
|
guest_host_command = "export CACHE_HOST_IP=\"$(netstat -nr | grep default | head -n 1 | awk '{print $2}')\""
|
||||||
else:
|
guest_build_sh += guest_host_command + "\n"
|
||||||
guest_build_sh += f"export CACHE_HOST=\"{bazel_cache_host}\"\n"
|
guest_host_string = f"export CACHE_HOST=\"{host_left_part}$CACHE_HOST_IP{host_right_part}\""
|
||||||
|
guest_build_sh += guest_host_string + "\n"
|
||||||
|
else:
|
||||||
|
guest_build_sh += f"export CACHE_HOST=\"{bazel_cache_host}\"\n"
|
||||||
|
|
||||||
guest_build_sh += 'python3 build-system/Make/Make.py \\'
|
guest_build_sh += 'python3 build-system/Make/Make.py \\'
|
||||||
if bazel_cache_host is not None:
|
if bazel_cache_host is not None:
|
||||||
guest_build_sh += '--cacheHost="$CACHE_HOST" \\'
|
if bazel_cache_host.startswith("file://"):
|
||||||
|
guest_build_sh += '--cacheDir="/Volumes/My Shared Files/bazel-cache" \\'
|
||||||
|
else:
|
||||||
|
guest_build_sh += '--cacheHost="$CACHE_HOST" \\'
|
||||||
guest_build_sh += 'build \\'
|
guest_build_sh += 'build \\'
|
||||||
guest_build_sh += '--lock \\'
|
guest_build_sh += '--lock \\'
|
||||||
guest_build_sh += '--buildNumber={} \\'.format(build_number)
|
guest_build_sh += '--buildNumber={} \\'.format(build_number)
|
||||||
|
@ -91,13 +91,30 @@ for name, module in sorted(modules.items()):
|
|||||||
if module_type == "objc_library" or module_type == "cc_library" or module_type == "swift_library":
|
if module_type == "objc_library" or module_type == "cc_library" or module_type == "swift_library":
|
||||||
combined_lines.append(" .target(")
|
combined_lines.append(" .target(")
|
||||||
combined_lines.append(" name: \"%s\"," % name)
|
combined_lines.append(" name: \"%s\"," % name)
|
||||||
|
|
||||||
# Always create a symlinked directory for every module
|
relative_module_path = module["path"] + "/Module_" + name
|
||||||
|
|
||||||
relative_module_path = module["path"]
|
|
||||||
module_directory = spm_files_dir + "/" + relative_module_path
|
module_directory = spm_files_dir + "/" + relative_module_path
|
||||||
os.makedirs(module_directory, exist_ok=True)
|
os.makedirs(module_directory, exist_ok=True)
|
||||||
|
|
||||||
|
module_sources_directory = module_directory + "/Sources"
|
||||||
|
if not os.path.exists(module_sources_directory):
|
||||||
|
os.makedirs(module_sources_directory)
|
||||||
|
|
||||||
|
module_public_includes_directory = module_directory + "/PublicIncludes"
|
||||||
|
if not os.path.exists(module_public_includes_directory):
|
||||||
|
os.makedirs(module_public_includes_directory)
|
||||||
|
|
||||||
|
module_public_headers_prefix = None
|
||||||
|
if len(module["includes"]) > 1:
|
||||||
|
print("{}: Multiple includes are not yet supported: {}".format(name, module["includes"]))
|
||||||
|
sys.exit(1)
|
||||||
|
elif len(module["includes"]) == 1:
|
||||||
|
for include_directory in module["includes"]:
|
||||||
|
if include_directory != ".":
|
||||||
|
#print("{}: Include directory: {}".format(name, include_directory))
|
||||||
|
module_public_headers_prefix = include_directory
|
||||||
|
break
|
||||||
|
|
||||||
combined_lines.append(" dependencies: [")
|
combined_lines.append(" dependencies: [")
|
||||||
for dep in module["deps"]:
|
for dep in module["deps"]:
|
||||||
if not parsed_modules[dep]["is_empty"]:
|
if not parsed_modules[dep]["is_empty"]:
|
||||||
@ -129,10 +146,20 @@ for name, module in sorted(modules.items()):
|
|||||||
source_file_name = source[len(module["path"]) + 1:]
|
source_file_name = source[len(module["path"]) + 1:]
|
||||||
|
|
||||||
# Create symlink for this source file
|
# Create symlink for this source file
|
||||||
symlink_location = os.path.join(module_directory, source_file_name)
|
is_public_include = False
|
||||||
source_dir = os.path.dirname(symlink_location)
|
if module_public_headers_prefix is not None:
|
||||||
if source_dir and not os.path.exists(source_dir):
|
if source_file_name.startswith(module_public_headers_prefix):
|
||||||
os.makedirs(source_dir)
|
symlink_location = os.path.join(module_public_includes_directory, source_file_name[len(module_public_headers_prefix) + 1:])
|
||||||
|
#print("{}: Public include: {}".format(source_file_name, symlink_location))
|
||||||
|
is_public_include = True
|
||||||
|
|
||||||
|
if not is_public_include:
|
||||||
|
symlink_location = os.path.join(module_sources_directory, source_file_name)
|
||||||
|
|
||||||
|
# Create parent directory for symlink if it doesn't exist
|
||||||
|
symlink_parent = os.path.dirname(symlink_location)
|
||||||
|
if not os.path.exists(symlink_parent):
|
||||||
|
os.makedirs(symlink_parent)
|
||||||
|
|
||||||
# Calculate relative path from symlink back to original file
|
# Calculate relative path from symlink back to original file
|
||||||
# Count directory depth: spm-files/module_name/... -> workspace root
|
# Count directory depth: spm-files/module_name/... -> workspace root
|
||||||
@ -143,32 +170,24 @@ for name, module in sorted(modules.items()):
|
|||||||
# Create the symlink
|
# Create the symlink
|
||||||
if os.path.lexists(symlink_location):
|
if os.path.lexists(symlink_location):
|
||||||
os.unlink(symlink_location)
|
os.unlink(symlink_location)
|
||||||
if "arm_arch64_common_macro" in symlink_target:
|
|
||||||
print("Creating symlink from {} to {}".format(symlink_target, symlink_location))
|
|
||||||
os.symlink(symlink_target, symlink_location)
|
os.symlink(symlink_target, symlink_location)
|
||||||
|
|
||||||
# Add to sources list (exclude certain file types)
|
# Add to sources list (exclude certain file types)
|
||||||
if not source.endswith(('.h', '.hpp', '.a', '.inc')):
|
if not source.endswith(('.h', '.hpp', '.a', '.inc')):
|
||||||
combined_lines.append(" \"%s\"," % source_file_name)
|
combined_lines.append(" \"%s\"," % ("Sources/" + source_file_name))
|
||||||
|
|
||||||
combined_lines.append(" ],")
|
combined_lines.append(" ],")
|
||||||
if module_type == "objc_library" or module_type == "cc_library":
|
if module_type == "objc_library" or module_type == "cc_library":
|
||||||
if len(module["includes"]) == 0:
|
combined_lines.append(" publicHeadersPath: \"PublicIncludes\",")
|
||||||
# Create dummy headers directory if none specified
|
|
||||||
dummy_headers_path = os.path.join(module_directory, "dummy-headers-path")
|
if len(module["includes"]) > 1:
|
||||||
if not os.path.exists(dummy_headers_path):
|
|
||||||
os.makedirs(dummy_headers_path)
|
|
||||||
combined_lines.append(" publicHeadersPath: \"dummy-headers-path\",")
|
|
||||||
elif len(module["includes"]) == 1:
|
|
||||||
combined_lines.append(" publicHeadersPath: \"%s\"," % module["includes"][0])
|
|
||||||
else:
|
|
||||||
print("{}: Multiple includes are not yet supported: {}".format(name, module["includes"]))
|
print("{}: Multiple includes are not yet supported: {}".format(name, module["includes"]))
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
defines = module.get("defines", [])
|
defines = module.get("defines", [])
|
||||||
copts = module.get("copts", [])
|
copts = module.get("copts", [])
|
||||||
cxxopts = module.get("cxxopts", [])
|
cxxopts = module.get("cxxopts", [])
|
||||||
|
|
||||||
if defines or copts:
|
if defines or copts or (module_public_headers_prefix is not None):
|
||||||
combined_lines.append(" cSettings: [")
|
combined_lines.append(" cSettings: [")
|
||||||
if defines:
|
if defines:
|
||||||
for define in defines:
|
for define in defines:
|
||||||
@ -182,7 +201,32 @@ for name, module in sorted(modules.items()):
|
|||||||
for flag in copts:
|
for flag in copts:
|
||||||
escaped_flag = escape_swift_string_literal_component(flag)
|
escaped_flag = escape_swift_string_literal_component(flag)
|
||||||
combined_lines.append(f' "{escaped_flag}",')
|
combined_lines.append(f' "{escaped_flag}",')
|
||||||
combined_lines.append(" ])")
|
if escaped_flag.startswith("-I"):
|
||||||
|
include_path = escaped_flag[2:]
|
||||||
|
print("{}: Include path: {}".format(name, include_path))
|
||||||
|
for another_module_name, another_module in sorted(modules.items()):
|
||||||
|
another_module_path = another_module["path"]
|
||||||
|
if include_path.startswith(another_module_path):
|
||||||
|
relative_module_include_path = include_path[len(another_module_path) + 1:]
|
||||||
|
#print(" {}: Matches module: {}".format(another_module_name, another_module_path))
|
||||||
|
|
||||||
|
combined_lines.append(f' "-I{another_module_path}/Sources/{relative_module_include_path}",')
|
||||||
|
|
||||||
|
another_module_public_headers_prefix = None
|
||||||
|
if len(another_module["includes"]) == 1:
|
||||||
|
for include_directory in another_module["includes"]:
|
||||||
|
if include_directory != ".":
|
||||||
|
another_module_public_headers_prefix = another_module_path + "/" + include_directory
|
||||||
|
print(" {}: Another module public include: {}".format(another_module_name, another_module_public_headers_prefix))
|
||||||
|
if another_module_public_headers_prefix is not None:
|
||||||
|
if include_path.startswith(another_module_public_headers_prefix):
|
||||||
|
relative_module_include_path = include_path[len(another_module_public_headers_prefix) + 1:]
|
||||||
|
print(" {}: Matches module public include: {}".format(another_module_name, another_module_public_headers_prefix))
|
||||||
|
|
||||||
|
combined_lines.append(f' -"-I{another_module_path}/PublicIncludes/{relative_module_include_path}",')
|
||||||
|
combined_lines.append(" ]),")
|
||||||
|
if module_public_headers_prefix is not None:
|
||||||
|
combined_lines.append(f" .headerSearchPath(\"{module_public_headers_prefix}\"),")
|
||||||
combined_lines.append(" ],")
|
combined_lines.append(" ],")
|
||||||
|
|
||||||
if defines or cxxopts: # Check for defines OR cxxopts
|
if defines or cxxopts: # Check for defines OR cxxopts
|
||||||
|
@ -13,8 +13,6 @@ optimization_flags = select({
|
|||||||
"//conditions:default": ["-DNDEBUG"],
|
"//conditions:default": ["-DNDEBUG"],
|
||||||
})
|
})
|
||||||
|
|
||||||
enable_x264 = False
|
|
||||||
|
|
||||||
sources = glob([
|
sources = glob([
|
||||||
"Sources/**/*.m",
|
"Sources/**/*.m",
|
||||||
"Sources/**/*.mm",
|
"Sources/**/*.mm",
|
||||||
@ -143,7 +141,6 @@ objc_library(
|
|||||||
"-I{}/tgcalls/tgcalls".format(package_name()),
|
"-I{}/tgcalls/tgcalls".format(package_name()),
|
||||||
"-Ithird-party/webrtc/webrtc",
|
"-Ithird-party/webrtc/webrtc",
|
||||||
"-Ithird-party/webrtc/dependencies",
|
"-Ithird-party/webrtc/dependencies",
|
||||||
"-Ithird-party/webrtc/dependencies/third_party/abseil-cpp",
|
|
||||||
"-Ithird-party/webrtc/webrtc/sdk/objc",
|
"-Ithird-party/webrtc/webrtc/sdk/objc",
|
||||||
"-Ithird-party/webrtc/webrtc/sdk/objc/base",
|
"-Ithird-party/webrtc/webrtc/sdk/objc/base",
|
||||||
"-Ithird-party/webrtc/webrtc/sdk/objc/components/renderer/metal",
|
"-Ithird-party/webrtc/webrtc/sdk/objc/components/renderer/metal",
|
||||||
@ -152,14 +149,14 @@ objc_library(
|
|||||||
"-Ithird-party/libyuv/third_party/libyuv/include",
|
"-Ithird-party/libyuv/third_party/libyuv/include",
|
||||||
"-Ithird-party/libyuv",
|
"-Ithird-party/libyuv",
|
||||||
"-Ithird-party/webrtc/webrtc/sdk/objc/api/video_codec",
|
"-Ithird-party/webrtc/webrtc/sdk/objc/api/video_codec",
|
||||||
"-Ithird-party/webrtc/absl/third_party/abseil-cpp",
|
"-Ithird-party/webrtc/absl",
|
||||||
"-DWEBRTC_IOS",
|
"-DWEBRTC_IOS",
|
||||||
"-DWEBRTC_MAC",
|
"-DWEBRTC_MAC",
|
||||||
"-DWEBRTC_POSIX",
|
"-DWEBRTC_POSIX",
|
||||||
"-DRTC_ENABLE_VP9",
|
"-DRTC_ENABLE_VP9",
|
||||||
"-DTGVOIP_NAMESPACE=tgvoip_webrtc",
|
"-DTGVOIP_NAMESPACE=tgvoip_webrtc",
|
||||||
"-std=c++17",
|
"-std=c++17",
|
||||||
] + optimization_flags + (["-DTGCALLS_ENABLE_X264"] if enable_x264 else []),
|
] + optimization_flags,
|
||||||
includes = [
|
includes = [
|
||||||
"PublicHeaders",
|
"PublicHeaders",
|
||||||
],
|
],
|
||||||
@ -175,7 +172,7 @@ objc_library(
|
|||||||
"//third-party/rnnoise:rnnoise",
|
"//third-party/rnnoise:rnnoise",
|
||||||
"//third-party/libyuv",
|
"//third-party/libyuv",
|
||||||
"//third-party/td:TdBinding",
|
"//third-party/td:TdBinding",
|
||||||
] + (["//third-party/libx264:libx264"] if enable_x264 else []),
|
],
|
||||||
sdk_frameworks = [
|
sdk_frameworks = [
|
||||||
"Foundation",
|
"Foundation",
|
||||||
"UIKit",
|
"UIKit",
|
||||||
@ -193,46 +190,3 @@ objc_library(
|
|||||||
"//visibility:public",
|
"//visibility:public",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
objc_library(
|
|
||||||
name = "TgCallsTestsLib",
|
|
||||||
copts = [
|
|
||||||
"-I{}/tgcalls/tgcalls".format(package_name()),
|
|
||||||
"-Ithird-party/webrtc/webrtc",
|
|
||||||
"-Ithird-party/webrtc/dependencies",
|
|
||||||
"-Ithird-party/webrtc/dependencies/third_party/abseil-cpp",
|
|
||||||
"-Ithird-party/webrtc/webrtc/sdk/objc",
|
|
||||||
"-Ithird-party/webrtc/webrtc/sdk/objc/base",
|
|
||||||
"-Ithird-party/webrtc/webrtc/sdk/objc/components/renderer/metal",
|
|
||||||
"-Ithird-party/webrtc/webrtc/sdk/objc/components/renderer/opengl",
|
|
||||||
"-Ithird-party/webrtc/webrtc/sdk/objc/components/video_codec",
|
|
||||||
"-Ithird-party/libyuv/third_party/libyuv/include",
|
|
||||||
"-Ithird-party/libyuv",
|
|
||||||
"-Ithird-party/webrtc/webrtc/sdk/objc/api/video_codec",
|
|
||||||
"-DWEBRTC_IOS",
|
|
||||||
"-DWEBRTC_MAC",
|
|
||||||
"-DWEBRTC_POSIX",
|
|
||||||
"-DRTC_ENABLE_VP9",
|
|
||||||
"-DRTC_ENABLE_H265",
|
|
||||||
"-DTGVOIP_NAMESPACE=tgvoip_webrtc",
|
|
||||||
"-std=c++17",
|
|
||||||
],
|
|
||||||
srcs = glob([
|
|
||||||
"tests/*.m",
|
|
||||||
"tests/*.mm",
|
|
||||||
], allow_empty=True),
|
|
||||||
deps = [
|
|
||||||
":TgVoipWebrtc"
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
ios_unit_test(
|
|
||||||
name = "TgCallsTests",
|
|
||||||
minimum_os_version = "9.0",
|
|
||||||
deps = [
|
|
||||||
":TgCallsTestsLib",
|
|
||||||
],
|
|
||||||
visibility = [
|
|
||||||
"//visibility:public",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 1348de6aa6c07ed32354d3e26423c45304000a39
|
Subproject commit 5ddc3ccf2086127722a06e3d836698fcd717f11b
|
12
third-party/webrtc/BUILD
vendored
12
third-party/webrtc/BUILD
vendored
@ -2507,6 +2507,7 @@ ios_objc_sources = [
|
|||||||
"objc/base/RTCEncodedImage.m",
|
"objc/base/RTCEncodedImage.m",
|
||||||
"objc/base/RTCVideoCapturer.m",
|
"objc/base/RTCVideoCapturer.m",
|
||||||
"objc/base/RTCVideoCodecInfo.m",
|
"objc/base/RTCVideoCodecInfo.m",
|
||||||
|
"objc/base/RTCVideoEncoderQpThresholds.h",
|
||||||
"objc/base/RTCVideoEncoderQpThresholds.m",
|
"objc/base/RTCVideoEncoderQpThresholds.m",
|
||||||
"objc/base/RTCVideoEncoderSettings.m",
|
"objc/base/RTCVideoEncoderSettings.m",
|
||||||
"objc/helpers/RTCDispatcher.m",
|
"objc/helpers/RTCDispatcher.m",
|
||||||
@ -3063,7 +3064,7 @@ objc_library(
|
|||||||
"-Ithird-party/webrtc/webrtc/sdk/objc/base",
|
"-Ithird-party/webrtc/webrtc/sdk/objc/base",
|
||||||
"-Ithird-party/libyuv",
|
"-Ithird-party/libyuv",
|
||||||
"-Ithird-party/libyuv/third_party/libyuv/include",
|
"-Ithird-party/libyuv/third_party/libyuv/include",
|
||||||
"-Ithird-party/webrtc/absl/third_party/abseil-cpp",
|
"-Ithird-party/webrtc/absl",
|
||||||
"-DBSD=1",
|
"-DBSD=1",
|
||||||
"-DUSE_KISS_FFT",
|
"-DUSE_KISS_FFT",
|
||||||
"-DHAVE_PTHREAD",
|
"-DHAVE_PTHREAD",
|
||||||
@ -3121,6 +3122,7 @@ objc_library(
|
|||||||
enable_modules = True,
|
enable_modules = True,
|
||||||
module_name = "webrtc_objc",
|
module_name = "webrtc_objc",
|
||||||
srcs = [ "webrtc/sdk/" + path for path in ios_objc_sources ] + [
|
srcs = [ "webrtc/sdk/" + path for path in ios_objc_sources ] + [
|
||||||
|
"webrtc/sdk/" + path for path in ios_objcpp_sources ] + [
|
||||||
"webrtc/rtc_base/system/gcd_helpers.m",
|
"webrtc/rtc_base/system/gcd_helpers.m",
|
||||||
],
|
],
|
||||||
copts = [
|
copts = [
|
||||||
@ -3130,7 +3132,7 @@ objc_library(
|
|||||||
"-Ithird-party/webrtc/webrtc/sdk/objc/base",
|
"-Ithird-party/webrtc/webrtc/sdk/objc/base",
|
||||||
"-Ithird-party/libyuv",
|
"-Ithird-party/libyuv",
|
||||||
"-Ithird-party/libyuv/third_party/libyuv/include",
|
"-Ithird-party/libyuv/third_party/libyuv/include",
|
||||||
"-Ithird-party/webrtc/absl/third_party/abseil-cpp",
|
"-Ithird-party/webrtc/absl",
|
||||||
"-DBSD=1",
|
"-DBSD=1",
|
||||||
"-DUSE_KISS_FFT",
|
"-DUSE_KISS_FFT",
|
||||||
"-DHAVE_PTHREAD",
|
"-DHAVE_PTHREAD",
|
||||||
@ -3162,7 +3164,9 @@ objc_library(
|
|||||||
"//third-party/openh264",
|
"//third-party/openh264",
|
||||||
":field_trials_header",
|
":field_trials_header",
|
||||||
"//third-party/webrtc/absl",
|
"//third-party/webrtc/absl",
|
||||||
":webrtc_objcpp",
|
],
|
||||||
|
cxxopts = [
|
||||||
|
"-std=c++17",
|
||||||
],
|
],
|
||||||
sdk_frameworks = [
|
sdk_frameworks = [
|
||||||
"AVFoundation",
|
"AVFoundation",
|
||||||
@ -3193,7 +3197,7 @@ objc_library(
|
|||||||
"-Ithird-party/webrtc/webrtc/",
|
"-Ithird-party/webrtc/webrtc/",
|
||||||
"-Ithird-party/libyuv",
|
"-Ithird-party/libyuv",
|
||||||
"-Ithird-party/libyuv/third_party/libyuv/include",
|
"-Ithird-party/libyuv/third_party/libyuv/include",
|
||||||
"-Ithird-party/webrtc/absl/third_party/abseil-cpp",
|
"-Ithird-party/webrtc/absl",
|
||||||
"-DBSD=1",
|
"-DBSD=1",
|
||||||
"-DUSE_KISS_FFT",
|
"-DUSE_KISS_FFT",
|
||||||
"-DHAVE_PTHREAD",
|
"-DHAVE_PTHREAD",
|
||||||
|
225
third-party/webrtc/absl/BUILD
vendored
225
third-party/webrtc/absl/BUILD
vendored
@ -1,4 +1,5 @@
|
|||||||
absl_sources = [ "third_party/abseil-cpp/" + x for x in [
|
|
||||||
|
absl_headers = [
|
||||||
"absl/container/internal/layout.h",
|
"absl/container/internal/layout.h",
|
||||||
"absl/container/internal/hashtable_debug_hooks.h",
|
"absl/container/internal/hashtable_debug_hooks.h",
|
||||||
"absl/strings/internal/cord_internal.h",
|
"absl/strings/internal/cord_internal.h",
|
||||||
@ -14,117 +15,15 @@ absl_sources = [ "third_party/abseil-cpp/" + x for x in [
|
|||||||
"absl/strings/internal/cordz_update_scope.h",
|
"absl/strings/internal/cordz_update_scope.h",
|
||||||
"absl/strings/internal/string_constant.h",
|
"absl/strings/internal/string_constant.h",
|
||||||
"absl/base/internal/inline_variable.h",
|
"absl/base/internal/inline_variable.h",
|
||||||
"absl/base/internal/cycleclock.cc",
|
|
||||||
"absl/base/internal/low_level_alloc.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/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/stacktrace.cc",
|
|
||||||
"absl/debugging/symbolize.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/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/mutex.h",
|
|
||||||
"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/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_libc.h",
|
||||||
"absl/time/internal/cctz/src/time_zone_lookup.cc",
|
"absl/synchronization/mutex.h",
|
||||||
"absl/time/internal/cctz/src/time_zone_posix.cc",
|
"absl/time/internal/cctz/src/time_zone_fixed.h",
|
||||||
|
"absl/time/internal/cctz/src/time_zone_if.h",
|
||||||
|
"absl/time/internal/cctz/src/time_zone_impl.h",
|
||||||
|
"absl/time/internal/cctz/src/time_zone_info.h",
|
||||||
"absl/time/internal/cctz/src/time_zone_posix.h",
|
"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/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/meta/type_traits.h",
|
||||||
"absl/base/options.h",
|
"absl/base/options.h",
|
||||||
"absl/base/policy_checks.h",
|
"absl/base/policy_checks.h",
|
||||||
@ -349,10 +248,116 @@ absl_sources = [ "third_party/abseil-cpp/" + x for x in [
|
|||||||
"absl/synchronization/internal/win32_waiter.h",
|
"absl/synchronization/internal/win32_waiter.h",
|
||||||
"absl/crc/internal/crc32_x86_arm_combined_simd.h",
|
"absl/crc/internal/crc32_x86_arm_combined_simd.h",
|
||||||
"absl/strings/internal/damerau_levenshtein_distance.h",
|
"absl/strings/internal/damerau_levenshtein_distance.h",
|
||||||
]]
|
]
|
||||||
|
|
||||||
|
absl_sources = [
|
||||||
|
"absl/base/internal/cycleclock.cc",
|
||||||
|
"absl/base/internal/low_level_alloc.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/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/stacktrace.cc",
|
||||||
|
"absl/debugging/symbolize.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/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/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_format.cc",
|
||||||
|
"absl/time/internal/cctz/src/time_zone_if.cc",
|
||||||
|
"absl/time/internal/cctz/src/time_zone_impl.cc",
|
||||||
|
"absl/time/internal/cctz/src/time_zone_info.cc",
|
||||||
|
"absl/time/internal/cctz/src/time_zone_libc.cc",
|
||||||
|
"absl/time/internal/cctz/src/time_zone_lookup.cc",
|
||||||
|
"absl/time/internal/cctz/src/time_zone_posix.cc",
|
||||||
|
"absl/time/internal/cctz/src/zone_info_source.cc",
|
||||||
|
"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",
|
||||||
|
]
|
||||||
|
|
||||||
cc_library(
|
cc_library(
|
||||||
name = "absl",
|
name = "absl",
|
||||||
|
hdrs = absl_headers,
|
||||||
srcs = absl_sources,
|
srcs = absl_sources,
|
||||||
cxxopts = [
|
cxxopts = [
|
||||||
"-std=c++17",
|
"-std=c++17",
|
||||||
@ -360,7 +365,7 @@ cc_library(
|
|||||||
deps = [
|
deps = [
|
||||||
],
|
],
|
||||||
copts = [
|
copts = [
|
||||||
"-Ithird-party/webrtc/absl/third_party/abseil-cpp",
|
"-Ithird-party/webrtc/absl",
|
||||||
"-DABSL_ALLOCATOR_NOTHROW=1",
|
"-DABSL_ALLOCATOR_NOTHROW=1",
|
||||||
],
|
],
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user