Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
7e5170a
[webrtc] Add a new port
bc-lee Apr 10, 2026
8abbf03
[webrtc] Version bump
bc-lee Apr 10, 2026
d3d04cc
[webrtc] Use gcc on linux
bc-lee Apr 10, 2026
6326c9f
[webrtc] Run vcpkg x-add-version
bc-lee Apr 10, 2026
858b2f6
[webrtc] Add optional linux audio backends
bc-lee Apr 10, 2026
a528e76
[webrtc] Run vcpkg x-add-version
bc-lee Apr 10, 2026
076303a
[webrtc] Disable glib in linux builds
bc-lee Apr 10, 2026
f752893
[webrtc] Run vcpkg x-add-version
bc-lee Apr 10, 2026
377bc31
[webrtc] Use unofficial cmake package
bc-lee Apr 12, 2026
870eb6d
[webrtc] Simplify exported target properties
bc-lee Apr 12, 2026
7002e39
[webrtc] Fix exported darwin framework options
bc-lee Apr 12, 2026
5fa7e6d
[webrtc] Refactor external source declarations
bc-lee Apr 12, 2026
18c90f1
[webrtc] Use platform-specific nasm object suffix
bc-lee Apr 12, 2026
7ada743
[webrtc] Drop required from find_dependency
bc-lee Apr 12, 2026
977c9c0
[webrtc] Drop redundant cmake vars include
bc-lee Apr 12, 2026
5e8e4c5
[webrtc] Use nasm as host assembler
bc-lee Apr 12, 2026
85ff702
[webrtc] Inline external source declarations
bc-lee Apr 12, 2026
9ea7b2e
[webrtc] Minimize patch whitespace changes
bc-lee Apr 12, 2026
e0a27ca
[webrtc] Invoke nasm directly
bc-lee Apr 12, 2026
c999e2f
[webrtc] Probe support for -fno-lifetime-dse
bc-lee Apr 12, 2026
aa3a7ad
[webrtc] Fetch rnnoise from chromium third_party
bc-lee Apr 14, 2026
7524de5
[webrtc] Clarify dynamic CRT comment
bc-lee Apr 14, 2026
bbf8784
[webrtc] Run vcpkg x-add-version
bc-lee Apr 14, 2026
c30d433
[webrtc] Drop obsolete rtp config patch
bc-lee Apr 15, 2026
4ba88bd
[webrtc] Use constexpr in audio device MSVC patch
bc-lee Apr 15, 2026
5aef473
[webrtc] Narrow AVX2 intrinsics MSVC workaround
bc-lee Apr 15, 2026
2edbc7f
[webrtc] Enable denormal disabler on MSVC
bc-lee Apr 15, 2026
df3ef26
[webrtc] Run vcpkg x-add-version
bc-lee Apr 15, 2026
06b75b1
[webrtc] Fix single-config CMake export resolution
bc-lee Apr 24, 2026
8308eaa
[webrtc] Unconditionally find Threads in config
bc-lee Apr 24, 2026
e7d5205
[webrtc] Drop LINK_GROUP RESCAN from unofficial config
bc-lee Apr 24, 2026
44c4b3a
[webrtc] Enable MSVC iterator debugging for debug builds
bc-lee Apr 24, 2026
d9bdd8f
[webrtc] Add CI test port
bc-lee Apr 24, 2026
852381c
[webrtc] Run vcpkg x-add-version
bc-lee Apr 25, 2026
566ba7c
[webrtc] Remove self-reference from the config
bc-lee May 5, 2026
f675808
[webrtc] Run vcpkg x-add-version
bc-lee May 5, 2026
03aae01
Merge commit 'af5a78582ae994bcf39c2a0c07ec29762633f179' into HEAD
May 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
208 changes: 208 additions & 0 deletions ports/webrtc/absl-labels.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
//third_party/abseil-cpp:absl
//third_party/abseil-cpp:absl_component_deps
//third_party/abseil-cpp/absl/algorithm:algorithm
//third_party/abseil-cpp/absl/algorithm:container
//third_party/abseil-cpp/absl/base:atomic_hook
//third_party/abseil-cpp/absl/base:base
//third_party/abseil-cpp/absl/base:base_internal
//third_party/abseil-cpp/absl/base:config
//third_party/abseil-cpp/absl/base:core_headers
//third_party/abseil-cpp/absl/base:cycleclock_internal
//third_party/abseil-cpp/absl/base:dynamic_annotations
//third_party/abseil-cpp/absl/base:endian
//third_party/abseil-cpp/absl/base:errno_saver
//third_party/abseil-cpp/absl/base:fast_type_id
//third_party/abseil-cpp/absl/base:iterator_traits_internal
//third_party/abseil-cpp/absl/base:log_severity
//third_party/abseil-cpp/absl/base:malloc_internal
//third_party/abseil-cpp/absl/base:no_destructor
//third_party/abseil-cpp/absl/base:nullability
//third_party/abseil-cpp/absl/base:nullability_traits_internal
//third_party/abseil-cpp/absl/base:prefetch
//third_party/abseil-cpp/absl/base:raw_logging_internal
//third_party/abseil-cpp/absl/base:spinlock_wait
//third_party/abseil-cpp/absl/base:strerror
//third_party/abseil-cpp/absl/base:throw_delegate
//third_party/abseil-cpp/absl/base:tracing_internal
//third_party/abseil-cpp/absl/cleanup:cleanup
//third_party/abseil-cpp/absl/cleanup:cleanup_internal
//third_party/abseil-cpp/absl/container:btree
//third_party/abseil-cpp/absl/container:common
//third_party/abseil-cpp/absl/container:common_policy_traits
//third_party/abseil-cpp/absl/container:compressed_tuple
//third_party/abseil-cpp/absl/container:container_memory
//third_party/abseil-cpp/absl/container:fixed_array
//third_party/abseil-cpp/absl/container:flat_hash_map
//third_party/abseil-cpp/absl/container:flat_hash_set
//third_party/abseil-cpp/absl/container:hash_container_defaults
//third_party/abseil-cpp/absl/container:hash_function_defaults
//third_party/abseil-cpp/absl/container:hash_policy_traits
//third_party/abseil-cpp/absl/container:hashtable_control_bytes
//third_party/abseil-cpp/absl/container:hashtable_debug_hooks
//third_party/abseil-cpp/absl/container:hashtablez_sampler
//third_party/abseil-cpp/absl/container:inlined_vector
//third_party/abseil-cpp/absl/container:inlined_vector_internal
//third_party/abseil-cpp/absl/container:layout
//third_party/abseil-cpp/absl/container:linked_hash_map
//third_party/abseil-cpp/absl/container:linked_hash_set
//third_party/abseil-cpp/absl/container:node_hash_map
//third_party/abseil-cpp/absl/container:node_hash_set
//third_party/abseil-cpp/absl/container:node_slot_policy
//third_party/abseil-cpp/absl/container:raw_hash_map
//third_party/abseil-cpp/absl/container:raw_hash_set
//third_party/abseil-cpp/absl/container:raw_hash_set_resize_impl
//third_party/abseil-cpp/absl/crc:cpu_detect
//third_party/abseil-cpp/absl/crc:crc32c
//third_party/abseil-cpp/absl/crc:crc_cord_state
//third_party/abseil-cpp/absl/crc:crc_internal
//third_party/abseil-cpp/absl/crc:non_temporal_arm_intrinsics
//third_party/abseil-cpp/absl/crc:non_temporal_memcpy
//third_party/abseil-cpp/absl/debugging:bounded_utf8_length_sequence
//third_party/abseil-cpp/absl/debugging:debugging_internal
//third_party/abseil-cpp/absl/debugging:decode_rust_punycode
//third_party/abseil-cpp/absl/debugging:demangle_internal
//third_party/abseil-cpp/absl/debugging:demangle_rust
//third_party/abseil-cpp/absl/debugging:examine_stack
//third_party/abseil-cpp/absl/debugging:failure_signal_handler
//third_party/abseil-cpp/absl/debugging:leak_check
//third_party/abseil-cpp/absl/debugging:stacktrace
//third_party/abseil-cpp/absl/debugging:symbolize
//third_party/abseil-cpp/absl/debugging:utf8_for_code_point
//third_party/abseil-cpp/absl/functional:any_invocable
//third_party/abseil-cpp/absl/functional:bind_front
//third_party/abseil-cpp/absl/functional:function_ref
//third_party/abseil-cpp/absl/functional:overload
//third_party/abseil-cpp/absl/hash:city
//third_party/abseil-cpp/absl/hash:hash
//third_party/abseil-cpp/absl/hash:weakly_mixed_integer
//third_party/abseil-cpp/absl/log/internal:append_truncated
//third_party/abseil-cpp/absl/log/internal:check_impl
//third_party/abseil-cpp/absl/log/internal:check_op
//third_party/abseil-cpp/absl/log/internal:conditions
//third_party/abseil-cpp/absl/log/internal:config
//third_party/abseil-cpp/absl/log/internal:fnmatch
//third_party/abseil-cpp/absl/log/internal:format
//third_party/abseil-cpp/absl/log/internal:globals
//third_party/abseil-cpp/absl/log/internal:log_impl
//third_party/abseil-cpp/absl/log/internal:log_message
//third_party/abseil-cpp/absl/log/internal:log_sink_set
//third_party/abseil-cpp/absl/log/internal:nullguard
//third_party/abseil-cpp/absl/log/internal:nullstream
//third_party/abseil-cpp/absl/log/internal:proto
//third_party/abseil-cpp/absl/log/internal:strip
//third_party/abseil-cpp/absl/log/internal:structured_proto
//third_party/abseil-cpp/absl/log/internal:vlog_config
//third_party/abseil-cpp/absl/log/internal:voidify
//third_party/abseil-cpp/absl/log:absl_check
//third_party/abseil-cpp/absl/log:absl_log
//third_party/abseil-cpp/absl/log:absl_vlog_is_on
//third_party/abseil-cpp/absl/log:die_if_null
//third_party/abseil-cpp/absl/log:globals
//third_party/abseil-cpp/absl/log:initialize
//third_party/abseil-cpp/absl/log:log
//third_party/abseil-cpp/absl/log:log_entry
//third_party/abseil-cpp/absl/log:log_sink
//third_party/abseil-cpp/absl/log:log_sink_registry
//third_party/abseil-cpp/absl/log:vlog_is_on
//third_party/abseil-cpp/absl/memory:memory
//third_party/abseil-cpp/absl/meta:type_traits
//third_party/abseil-cpp/absl/numeric:bits
//third_party/abseil-cpp/absl/numeric:int128
//third_party/abseil-cpp/absl/numeric:representation
//third_party/abseil-cpp/absl/profiling:exponential_biased
//third_party/abseil-cpp/absl/profiling:sample_recorder
//third_party/abseil-cpp/absl/random/internal:distribution_caller
//third_party/abseil-cpp/absl/random/internal:entropy_pool
//third_party/abseil-cpp/absl/random/internal:fast_uniform_bits
//third_party/abseil-cpp/absl/random/internal:fastmath
//third_party/abseil-cpp/absl/random/internal:generate_real
//third_party/abseil-cpp/absl/random/internal:iostream_state_saver
//third_party/abseil-cpp/absl/random/internal:nonsecure_base
//third_party/abseil-cpp/absl/random/internal:pcg_engine
//third_party/abseil-cpp/absl/random/internal:platform
//third_party/abseil-cpp/absl/random/internal:randen
//third_party/abseil-cpp/absl/random/internal:randen_engine
//third_party/abseil-cpp/absl/random/internal:randen_hwaes
//third_party/abseil-cpp/absl/random/internal:randen_hwaes_impl
//third_party/abseil-cpp/absl/random/internal:randen_slow
//third_party/abseil-cpp/absl/random/internal:salted_seed_seq
//third_party/abseil-cpp/absl/random/internal:seed_material
//third_party/abseil-cpp/absl/random/internal:traits
//third_party/abseil-cpp/absl/random/internal:uniform_helper
//third_party/abseil-cpp/absl/random/internal:wide_multiply
//third_party/abseil-cpp/absl/random:bit_gen_ref
//third_party/abseil-cpp/absl/random:distributions
//third_party/abseil-cpp/absl/random:random
//third_party/abseil-cpp/absl/random:seed_gen_exception
//third_party/abseil-cpp/absl/random:seed_sequences
//third_party/abseil-cpp/absl/status:status
//third_party/abseil-cpp/absl/status:statusor
//third_party/abseil-cpp/absl/strings:append_and_overwrite
//third_party/abseil-cpp/absl/strings:charset
//third_party/abseil-cpp/absl/strings:cord
//third_party/abseil-cpp/absl/strings:cord_internal
//third_party/abseil-cpp/absl/strings:cordz_functions
//third_party/abseil-cpp/absl/strings:cordz_handle
//third_party/abseil-cpp/absl/strings:cordz_info
//third_party/abseil-cpp/absl/strings:cordz_statistics
//third_party/abseil-cpp/absl/strings:cordz_update_scope
//third_party/abseil-cpp/absl/strings:cordz_update_tracker
//third_party/abseil-cpp/absl/strings:has_ostream_operator
//third_party/abseil-cpp/absl/strings:internal
//third_party/abseil-cpp/absl/strings:resize_and_overwrite
//third_party/abseil-cpp/absl/strings:str_format
//third_party/abseil-cpp/absl/strings:str_format_internal
//third_party/abseil-cpp/absl/strings:string_view
//third_party/abseil-cpp/absl/strings:strings
//third_party/abseil-cpp/absl/synchronization:graphcycles_internal
//third_party/abseil-cpp/absl/synchronization:kernel_timeout_internal
//third_party/abseil-cpp/absl/synchronization:synchronization
//third_party/abseil-cpp/absl/time/internal/cctz:civil_time
//third_party/abseil-cpp/absl/time/internal/cctz:time_zone
//third_party/abseil-cpp/absl/time:clock_interface
//third_party/abseil-cpp/absl/time:time
//third_party/abseil-cpp/absl/types:compare
//third_party/abseil-cpp/absl/types:optional
//third_party/abseil-cpp/absl/types:optional_ref
//third_party/abseil-cpp/absl/types:source_location
//third_party/abseil-cpp/absl/types:span
//third_party/abseil-cpp/absl/types:variant
//third_party/abseil-cpp/absl/utility:utility
//third_party/abseil-cpp/absl/base:exception_testing
//third_party/abseil-cpp/absl/base:iterator_traits_test_helper
//third_party/abseil-cpp/absl/container:hash_generator_testing
//third_party/abseil-cpp/absl/container:hash_policy_testing
//third_party/abseil-cpp/absl/container:test_instance_tracker
//third_party/abseil-cpp/absl/container:unordered_map_constructor_test
//third_party/abseil-cpp/absl/container:unordered_map_lookup_test
//third_party/abseil-cpp/absl/container:unordered_map_members_test
//third_party/abseil-cpp/absl/container:unordered_map_modifiers_test
//third_party/abseil-cpp/absl/container:unordered_set_constructor_test
//third_party/abseil-cpp/absl/container:unordered_set_lookup_test
//third_party/abseil-cpp/absl/container:unordered_set_members_test
//third_party/abseil-cpp/absl/container:unordered_set_modifiers_test
//third_party/abseil-cpp/absl/flags:absl_flags_config
//third_party/abseil-cpp/absl/flags:config
//third_party/abseil-cpp/absl/flags:flag
//third_party/abseil-cpp/absl/flags:marshalling
//third_party/abseil-cpp/absl/flags:parse
//third_party/abseil-cpp/absl/flags:program_name
//third_party/abseil-cpp/absl/flags:reflection
//third_party/abseil-cpp/absl/flags:usage
//third_party/abseil-cpp/absl/hash:hash_testing
//third_party/abseil-cpp/absl/log/internal:container
//third_party/abseil-cpp/absl/log/internal:flags
//third_party/abseil-cpp/absl/log/internal:structured
//third_party/abseil-cpp/absl/log/internal:test_actions
//third_party/abseil-cpp/absl/log/internal:test_helpers
//third_party/abseil-cpp/absl/log/internal:test_matchers
//third_party/abseil-cpp/absl/log:check
//third_party/abseil-cpp/absl/meta:requires
//third_party/abseil-cpp/absl/random/internal:distribution_test_util
//third_party/abseil-cpp/absl/random/internal:mock_helpers
//third_party/abseil-cpp/absl/random/internal:mock_overload_set
//third_party/abseil-cpp/absl/random/internal:mock_validators
//third_party/abseil-cpp/absl/random:mocking_bit_gen
//third_party/abseil-cpp/absl/strings:cord_test_helpers
//third_party/abseil-cpp/absl/synchronization:thread_pool
//third_party/abseil-cpp/absl/types:any
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
diff --git a/toolchain/apple/toolchain.gni b/toolchain/apple/toolchain.gni
index dd2722015..f6b7a4486 100644
--- a/toolchain/apple/toolchain.gni
+++ b/toolchain/apple/toolchain.gni
@@ -470,7 +470,7 @@ template("single_apple_toolchain") {
tool("cxx") {
depfile = "{{output}}.d"
precompiled_header_type = "gcc"
- command = "$coverage_wrapper$cxx $md -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}} {{module_deps_no_self}} -c {{source}} -o {{output}}"
+ command = "$coverage_wrapper$cxx $md -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}} -c {{source}} -o {{output}}"
depsformat = "gcc"
description = "CXX {{output}}"
outputs = [ "$object_subdir/{{source_name_part}}.o" ]
@@ -482,7 +482,7 @@ template("single_apple_toolchain") {

# Module file doesn't need coverage instrumentation because module files
# represent interfaces rather than implementations.
- command = "$cxx -MD -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}} {{module_deps_no_self}} -fmodule-name={{cc_module_name}} -c -x c++ -Xclang -emit-module {{source}} -o {{output}}"
+ command = "this-should-never-run"
depsformat = "gcc"
description = "CXX_MODULE {{output}}"
outputs = [ "$object_subdir/{{source_name_part}}.pcm" ]
Comment thread
BillyONeal marked this conversation as resolved.
diff --git a/toolchain/gcc_toolchain.gni b/toolchain/gcc_toolchain.gni
index a22678bb1..eb5db24c9 100644
--- a/toolchain/gcc_toolchain.gni
+++ b/toolchain/gcc_toolchain.gni
@@ -332,7 +332,7 @@ template("single_gcc_toolchain") {
tool("cxx") {
depfile = "{{output}}.d"
precompiled_header_type = "gcc"
- command = "$coverage_wrapper$cxx $md -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}}${extra_cppflags}${extra_cxxflags} {{module_deps_no_self}} -c {{source}} -o {{output}}"
+ command = "$coverage_wrapper$cxx $md -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}}${extra_cppflags}${extra_cxxflags} -c {{source}} -o {{output}}"
depsformat = "gcc"
description = "CXX {{output}}"
outputs = [ "$object_subdir/{{source_name_part}}.o" ]
@@ -343,7 +343,7 @@ template("single_gcc_toolchain") {

# Module file doesn't need coverage instrumentation because module files
# represent interfaces rather than implementations.
- command = "$cxx -MD -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}}${extra_cppflags}${extra_cxxflags} {{module_deps_no_self}} -fmodule-name={{cc_module_name}} -x c++ -Xclang -emit-module -c {{source}} -o {{output}}"
+ command = "this-should-never-run"
depsformat = "gcc"
description = "CXX_MODULE {{output}}"
outputs = [ "$object_subdir/{{source_name_part}}.pcm" ]
Comment thread
BillyONeal marked this conversation as resolved.
diff --git a/toolchain/win/toolchain.gni b/toolchain/win/toolchain.gni
index 8d0b87816..dbefdda0b 100644
--- a/toolchain/win/toolchain.gni
+++ b/toolchain/win/toolchain.gni
@@ -239,7 +239,7 @@ template("msvc_toolchain") {
depsformat = "msvc"
description = "CXX_MODULE {{output}}"
outputs = [ "$object_subdir/{{source_name_part}}.pcm" ]
- command = "$env_wrapper$cl /Fo{{output}} /nologo $show_includes $sys_include_flags{{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}} {{module_deps_no_self}} /Fd\"$pdbname\" -fmodule-name={{cc_module_name}} /c -x c++ -Xclang -emit-module {{source}}"
+ command = "this-should-never-run"
Comment thread
BillyONeal marked this conversation as resolved.
}

tool("cxx") {
@@ -255,7 +255,7 @@ template("msvc_toolchain") {

# Note that the code coverage wrapper scripts assumes that {{source}}
# comes immediately after /c.
- command = "$coverage_wrapper$env_wrapper$cl /c {{source}} /Fo{{output}} /nologo $show_includes $sys_include_flags{{defines}} {{include_dirs}} {{cflags}} /TP {{cflags_cc}} {{module_deps_no_self}} /Fd\"$pdbname\""
+ command = "$coverage_wrapper$env_wrapper$cl /c {{source}} /Fo{{output}} /nologo $show_includes $sys_include_flags{{defines}} {{include_dirs}} {{cflags}} /TP {{cflags_cc}} /Fd\"$pdbname\""
}

tool("rc") {
18 changes: 18 additions & 0 deletions ports/webrtc/build-0002-fix-apple-arflags-usage.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
diff --git a/toolchain/apple/toolchain.gni b/toolchain/apple/toolchain.gni
index dd2722015..122773617 100644
--- a/toolchain/apple/toolchain.gni
+++ b/toolchain/apple/toolchain.gni
@@ -528,11 +528,11 @@ template("single_apple_toolchain") {

# Apple's libtool fails if the response file is empty (e.g., for empty targets).
# We work around this by writing a dummy archive with the ar magic number.
- command = "rm -f {{output}} && if [ -s \"$rspfile\" ]; then TOOL_VERSION=${tool_versions.filter_libtool} $python_path $script $libtool -static -D {{arflags}} -o {{output}} @$rspfile; else printf '!<arch>\n' > {{output}}; fi"
+ command = "rm -f {{output}} && if [ -s \"$rspfile\" ]; then TOOL_VERSION=${tool_versions.filter_libtool} $python_path $script $libtool -static {{arflags}} -o {{output}} @$rspfile; else printf '!<arch>\n' > {{output}}; fi"
description = "LIBTOOL-STATIC {{output}}"
} else {
ar = "${prefix}llvm-ar"
- command = "\"$ar\" {{arflags}} -r -c -s -D {{output}} @$rspfile"
+ command = "\"$ar\" {{arflags}} -r -c -s {{output}} @$rspfile"

# Remove the output file first so that ar doesn't try to modify the
# existing file.
26 changes: 26 additions & 0 deletions ports/webrtc/build-0004-disable-sanitize-c-array-bounds.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
--- a/config/compiler/BUILD.gn
+++ b/config/compiler/BUILD.gn
@@ -1901,22 +1901,7 @@
# See also: https://crbug.com/40891132#comment10
config("sanitize_c_array_bounds") {
if (!is_ubsan && is_clang && !(is_asan && target_cpu == "x86")) {
- cflags = [
- "-fsanitize=array-bounds",
- "-fsanitize-trap=array-bounds",
-
- # Some code users feature detection to determine if UBSAN (or any
- # sanitizer) is enabled, they then do expensive debug like operations. We
- # want to suppress this behaviour since we want to keep performance costs
- # as low as possible while having these checks.
- "-fsanitize-ignore-for-ubsan-feature=array-bounds",
-
- # Because we've enabled array-bounds sanitizing we also want to suppress
- # the related warning about "unsafe-buffer-usage-in-static-sized-array",
- # since we know that the array bounds sanitizing will catch any out-of-
- # bounds accesses.
- "-Wno-unsafe-buffer-usage-in-static-sized-array",
- ]
+ cflags = []
}
}

20 changes: 20 additions & 0 deletions ports/webrtc/build-0005-disable-sanitize-return.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
--- a/config/compiler/BUILD.gn
+++ b/config/compiler/BUILD.gn
@@ -1925,16 +1925,7 @@
# `NOTREACHED()` at the end of such functions.
config("sanitize_return") {
if (!is_ubsan && is_clang) {
- cflags = [
- "-fsanitize=return",
- "-fsanitize-trap=return",
-
- # Some code users feature detection to determine if UBSAN (or any
- # sanitizer) is enabled, they then do expensive debug like operations. We
- # want to suppress this behaviour since we want to keep performance costs
- # as low as possible while having these checks.
- "-fsanitize-ignore-for-ubsan-feature=return",
- ]
+ cflags = []
}
}

19 changes: 19 additions & 0 deletions ports/webrtc/build-0006-skip-local-vs-debugger-copy.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
diff --git a/vs_toolchain.py b/vs_toolchain.py
index 5d83b6c..d82417b 100644
--- a/vs_toolchain.py
+++ b/vs_toolchain.py
@@ -468,7 +468,10 @@ def _CopyDebugger(target_dir, target_cpu):
debug_files = [('dbghelp.dll', False), ('dbgcore.dll', True),
('symsrv.dll', True)]
for debug_file, is_optional in debug_files:
- full_path = os.path.join(win_sdk_dir, 'Debuggers', target_cpu, debug_file)
+ full_path = os.path.join(win_sdk_dir, 'Debuggers', target_cpu, debug_file)
+ local_toolchain = not bool(
+ int(os.environ.get('DEPOT_TOOLS_WIN_TOOLCHAIN', '1'))
+ )
if not os.path.exists(full_path):
- if is_optional:
+ if is_optional or local_toolchain:
continue
else:
raise Exception('%s not found in "%s"\r\nYou must install '
Loading