From 1117e7e88c5e487ae6032fe74ff5ec2bd4dfaf41 Mon Sep 17 00:00:00 2001 From: termux-pacman-bot Date: Sat, 30 Aug 2025 21:34:45 +0000 Subject: [PATCH] chromium-host-tools: bump to 139.0.7258.154 (#25872) --- x11-packages/chromium-host-tools/build.sh | 4 +- .../jumbo-patches/0002-cflags.patch | 24 + ...group-base.patch => 0101-group-base.patch} | 19 + ...p-crypto.patch => 0102-group-crypto.patch} | 0 .../{0004-net.patch => 0103-net.patch} | 0 .../{0005-v8.patch => 0104-v8.patch} | 20 + .../{0006-3rd.patch => 0105-3rd.patch} | 0 ...d-mojo.patch => 0106-blink-and-mojo.patch} | 20 + ...components.patch => 0107-components.patch} | 0 .../{0009-ui.patch => 0108-ui.patch} | 0 ...{0010-content.patch => 0109-content.patch} | 0 ...patch => 0110-device-and-extensions.patch} | 0 ...2-group-gpu.patch => 0111-group-gpu.patch} | 0 .../{0013-chrome.patch => 0112-chrome.patch} | 0 .../jumbo-patches/0113-protobuf.patch | 45 + .../0114-absl-and-perfetto.patch | 268 ++++++ .../jumbo-patches/0115-webrtc.patch | 808 ++++++++++++++++++ 17 files changed, 1206 insertions(+), 2 deletions(-) create mode 100755 x11-packages/chromium-host-tools/jumbo-patches/0002-cflags.patch rename x11-packages/chromium-host-tools/jumbo-patches/{0002-group-base.patch => 0101-group-base.patch} (94%) rename x11-packages/chromium-host-tools/jumbo-patches/{0003-group-crypto.patch => 0102-group-crypto.patch} (100%) rename x11-packages/chromium-host-tools/jumbo-patches/{0004-net.patch => 0103-net.patch} (100%) rename x11-packages/chromium-host-tools/jumbo-patches/{0005-v8.patch => 0104-v8.patch} (97%) rename x11-packages/chromium-host-tools/jumbo-patches/{0006-3rd.patch => 0105-3rd.patch} (100%) rename x11-packages/chromium-host-tools/jumbo-patches/{0007-blink-and-mojo.patch => 0106-blink-and-mojo.patch} (99%) rename x11-packages/chromium-host-tools/jumbo-patches/{0008-components.patch => 0107-components.patch} (100%) rename x11-packages/chromium-host-tools/jumbo-patches/{0009-ui.patch => 0108-ui.patch} (100%) rename x11-packages/chromium-host-tools/jumbo-patches/{0010-content.patch => 0109-content.patch} (100%) rename x11-packages/chromium-host-tools/jumbo-patches/{0011-device-and-extensions.patch => 0110-device-and-extensions.patch} (100%) rename x11-packages/chromium-host-tools/jumbo-patches/{0012-group-gpu.patch => 0111-group-gpu.patch} (100%) rename x11-packages/chromium-host-tools/jumbo-patches/{0013-chrome.patch => 0112-chrome.patch} (100%) create mode 100755 x11-packages/chromium-host-tools/jumbo-patches/0113-protobuf.patch create mode 100755 x11-packages/chromium-host-tools/jumbo-patches/0114-absl-and-perfetto.patch create mode 100755 x11-packages/chromium-host-tools/jumbo-patches/0115-webrtc.patch diff --git a/x11-packages/chromium-host-tools/build.sh b/x11-packages/chromium-host-tools/build.sh index 2aa94d7713..9182516558 100644 --- a/x11-packages/chromium-host-tools/build.sh +++ b/x11-packages/chromium-host-tools/build.sh @@ -2,9 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://www.chromium.org/Home TERMUX_PKG_DESCRIPTION="Chromium web browser (Host tools)" TERMUX_PKG_LICENSE="BSD 3-Clause" TERMUX_PKG_MAINTAINER="@licy183" -TERMUX_PKG_VERSION=139.0.7258.138 +TERMUX_PKG_VERSION=139.0.7258.154 TERMUX_PKG_SRCURL=https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$TERMUX_PKG_VERSION.tar.xz -TERMUX_PKG_SHA256=86db7326987a280380e35cf1e961df8d08fb1f8eb3b0ae9ee8250b5dff65e1ea +TERMUX_PKG_SHA256=bb83f7425e33f2a94179c4704335fbad14d4707dce9f58abe90d862b746f3d9f TERMUX_PKG_DEPENDS="atk, cups, dbus, fontconfig, gtk3, krb5, libc++, libevdev, libxkbcommon, libminizip, libnss, libx11, mesa, openssl, pango, pulseaudio, zlib" TERMUX_PKG_BUILD_DEPENDS="libffi-static" # TODO: Split chromium-common and chromium-headless diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0002-cflags.patch b/x11-packages/chromium-host-tools/jumbo-patches/0002-cflags.patch new file mode 100755 index 0000000000..b297760d05 --- /dev/null +++ b/x11-packages/chromium-host-tools/jumbo-patches/0002-cflags.patch @@ -0,0 +1,24 @@ +From ca5ceb5264c880315f18ba56417e8c66c9fc3cf3 Mon Sep 17 00:00:00 2001 +From: Chongyun Lee +Date: Sun, 24 Aug 2025 00:06:38 +0800 +Subject: [PATCH] Treat `macro redefined` as error in jumbo build + +--- + build/config/compiler/BUILD.gn | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index 74594e1a36..daf977b133 100644 +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -2219,6 +2219,10 @@ config("default_warnings") { + cflags += [ + "-Wno-unknown-warning-option", + "-Wno-unknown-pragmas", ++ ++ # Treat macro redefined as error ++ # In jumbo build, it may cause undefined behavior ++ "-Werror=macro-redefined", + ] + + # Rust warnings diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0002-group-base.patch b/x11-packages/chromium-host-tools/jumbo-patches/0101-group-base.patch similarity index 94% rename from x11-packages/chromium-host-tools/jumbo-patches/0002-group-base.patch rename to x11-packages/chromium-host-tools/jumbo-patches/0101-group-base.patch index 9b5e9be851..a30c9f77ac 100644 --- a/x11-packages/chromium-host-tools/jumbo-patches/0002-group-base.patch +++ b/x11-packages/chromium-host-tools/jumbo-patches/0101-group-base.patch @@ -384,3 +384,22 @@ index 191ddca368..a4008193b5 100644 forward_variables_from(invoker, "*", [ "configs" ]) if (defined(invoker.configs)) { configs += invoker.configs +diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn +index 9f18a00af5..870c7dbae4 100644 +--- a/components/viz/service/BUILD.gn ++++ b/components/viz/service/BUILD.gn +@@ -273,6 +273,14 @@ viz_component("service") { + "transitions/transferable_resource_tracker.cc", + "transitions/transferable_resource_tracker.h", + ] ++ jumbo_excluded_sources = [ ++ # `gpu/GLES2/gl2chromium_autogen.h` and `gpu/GLES2/gl2chromium.h` has macro confliction, ++ # and it is included by `layers/layer_context_impl.cc` ++ # - components/viz/client/client_resource_provider.h ++ # - third_party/khronos/GLES2/gl2.h ++ # - gpu/GLES2/gl2chromium.h ++ "layers/layer_context_impl.cc" ++ ] + + defines = [ "VIZ_SERVICE_IMPLEMENTATION" ] + diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0003-group-crypto.patch b/x11-packages/chromium-host-tools/jumbo-patches/0102-group-crypto.patch similarity index 100% rename from x11-packages/chromium-host-tools/jumbo-patches/0003-group-crypto.patch rename to x11-packages/chromium-host-tools/jumbo-patches/0102-group-crypto.patch diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0004-net.patch b/x11-packages/chromium-host-tools/jumbo-patches/0103-net.patch similarity index 100% rename from x11-packages/chromium-host-tools/jumbo-patches/0004-net.patch rename to x11-packages/chromium-host-tools/jumbo-patches/0103-net.patch diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0005-v8.patch b/x11-packages/chromium-host-tools/jumbo-patches/0104-v8.patch similarity index 97% rename from x11-packages/chromium-host-tools/jumbo-patches/0005-v8.patch rename to x11-packages/chromium-host-tools/jumbo-patches/0104-v8.patch index fb760ae915..3aebe8872b 100644 --- a/x11-packages/chromium-host-tools/jumbo-patches/0005-v8.patch +++ b/x11-packages/chromium-host-tools/jumbo-patches/0104-v8.patch @@ -949,3 +949,23 @@ index b1279b7553..e436c776b2 100644 +#include "src/compiler/turboshaft/undef-assembler-macros.inc" + } // namespace v8::internal::wasm +diff --git a/v8/src/compiler/revectorizer.cc b/v8/src/compiler/revectorizer.cc +index 1d332c42ae..dc9e3906b6 100644 +--- a/v8/src/compiler/revectorizer.cc ++++ b/v8/src/compiler/revectorizer.cc +@@ -1459,3 +1459,5 @@ void Revectorizer::PrintStores(ZoneMap* store_chains) { + } // namespace compiler + } // namespace internal + } // namespace v8 ++ ++#undef TRACE +diff --git a/v8/src/compiler/turboshaft/wasm-revec-reducer.cc b/v8/src/compiler/turboshaft/wasm-revec-reducer.cc +index ddf3b81c7a..f6548579c7 100644 +--- a/v8/src/compiler/turboshaft/wasm-revec-reducer.cc ++++ b/v8/src/compiler/turboshaft/wasm-revec-reducer.cc +@@ -1620,3 +1620,5 @@ void WasmRevecAnalyzer::Print(const char* info) { + } + + } // namespace v8::internal::compiler::turboshaft ++ ++#undef TRACE diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0006-3rd.patch b/x11-packages/chromium-host-tools/jumbo-patches/0105-3rd.patch similarity index 100% rename from x11-packages/chromium-host-tools/jumbo-patches/0006-3rd.patch rename to x11-packages/chromium-host-tools/jumbo-patches/0105-3rd.patch diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0007-blink-and-mojo.patch b/x11-packages/chromium-host-tools/jumbo-patches/0106-blink-and-mojo.patch similarity index 99% rename from x11-packages/chromium-host-tools/jumbo-patches/0007-blink-and-mojo.patch rename to x11-packages/chromium-host-tools/jumbo-patches/0106-blink-and-mojo.patch index 3b26b6f6a0..e8d3dc51f5 100644 --- a/x11-packages/chromium-host-tools/jumbo-patches/0007-blink-and-mojo.patch +++ b/x11-packages/chromium-host-tools/jumbo-patches/0106-blink-and-mojo.patch @@ -4766,3 +4766,23 @@ index c63fa7741e..6ea81f71de 100644 +#endif + #endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_WTF_VECTOR_H_ +diff --git a/third_party/blink/renderer/platform/geometry/layout_unit.cc b/third_party/blink/renderer/platform/geometry/layout_unit.cc +index 9d3b36ef25..ffbf29ecb8 100644 +--- a/third_party/blink/renderer/platform/geometry/layout_unit.cc ++++ b/third_party/blink/renderer/platform/geometry/layout_unit.cc +@@ -57,3 +57,5 @@ INSTANTIATE(16, int32_t); + INSTANTIATE(16, int64_t); + + } // namespace blink ++ ++#undef INSTANTIATE +diff --git a/third_party/blink/renderer/platform/geometry/physical_offset.cc b/third_party/blink/renderer/platform/geometry/physical_offset.cc +index f3101af87e..2e8455a011 100644 +--- a/third_party/blink/renderer/platform/geometry/physical_offset.cc ++++ b/third_party/blink/renderer/platform/geometry/physical_offset.cc +@@ -29,3 +29,5 @@ std::ostream& operator<<(std::ostream& os, + INSTANTIATE(LayoutUnit); + + } // namespace blink ++ ++#undef INSTANTIATE diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0008-components.patch b/x11-packages/chromium-host-tools/jumbo-patches/0107-components.patch similarity index 100% rename from x11-packages/chromium-host-tools/jumbo-patches/0008-components.patch rename to x11-packages/chromium-host-tools/jumbo-patches/0107-components.patch diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0009-ui.patch b/x11-packages/chromium-host-tools/jumbo-patches/0108-ui.patch similarity index 100% rename from x11-packages/chromium-host-tools/jumbo-patches/0009-ui.patch rename to x11-packages/chromium-host-tools/jumbo-patches/0108-ui.patch diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0010-content.patch b/x11-packages/chromium-host-tools/jumbo-patches/0109-content.patch similarity index 100% rename from x11-packages/chromium-host-tools/jumbo-patches/0010-content.patch rename to x11-packages/chromium-host-tools/jumbo-patches/0109-content.patch diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0011-device-and-extensions.patch b/x11-packages/chromium-host-tools/jumbo-patches/0110-device-and-extensions.patch similarity index 100% rename from x11-packages/chromium-host-tools/jumbo-patches/0011-device-and-extensions.patch rename to x11-packages/chromium-host-tools/jumbo-patches/0110-device-and-extensions.patch diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0012-group-gpu.patch b/x11-packages/chromium-host-tools/jumbo-patches/0111-group-gpu.patch similarity index 100% rename from x11-packages/chromium-host-tools/jumbo-patches/0012-group-gpu.patch rename to x11-packages/chromium-host-tools/jumbo-patches/0111-group-gpu.patch diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0013-chrome.patch b/x11-packages/chromium-host-tools/jumbo-patches/0112-chrome.patch similarity index 100% rename from x11-packages/chromium-host-tools/jumbo-patches/0013-chrome.patch rename to x11-packages/chromium-host-tools/jumbo-patches/0112-chrome.patch diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0113-protobuf.patch b/x11-packages/chromium-host-tools/jumbo-patches/0113-protobuf.patch new file mode 100755 index 0000000000..f806553992 --- /dev/null +++ b/x11-packages/chromium-host-tools/jumbo-patches/0113-protobuf.patch @@ -0,0 +1,45 @@ +From a19b6e917e60db489607cd88a34ddc2b03c9d570 Mon Sep 17 00:00:00 2001 +From: Chongyun Lee +Date: Sat, 23 Aug 2025 16:44:54 +0800 +Subject: [PATCH] reland jumbo 13 + +Enable jumbo build for the following template(s): + +- //third_party/protobuf/proto_library.gni -> template("proto_library") + +--- + third_party/protobuf/proto_library.gni | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +diff --git a/third_party/protobuf/proto_library.gni b/third_party/protobuf/proto_library.gni +index afd1bd8388..25481aba32 100644 +--- a/third_party/protobuf/proto_library.gni ++++ b/third_party/protobuf/proto_library.gni +@@ -139,6 +139,7 @@ import("//build_overrides/protobuf.gni") + + import("//build/config/compiler/compiler.gni") + import("//build/config/cronet/config.gni") ++import("//build/config/jumbo.gni") + import("//build/config/sanitizers/sanitizers.gni") + import("//build/toolchain/kythe.gni") + +@@ -638,9 +639,17 @@ template("proto_library") { + (defined(invoker.component_build_force_source_set) && + invoker.component_build_force_source_set && is_component_build)) { + # Option to disable building a library in component build. +- _library_type = "source_set" ++ _library_type = "jumbo_source_set" + } else { +- _library_type = "static_library" ++ _library_type = "jumbo_static_library" ++ } ++ ++ if (defined(invoker.testonly) && invoker.testonly) { ++ if (_library_type == "jumbo_source_set") { ++ _library_type = "source_set" ++ } else if (_library_type == "jumbo_static_library") { ++ _library_type = "static_library" ++ } + } + + # Build generated protobuf stubs as libary or source set. diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0114-absl-and-perfetto.patch b/x11-packages/chromium-host-tools/jumbo-patches/0114-absl-and-perfetto.patch new file mode 100755 index 0000000000..2e066b0d57 --- /dev/null +++ b/x11-packages/chromium-host-tools/jumbo-patches/0114-absl-and-perfetto.patch @@ -0,0 +1,268 @@ +From b1278c48cacbc50311debe12e78c018998f9d822 Mon Sep 17 00:00:00 2001 +From: Chongyun Lee +Date: Sat, 23 Aug 2025 23:48:59 +0800 +Subject: [PATCH] reland jumbo 14 + +Enable jumbo build for the following component(s)/source_set(s): + +- //third_party/perfetto/src/shared_lib:shared_lib +- //third_party/perfetto/src/trace_processor/db/column:column +- //third_party/perfetto/src/trace_processor/importers/common:common +- //third_party/perfetto/src/trace_processor/importers/memory_tracker:graph_processor +- //third_party/perfetto/src/trace_processor/importers/proto:minimal +- //third_party/perfetto/src/tracing:client_api_without_backends +- //third_party/perfetto/src/tracing/service:service + +Enable jumbo build for the following template(s): + +- //third_party/abseil-cpp/absl.gni -> template("absl_source_set") +- //third_party/perfetto/gn/perfetto_component.gni -> template("perfetto_component") + +--- + third_party/abseil-cpp/absl.gni | 3 ++- + third_party/abseil-cpp/absl/strings/numbers.cc | 3 +++ + .../absl/time/internal/cctz/src/time_zone_posix.cc | 4 ++++ + third_party/abseil-cpp/absl/time/time.cc | 4 ++++ + third_party/perfetto/gn/perfetto_component.gni | 10 +++++++++- + third_party/perfetto/src/shared_lib/BUILD.gn | 3 ++- + .../perfetto/src/trace_processor/db/column/BUILD.gn | 3 ++- + .../src/trace_processor/importers/common/BUILD.gn | 3 ++- + .../trace_processor/importers/memory_tracker/BUILD.gn | 3 ++- + .../src/trace_processor/importers/proto/BUILD.gn | 3 ++- + third_party/perfetto/src/tracing/BUILD.gn | 3 ++- + third_party/perfetto/src/tracing/service/BUILD.gn | 3 ++- + 12 files changed, 36 insertions(+), 9 deletions(-) + +diff --git a/third_party/abseil-cpp/absl.gni b/third_party/abseil-cpp/absl.gni +index 48e1ce7838..1ae51fc0f5 100644 +--- a/third_party/abseil-cpp/absl.gni ++++ b/third_party/abseil-cpp/absl.gni +@@ -17,6 +17,7 @@ + # deps = [ ":bar" ] + # } + ++import("//build/config/jumbo.gni") + import("//build_overrides/build.gni") + + declare_args() { +@@ -24,7 +25,7 @@ declare_args() { + } + + template("absl_source_set") { +- source_set(target_name) { ++ jumbo_source_set(target_name) { + if (defined(invoker.testonly) && invoker.testonly && !absl_build_tests) { + not_needed(invoker, "*") + } else { +diff --git a/third_party/abseil-cpp/absl/strings/numbers.cc b/third_party/abseil-cpp/absl/strings/numbers.cc +index a83fd2ca84..cbaff818f4 100644 +--- a/third_party/abseil-cpp/absl/strings/numbers.cc ++++ b/third_party/abseil-cpp/absl/strings/numbers.cc +@@ -673,6 +673,7 @@ size_t numbers_internal::SixDigitsToBuffer(double d, + } + + namespace { ++#define kAsciiToInt kAsciiToInt_Numbers + // Represents integer values of digits. + // Uses 36 to indicate an invalid character since we support + // bases up to 36. +@@ -1086,6 +1087,8 @@ inline bool safe_uint_internal(absl::string_view text, + } + return safe_parse_positive_int(text, base, value_p); + } ++ ++#undef kAsciiToInt + } // anonymous namespace + + namespace numbers_internal { +diff --git a/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc b/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +index efea080470..d6480bce97 100644 +--- a/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc ++++ b/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +@@ -21,6 +21,8 @@ + + #include "absl/base/config.h" + ++#define kDigits kDigits_TimeZonePosix ++ + namespace absl { + ABSL_NAMESPACE_BEGIN + namespace time_internal { +@@ -157,3 +159,5 @@ bool ParsePosixSpec(const std::string& spec, PosixTimeZone* res) { + } // namespace time_internal + ABSL_NAMESPACE_END + } // namespace absl ++ ++#undef kDigits +diff --git a/third_party/abseil-cpp/absl/time/time.cc b/third_party/abseil-cpp/absl/time/time.cc +index d983c12bb5..37d87ca0fe 100644 +--- a/third_party/abseil-cpp/absl/time/time.cc ++++ b/third_party/abseil-cpp/absl/time/time.cc +@@ -46,6 +46,8 @@ + + namespace cctz = absl::time_internal::cctz; + ++#define unix_epoch unix_epoch_time ++ + namespace absl { + ABSL_NAMESPACE_BEGIN + +@@ -505,3 +507,5 @@ struct tm ToTM(absl::Time t, absl::TimeZone tz) { + + ABSL_NAMESPACE_END + } // namespace absl ++ ++#undef unix_epoch +diff --git a/third_party/perfetto/gn/perfetto_component.gni b/third_party/perfetto/gn/perfetto_component.gni +index 3c40d5d03c..59dd9563a7 100644 +--- a/third_party/perfetto/gn/perfetto_component.gni ++++ b/third_party/perfetto/gn/perfetto_component.gni +@@ -29,6 +29,8 @@ import("perfetto.gni") + # -DPERFETTO_ANDROID_ASYNC_SAFE_LOG. Once this is fixed re-enable the + # ODRChecker in tools/gen_android_bp. + ++import("//build/config/jumbo.gni") ++ + # The condition below really means: "is Bazel generator". + if (is_perfetto_build_generator && !perfetto_build_with_android) { + perfetto_component_type = "static_library" +@@ -37,7 +39,13 @@ if (is_perfetto_build_generator && !perfetto_build_with_android) { + } + + template("perfetto_component") { +- target(perfetto_component_type, target_name) { ++ _component_type = perfetto_component_type ++ if (perfetto_component_type == "static_library") { ++ _component_type = "jumbo_static_library" ++ } else if (perfetto_component_type == "source_set") { ++ _component_type = "jumbo_source_set" ++ } ++ target(_component_type, target_name) { + forward_variables_from(invoker, "*") + if (perfetto_component_type == "static_library") { + # Mangle the name of the library putting the full path in it. In component +diff --git a/third_party/perfetto/src/shared_lib/BUILD.gn b/third_party/perfetto/src/shared_lib/BUILD.gn +index ee0aa497d0..2be9d78a9e 100644 +--- a/third_party/perfetto/src/shared_lib/BUILD.gn ++++ b/third_party/perfetto/src/shared_lib/BUILD.gn +@@ -12,6 +12,7 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + ++import("//build/config/jumbo.gni") + import("../../gn/test.gni") + + source_set("intern_map") { +@@ -26,7 +27,7 @@ source_set("intern_map") { + ] + } + +-source_set("shared_lib") { ++jumbo_source_set("shared_lib") { + deps = [ + ":intern_map", + "../../gn:default_deps", +diff --git a/third_party/perfetto/src/trace_processor/db/column/BUILD.gn b/third_party/perfetto/src/trace_processor/db/column/BUILD.gn +index e92189fa54..7846495045 100644 +--- a/third_party/perfetto/src/trace_processor/db/column/BUILD.gn ++++ b/third_party/perfetto/src/trace_processor/db/column/BUILD.gn +@@ -12,9 +12,10 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + ++import("//build/config/jumbo.gni") + import("../../../../gn/test.gni") + +-source_set("column") { ++jumbo_source_set("column") { + sources = [ + "arrangement_overlay.cc", + "arrangement_overlay.h", +diff --git a/third_party/perfetto/src/trace_processor/importers/common/BUILD.gn b/third_party/perfetto/src/trace_processor/importers/common/BUILD.gn +index 3be2a5d292..be9ca2a672 100644 +--- a/third_party/perfetto/src/trace_processor/importers/common/BUILD.gn ++++ b/third_party/perfetto/src/trace_processor/importers/common/BUILD.gn +@@ -12,9 +12,10 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + ++import("//build/config/jumbo.gni") + import("../../../../gn/perfetto.gni") + +-source_set("common") { ++jumbo_source_set("common") { + sources = [ + "address_range.h", + "args_tracker.cc", +diff --git a/third_party/perfetto/src/trace_processor/importers/memory_tracker/BUILD.gn b/third_party/perfetto/src/trace_processor/importers/memory_tracker/BUILD.gn +index 0fc30b806f..9e4922399d 100644 +--- a/third_party/perfetto/src/trace_processor/importers/memory_tracker/BUILD.gn ++++ b/third_party/perfetto/src/trace_processor/importers/memory_tracker/BUILD.gn +@@ -12,10 +12,11 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + ++import("//build/config/jumbo.gni") + import("../../../../gn/perfetto.gni") + import("../../../../gn/test.gni") + +-source_set("graph_processor") { ++jumbo_source_set("graph_processor") { + deps = [ "../../../../gn:default_deps" ] + public_deps = [ + "../../../../include/perfetto/base", +diff --git a/third_party/perfetto/src/trace_processor/importers/proto/BUILD.gn b/third_party/perfetto/src/trace_processor/importers/proto/BUILD.gn +index ed254e5a67..215ac02e98 100644 +--- a/third_party/perfetto/src/trace_processor/importers/proto/BUILD.gn ++++ b/third_party/perfetto/src/trace_processor/importers/proto/BUILD.gn +@@ -12,9 +12,10 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + ++import("//build/config/jumbo.gni") + import("../../../../gn/perfetto_cc_proto_descriptor.gni") + +-source_set("minimal") { ++jumbo_source_set("minimal") { + sources = [ + "active_chrome_processes_tracker.cc", + "active_chrome_processes_tracker.h", +diff --git a/third_party/perfetto/src/tracing/BUILD.gn b/third_party/perfetto/src/tracing/BUILD.gn +index 4bbfdf75a8..5529a09872 100644 +--- a/third_party/perfetto/src/tracing/BUILD.gn ++++ b/third_party/perfetto/src/tracing/BUILD.gn +@@ -12,6 +12,7 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + ++import("//build/config/jumbo.gni") + import("../../gn/fuzzer.gni") + import("../../gn/perfetto.gni") + import("../../gn/test.gni") +@@ -69,7 +70,7 @@ source_set("common") { + + # Base target for the client API. On its own doesn't provide any backend other + # than the unsupported one. +-source_set("client_api_without_backends") { ++jumbo_source_set("client_api_without_backends") { + deps = [ + "../../include/perfetto/tracing/core", + "../../protos/perfetto/common:zero", +diff --git a/third_party/perfetto/src/tracing/service/BUILD.gn b/third_party/perfetto/src/tracing/service/BUILD.gn +index 24d894d709..933cfffdc4 100644 +--- a/third_party/perfetto/src/tracing/service/BUILD.gn ++++ b/third_party/perfetto/src/tracing/service/BUILD.gn +@@ -12,11 +12,12 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + ++import("//build/config/jumbo.gni") + import("../../../gn/fuzzer.gni") + import("../../../gn/perfetto.gni") + import("../../../gn/test.gni") + +-source_set("service") { ++jumbo_source_set("service") { + public_deps = [ + "..:common", + "../../../include/perfetto/ext/base", diff --git a/x11-packages/chromium-host-tools/jumbo-patches/0115-webrtc.patch b/x11-packages/chromium-host-tools/jumbo-patches/0115-webrtc.patch new file mode 100755 index 0000000000..d64c83c2a2 --- /dev/null +++ b/x11-packages/chromium-host-tools/jumbo-patches/0115-webrtc.patch @@ -0,0 +1,808 @@ +From a70d36bc8930357ae55ca5e0932888833d0db9f4 Mon Sep 17 00:00:00 2001 +From: Chongyun Lee +Date: Sat, 23 Aug 2025 23:52:42 +0800 +Subject: [PATCH] reland jumbo 15 + +Enable jumbo build for the following template(s): + +- //third_party/webrtc/webrtc.gni -> template("rtc_source_set") +- //third_party/webrtc/webrtc.gni -> template("rtc_static_library") + +--- + .../audio_encoder_multi_channel_opus_config.cc | 4 ++++ + .../opus/audio_encoder_opus_config.cc | 4 ++++ + third_party/webrtc/api/video/i010_buffer.cc | 6 ++++++ + third_party/webrtc/api/video/i210_buffer.cc | 6 ++++++ + third_party/webrtc/api/video/i410_buffer.cc | 6 ++++++ + third_party/webrtc/api/video/i420_buffer.cc | 4 ++++ + third_party/webrtc/api/video/i422_buffer.cc | 4 ++++ + .../api/video_codecs/h264_profile_level_id.cc | 6 ++++++ + .../video_codecs/h265_profile_tier_level.cc | 6 ++++++ + third_party/webrtc/common_audio/BUILD.gn | 4 ++++ + .../common_video/h265/h265_bitstream_parser.cc | 6 ++++++ + .../common_video/h265/h265_pps_parser.cc | 6 ++++++ + .../webrtc/media/engine/webrtc_video_engine.cc | 4 ++++ + .../webrtc/media/engine/webrtc_voice_engine.cc | 4 ++++ + .../audio_coding/neteq/reorder_optimizer.cc | 6 ++++++ + .../audio_coding/neteq/underrun_optimizer.cc | 6 ++++++ + .../remote_bitrate_estimator_abs_send_time.cc | 6 ++++++ + .../remote_bitrate_estimator_single_stream.cc | 6 ++++++ + ...flexfec_03_header_reader_writer_unittest.cc | 18 ++++++++++++++++++ + .../source/flexfec_header_reader_writer.cc | 18 ++++++++++++++++++ + .../rtp_rtcp/source/flexfec_receiver.cc | 4 ++++ + .../modules/rtp_rtcp/source/flexfec_sender.cc | 4 ++++ + .../rtp_rtcp/source/packet_sequencer.cc | 6 ++++++ + .../modules/rtp_rtcp/source/rtcp_receiver.cc | 6 ++++++ + .../modules/rtp_rtcp/source/rtcp_sender.cc | 6 ++++++ + .../modules/rtp_rtcp/source/rtp_packet.cc | 4 ++++ + .../rtp_rtcp/source/rtp_sender_egress.cc | 4 ++++ + .../rtp_rtcp/source/rtp_sender_video.cc | 4 ++++ + .../webrtc/modules/rtp_rtcp/source/rtp_util.cc | 4 ++++ + .../codecs/vp8/screenshare_layers.cc | 18 ++++++++++++++---- + .../scalability_structure_l2t2_key_shift.cc | 4 ++++ + .../svc/scalability_structure_simulcast.cc | 4 ++++ + .../webrtc/pc/jsep_session_description.cc | 6 ++++++ + third_party/webrtc/pc/webrtc_sdp.cc | 6 ++++++ + third_party/webrtc/webrtc.gni | 9 +++++---- + 35 files changed, 211 insertions(+), 8 deletions(-) + +diff --git a/third_party/webrtc/api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc b/third_party/webrtc/api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc +index a8123cb17a..662c99eae9 100644 +--- a/third_party/webrtc/api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc ++++ b/third_party/webrtc/api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc +@@ -15,6 +15,8 @@ + + #include "api/audio_codecs/audio_encoder.h" + ++#define kDefaultComplexity kDefaultComplexity_AudioEncoderMultiChannelOpusConfig ++ + namespace webrtc { + + namespace { +@@ -110,3 +112,5 @@ bool AudioEncoderMultiChannelOpusConfig::IsOk() const { + } + + } // namespace webrtc ++ ++#undef kDefaultComplexity +diff --git a/third_party/webrtc/api/audio_codecs/opus/audio_encoder_opus_config.cc b/third_party/webrtc/api/audio_codecs/opus/audio_encoder_opus_config.cc +index 92ee7bd66c..18f5529732 100644 +--- a/third_party/webrtc/api/audio_codecs/opus/audio_encoder_opus_config.cc ++++ b/third_party/webrtc/api/audio_codecs/opus/audio_encoder_opus_config.cc +@@ -12,6 +12,8 @@ + + #include "api/audio_codecs/audio_encoder.h" + ++#define kDefaultComplexity kDefaultComplexity_AudioEncoderOpusConfig ++ + namespace webrtc { + + namespace { +@@ -75,3 +77,5 @@ bool AudioEncoderOpusConfig::IsOk() const { + return true; + } + } // namespace webrtc ++ ++#undef kDefaultComplexity +diff --git a/third_party/webrtc/api/video/i010_buffer.cc b/third_party/webrtc/api/video/i010_buffer.cc +index 59da7fb114..b1266e0453 100644 +--- a/third_party/webrtc/api/video/i010_buffer.cc ++++ b/third_party/webrtc/api/video/i010_buffer.cc +@@ -25,6 +25,9 @@ + #include "third_party/libyuv/include/libyuv/rotate.h" + #include "third_party/libyuv/include/libyuv/scale.h" + ++#define kBufferAlignment kBufferAlignment_I010Buffer ++#define kBytesPerPixel kBytesPerPixel_I010Buffer ++ + // Aligning pointer to 64 bytes for improved performance, e.g. use SIMD. + static const int kBufferAlignment = 64; + static const int kBytesPerPixel = 2; +@@ -215,3 +218,6 @@ void I010Buffer::ScaleFrom(const I010BufferInterface& src) { + } + + } // namespace webrtc ++ ++#undef kBufferAlignment ++#undef kBytesPerPixel +diff --git a/third_party/webrtc/api/video/i210_buffer.cc b/third_party/webrtc/api/video/i210_buffer.cc +index 1f7919e3b4..41f087d7a9 100644 +--- a/third_party/webrtc/api/video/i210_buffer.cc ++++ b/third_party/webrtc/api/video/i210_buffer.cc +@@ -26,6 +26,9 @@ + #include "third_party/libyuv/include/libyuv/rotate.h" + #include "third_party/libyuv/include/libyuv/scale.h" + ++#define kBufferAlignment kBufferAlignment_I210Buffer ++#define kBytesPerPixel kBytesPerPixel_I210Buffer ++ + // Aligning pointer to 64 bytes for improved performance, e.g. use SIMD. + static const int kBufferAlignment = 64; + static const int kBytesPerPixel = 2; +@@ -214,3 +217,6 @@ void I210Buffer::ScaleFrom(const I210BufferInterface& src) { + } + + } // namespace webrtc ++ ++#undef kBufferAlignment ++#undef kBytesPerPixel +diff --git a/third_party/webrtc/api/video/i410_buffer.cc b/third_party/webrtc/api/video/i410_buffer.cc +index 37564b9f3a..d500f56dfa 100644 +--- a/third_party/webrtc/api/video/i410_buffer.cc ++++ b/third_party/webrtc/api/video/i410_buffer.cc +@@ -28,6 +28,9 @@ + #include "third_party/libyuv/include/libyuv/rotate.h" + #include "third_party/libyuv/include/libyuv/scale.h" + ++#define kBufferAlignment kBufferAlignment_I410Buffer ++#define kBytesPerPixel kBytesPerPixel_I410Buffer ++ + // Aligning pointer to 64 bytes for improved performance, e.g. use SIMD. + static const int kBufferAlignment = 64; + static const int kBytesPerPixel = 2; +@@ -224,3 +227,6 @@ void I410Buffer::ScaleFrom(const I410BufferInterface& src) { + } + + } // namespace webrtc ++ ++#undef kBufferAlignment ++#undef kBytesPerPixel +diff --git a/third_party/webrtc/api/video/i420_buffer.cc b/third_party/webrtc/api/video/i420_buffer.cc +index 33b2ea666e..28a1fcad3e 100644 +--- a/third_party/webrtc/api/video/i420_buffer.cc ++++ b/third_party/webrtc/api/video/i420_buffer.cc +@@ -27,6 +27,8 @@ + #include "third_party/libyuv/include/libyuv/rotate.h" + #include "third_party/libyuv/include/libyuv/scale.h" + ++#define kBufferAlignment kBufferAlignment_i420 ++ + // Aligning pointer to 64 bytes for improved performance, e.g. use SIMD. + static const int kBufferAlignment = 64; + +@@ -239,3 +241,5 @@ void I420Buffer::ScaleFrom(const I420BufferInterface& src) { + } + + } // namespace webrtc ++ ++#undef kBufferAlignment +diff --git a/third_party/webrtc/api/video/i422_buffer.cc b/third_party/webrtc/api/video/i422_buffer.cc +index 25814a88d9..b6016311c2 100644 +--- a/third_party/webrtc/api/video/i422_buffer.cc ++++ b/third_party/webrtc/api/video/i422_buffer.cc +@@ -29,6 +29,8 @@ + #include "third_party/libyuv/include/libyuv/rotate.h" + #include "third_party/libyuv/include/libyuv/scale.h" + ++#define kBufferAlignment kBufferAlignment_i422 ++ + // Aligning pointer to 64 bytes for improved performance, e.g. use SIMD. + static const int kBufferAlignment = 64; + +@@ -241,3 +243,5 @@ void I422Buffer::CropAndScaleFrom(const I422BufferInterface& src, + } + + } // namespace webrtc ++ ++#undef kBufferAlignment +diff --git a/third_party/webrtc/api/video_codecs/h264_profile_level_id.cc b/third_party/webrtc/api/video_codecs/h264_profile_level_id.cc +index e410fc22f2..433fcc5800 100644 +--- a/third_party/webrtc/api/video_codecs/h264_profile_level_id.cc ++++ b/third_party/webrtc/api/video_codecs/h264_profile_level_id.cc +@@ -19,6 +19,9 @@ + + #include "api/rtp_parameters.h" + ++#define LevelConstraint LevelConstraint_H264ProfileLevelId ++#define kLevelConstraints kLevelConstraints_H264ProfileLevelId ++ + namespace webrtc { + + namespace { +@@ -269,3 +272,6 @@ bool H264IsSameProfileAndLevel(const CodecParameterMap& params1, + } + + } // namespace webrtc ++ ++#undef LevelConstraint ++#undef kLevelConstraints +diff --git a/third_party/webrtc/api/video_codecs/h265_profile_tier_level.cc b/third_party/webrtc/api/video_codecs/h265_profile_tier_level.cc +index 4ec1c8070f..427f404c06 100644 +--- a/third_party/webrtc/api/video_codecs/h265_profile_tier_level.cc ++++ b/third_party/webrtc/api/video_codecs/h265_profile_tier_level.cc +@@ -17,6 +17,9 @@ + #include "api/video/resolution.h" + #include "rtc_base/string_to_number.h" + ++#define LevelConstraint LevelConstraint_H265ProfileTierLevel ++#define kLevelConstraints kLevelConstraints_H265ProfileTierLevel ++ + namespace webrtc { + + namespace { +@@ -324,3 +327,6 @@ std::optional GetSupportedH265Level(const Resolution& resolution, + } + + } // namespace webrtc ++ ++#undef LevelConstraint ++#undef kLevelConstraints +diff --git a/third_party/webrtc/common_audio/BUILD.gn b/third_party/webrtc/common_audio/BUILD.gn +index c5459b21bb..b39d9d2761 100644 +--- a/third_party/webrtc/common_audio/BUILD.gn ++++ b/third_party/webrtc/common_audio/BUILD.gn +@@ -41,6 +41,10 @@ rtc_library("common_audio") { + "window_generator.cc", + "window_generator.h", + ] ++ jumbo_excluded_sources = [ ++ # Use `#pragma pack` ++ "wav_header.cc", ++ ] + + deps = [ + ":common_audio_c", +diff --git a/third_party/webrtc/common_video/h265/h265_bitstream_parser.cc b/third_party/webrtc/common_video/h265/h265_bitstream_parser.cc +index b3f9793a2a..30d27cd3de 100644 +--- a/third_party/webrtc/common_video/h265/h265_bitstream_parser.cc ++++ b/third_party/webrtc/common_video/h265/h265_bitstream_parser.cc +@@ -25,6 +25,8 @@ + #include "rtc_base/bitstream_reader.h" + #include "rtc_base/logging.h" + ++#define kMaxRefIdxActive kMaxRefIdxActive_H265BitstreamParser ++ + #define IN_RANGE_OR_RETURN(val, min, max) \ + do { \ + if (!slice_reader.Ok() || (val) < (min) || (val) > (max)) { \ +@@ -668,3 +670,7 @@ std::optional H265BitstreamParser::GetLastSlicePpsId() const { + } + + } // namespace webrtc ++ ++#undef kMaxRefIdxActive ++#undef IN_RANGE_OR_RETURN_NULL ++#undef TRUE_OR_RETURN +diff --git a/third_party/webrtc/common_video/h265/h265_pps_parser.cc b/third_party/webrtc/common_video/h265/h265_pps_parser.cc +index c94e362ec9..ee22d80b1c 100644 +--- a/third_party/webrtc/common_video/h265/h265_pps_parser.cc ++++ b/third_party/webrtc/common_video/h265/h265_pps_parser.cc +@@ -21,6 +21,8 @@ + #include "rtc_base/checks.h" + #include "rtc_base/logging.h" + ++#define kMaxRefIdxActive kMaxRefIdxActive_H265PpsParser ++ + #define IN_RANGE_OR_RETURN_NULL(val, min, max) \ + do { \ + if (!reader.Ok() || (val) < (min) || (val) > (max)) { \ +@@ -249,3 +251,7 @@ bool H265PpsParser::ParsePpsIdsInternal(BitstreamReader& reader, + } + + } // namespace webrtc ++ ++#undef kMaxRefIdxActive ++#undef IN_RANGE_OR_RETURN_NULL ++#undef TRUE_OR_RETURN +diff --git a/third_party/webrtc/media/engine/webrtc_video_engine.cc b/third_party/webrtc/media/engine/webrtc_video_engine.cc +index 9b71d020df..c9eb8bd027 100644 +--- a/third_party/webrtc/media/engine/webrtc_video_engine.cc ++++ b/third_party/webrtc/media/engine/webrtc_video_engine.cc +@@ -101,6 +101,8 @@ + #include "rtc_base/trace_event.h" + #include "video/config/video_encoder_config.h" + ++#define ValidateStreamParams ValidateStreamParams_WebRTCVideoEngine ++ + namespace webrtc { + + namespace { +@@ -4095,3 +4097,5 @@ bool VideoCodecSettings::operator!=(const VideoCodecSettings& other) const { + } + + } // namespace webrtc ++ ++#undef ValidateStreamParams +diff --git a/third_party/webrtc/media/engine/webrtc_voice_engine.cc b/third_party/webrtc/media/engine/webrtc_voice_engine.cc +index 3690ffb255..d3364705fd 100644 +--- a/third_party/webrtc/media/engine/webrtc_voice_engine.cc ++++ b/third_party/webrtc/media/engine/webrtc_voice_engine.cc +@@ -116,6 +116,8 @@ + #include "api/audio/create_audio_device_module.h" + #endif + ++#define ValidateStreamParams ValidateStreamParams_WebRTCVoiceEngine ++ + namespace webrtc { + namespace { + +@@ -2808,3 +2810,5 @@ bool WebRtcVoiceReceiveChannel::MaybeDeregisterUnsignaledRecvStream( + return false; + } + } // namespace webrtc ++ ++#undef ValidateStreamParams +diff --git a/third_party/webrtc/modules/audio_coding/neteq/reorder_optimizer.cc b/third_party/webrtc/modules/audio_coding/neteq/reorder_optimizer.cc +index 98dbedfaa4..466ac1c308 100644 +--- a/third_party/webrtc/modules/audio_coding/neteq/reorder_optimizer.cc ++++ b/third_party/webrtc/modules/audio_coding/neteq/reorder_optimizer.cc +@@ -17,6 +17,9 @@ + #include + #include + ++#define kDelayBuckets kDelayBuckets_ReorderOptimizer ++#define kBucketSizeMs kBucketSizeMs_ReorderOptimizer ++ + namespace webrtc { + + namespace { +@@ -76,3 +79,6 @@ int ReorderOptimizer::MinimizeCostFunction(int base_delay_ms) const { + } + + } // namespace webrtc ++ ++#undef kDelayBuckets ++#undef kBucketSizeMs +diff --git a/third_party/webrtc/modules/audio_coding/neteq/underrun_optimizer.cc b/third_party/webrtc/modules/audio_coding/neteq/underrun_optimizer.cc +index dcee8e19fe..045d5137e4 100644 +--- a/third_party/webrtc/modules/audio_coding/neteq/underrun_optimizer.cc ++++ b/third_party/webrtc/modules/audio_coding/neteq/underrun_optimizer.cc +@@ -15,6 +15,9 @@ + + #include "api/neteq/tick_timer.h" + ++#define kDelayBuckets kDelayBuckets_UnderrunOptimizer ++#define kBucketSizeMs kBucketSizeMs_UnderrunOptimizer ++ + namespace webrtc { + + namespace { +@@ -72,3 +75,6 @@ void UnderrunOptimizer::Reset() { + } + + } // namespace webrtc ++ ++#undef kDelayBuckets ++#undef kBucketSizeMs +diff --git a/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc b/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc +index 5847b088b9..0c0209394c 100644 +--- a/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc ++++ b/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc +@@ -38,6 +38,9 @@ + #include "rtc_base/logging.h" + #include "system_wrappers/include/metrics.h" + ++#define kTimestampGroupLengthMs kTimestampGroupLengthMs_RemoteBitrateEstimatorAbsSendTime ++#define kTimestampToMs kTimestampToMs_RemoteBitrateEstimatorAbsSendTime ++ + namespace webrtc { + namespace { + +@@ -376,3 +379,6 @@ DataRate RemoteBitrateEstimatorAbsSendTime::LatestEstimate() const { + } + + } // namespace webrtc ++ ++#undef kTimestampGroupLengthMs ++#undef kTimestampToMs +diff --git a/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.cc b/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.cc +index b05610d4e9..7ce25c3a2a 100644 +--- a/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.cc ++++ b/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.cc +@@ -34,6 +34,9 @@ + #include "system_wrappers/include/clock.h" + #include "system_wrappers/include/metrics.h" + ++#define kTimestampGroupLengthMs kTimestampGroupLengthMs_RemoteBitrateEstimatorSingleStream ++#define kTimestampToMs kTimestampToMs_RemoteBitrateEstimatorSingleStream ++ + namespace webrtc { + namespace { + +@@ -195,3 +198,6 @@ std::vector RemoteBitrateEstimatorSingleStream::GetSsrcs() const { + } + + } // namespace webrtc ++ ++#undef kTimestampGroupLengthMs ++#undef kTimestampToMs +diff --git a/third_party/webrtc/modules/rtp_rtcp/source/flexfec_03_header_reader_writer_unittest.cc b/third_party/webrtc/modules/rtp_rtcp/source/flexfec_03_header_reader_writer_unittest.cc +index 80b4ba3373..a0e9b2e39a 100644 +--- a/third_party/webrtc/modules/rtp_rtcp/source/flexfec_03_header_reader_writer_unittest.cc ++++ b/third_party/webrtc/modules/rtp_rtcp/source/flexfec_03_header_reader_writer_unittest.cc +@@ -24,6 +24,15 @@ + #include "test/gmock.h" + #include "test/gtest.h" + ++#define kMaxMediaPackets kMaxMediaPackets_Flexfec03HeaderReaderWriter ++#define kMaxTrackedMediaPackets kMaxTrackedMediaPackets_Flexfec03HeaderReaderWriter ++#define kMaxFecPackets kMaxFecPackets_Flexfec03HeaderReaderWriter ++#define kFlexfecPacketMaskSizes kFlexfecPacketMaskSizes_Flexfec03HeaderReaderWriter ++#define kBaseHeaderSize kBaseHeaderSize_Flexfec03HeaderReaderWriter ++#define kStreamSpecificHeaderSize kStreamSpecificHeaderSize_Flexfec03HeaderReaderWriter ++#define kHeaderSizes kHeaderSizes_Flexfec03HeaderReaderWriter ++#define FlexfecHeaderSize FlexfecHeaderSize_Flexfec03HeaderReaderWriter ++ + namespace webrtc { + + namespace { +@@ -575,3 +584,12 @@ TEST(Flexfec03HeaderReaderWriterTest, + } + + } // namespace webrtc ++ ++#undef kMaxMediaPackets ++#undef kMaxTrackedMediaPackets ++#undef kMaxFecPackets ++#undef kFlexfecPacketMaskSizes ++#undef kBaseHeaderSize ++#undef kStreamSpecificHeaderSize ++#undef kHeaderSizes ++#undef FlexfecHeaderSize +diff --git a/third_party/webrtc/modules/rtp_rtcp/source/flexfec_header_reader_writer.cc b/third_party/webrtc/modules/rtp_rtcp/source/flexfec_header_reader_writer.cc +index d1e0b99d3b..f5480b89b0 100644 +--- a/third_party/webrtc/modules/rtp_rtcp/source/flexfec_header_reader_writer.cc ++++ b/third_party/webrtc/modules/rtp_rtcp/source/flexfec_header_reader_writer.cc +@@ -22,6 +22,15 @@ + #include "rtc_base/checks.h" + #include "rtc_base/logging.h" + ++#define kMaxMediaPackets kMaxMediaPackets_FlexfecHeaderReaderWriter ++#define kMaxTrackedMediaPackets kMaxTrackedMediaPackets_FlexfecHeaderReaderWriter ++#define kMaxFecPackets kMaxFecPackets_FlexfecHeaderReaderWriter ++#define kFlexfecPacketMaskSizes kFlexfecPacketMaskSizes_FlexfecHeaderReaderWriter ++#define kBaseHeaderSize kBaseHeaderSize_FlexfecHeaderReaderWriter ++#define kStreamSpecificHeaderSize kStreamSpecificHeaderSize_FlexfecHeaderReaderWriter ++#define kHeaderSizes kHeaderSizes_FlexfecHeaderReaderWriter ++#define FlexfecHeaderSize FlexfecHeaderSize_FlexfecHeaderReaderWriter ++ + namespace webrtc { + + namespace { +@@ -330,3 +339,12 @@ void FlexfecHeaderWriter::FinalizeFecHeader( + } + + } // namespace webrtc ++ ++#undef kMaxMediaPackets ++#undef kMaxTrackedMediaPackets ++#undef kMaxFecPackets ++#undef kFlexfecPacketMaskSizes ++#undef kBaseHeaderSize ++#undef kStreamSpecificHeaderSize ++#undef kHeaderSizes ++#undef FlexfecHeaderSize +diff --git a/third_party/webrtc/modules/rtp_rtcp/source/flexfec_receiver.cc b/third_party/webrtc/modules/rtp_rtcp/source/flexfec_receiver.cc +index c6465fbccf..c6936b9a31 100644 +--- a/third_party/webrtc/modules/rtp_rtcp/source/flexfec_receiver.cc ++++ b/third_party/webrtc/modules/rtp_rtcp/source/flexfec_receiver.cc +@@ -27,6 +27,8 @@ + #include "rtc_base/checks.h" + #include "rtc_base/logging.h" + ++#define kPacketLogInterval kPacketLogInterval_FlexfecReceiver ++ + namespace webrtc { + + namespace { +@@ -207,3 +209,5 @@ void FlexfecReceiver::ProcessReceivedPacket( + } + + } // namespace webrtc ++ ++#undef kPacketLogInterval +diff --git a/third_party/webrtc/modules/rtp_rtcp/source/flexfec_sender.cc b/third_party/webrtc/modules/rtp_rtcp/source/flexfec_sender.cc +index 9b5ceac577..53f10604a8 100644 +--- a/third_party/webrtc/modules/rtp_rtcp/source/flexfec_sender.cc ++++ b/third_party/webrtc/modules/rtp_rtcp/source/flexfec_sender.cc +@@ -38,6 +38,8 @@ + #include "rtc_base/race_checker.h" + #include "rtc_base/synchronization/mutex.h" + ++#define kPacketLogInterval kPacketLogInterval_FlexfecSender ++ + namespace webrtc { + + namespace { +@@ -216,3 +218,5 @@ std::optional FlexfecSender::GetRtpState() { + } + + } // namespace webrtc ++ ++#undef kPacketLogInterval +diff --git a/third_party/webrtc/modules/rtp_rtcp/source/packet_sequencer.cc b/third_party/webrtc/modules/rtp_rtcp/source/packet_sequencer.cc +index 930ace9d38..b31eae4d3b 100644 +--- a/third_party/webrtc/modules/rtp_rtcp/source/packet_sequencer.cc ++++ b/third_party/webrtc/modules/rtp_rtcp/source/packet_sequencer.cc +@@ -22,6 +22,9 @@ + #include "rtc_base/random.h" + #include "system_wrappers/include/clock.h" + ++#define kTimestampTicksPerMs kTimestampTicksPerMs_PacketSequencer ++#define kRedForFecHeaderLength kRedForFecHeaderLength_PacketSequencer ++ + namespace webrtc { + + namespace { +@@ -159,3 +162,6 @@ bool PacketSequencer::CanSendPaddingOnMediaSsrc() const { + } + + } // namespace webrtc ++ ++#undef kTimestampTicksPerMs ++#undef kRedForFecHeaderLength +diff --git a/third_party/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc b/third_party/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc +index cf9975e764..82ad96c6f0 100644 +--- a/third_party/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc ++++ b/third_party/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc +@@ -71,6 +71,9 @@ + #include "system_wrappers/include/clock.h" + #include "system_wrappers/include/ntp_time.h" + ++#define kDefaultVideoReportInterval kDefaultVideoReportInterval_RTCPReceiver ++#define kDefaultAudioReportInterval kDefaultAudioReportInterval_RTCPReceiver ++ + namespace webrtc { + namespace { + +@@ -1252,3 +1255,6 @@ bool RTCPReceiver::RtcpRrSequenceNumberTimeoutLocked(Timestamp now) { + } + + } // namespace webrtc ++ ++#undef kDefaultVideoReportInterval ++#undef kDefaultAudioReportInterval +diff --git a/third_party/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc b/third_party/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc +index e06698e0db..f944bc11e1 100644 +--- a/third_party/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc ++++ b/third_party/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc +@@ -62,6 +62,9 @@ + #include "rtc_base/synchronization/mutex.h" + #include "rtc_base/trace_event.h" + ++#define kDefaultVideoReportInterval kDefaultVideoReportInterval_RTCPSender ++#define kDefaultAudioReportInterval kDefaultAudioReportInterval_RTCPSender ++ + namespace webrtc { + + namespace { +@@ -908,3 +911,6 @@ void RTCPSender::SetNextRtcpSendEvaluationDuration(TimeDelta duration) { + } + + } // namespace webrtc ++ ++#undef kDefaultVideoReportInterval ++#undef kDefaultAudioReportInterval +diff --git a/third_party/webrtc/modules/rtp_rtcp/source/rtp_packet.cc b/third_party/webrtc/modules/rtp_rtcp/source/rtp_packet.cc +index fe9d3a7d95..445206bfc1 100644 +--- a/third_party/webrtc/modules/rtp_rtcp/source/rtp_packet.cc ++++ b/third_party/webrtc/modules/rtp_rtcp/source/rtp_packet.cc +@@ -27,6 +27,8 @@ + #include "rtc_base/numerics/safe_conversions.h" + #include "rtc_base/strings/string_builder.h" + ++#define kRtpVersion kRtpVersion_RtpPacket ++ + namespace webrtc { + namespace { + constexpr size_t kFixedHeaderSize = 12; +@@ -702,3 +704,5 @@ std::string RtpPacket::ToString() const { + } + + } // namespace webrtc ++ ++#undef kRtpVersion +diff --git a/third_party/webrtc/modules/rtp_rtcp/source/rtp_sender_egress.cc b/third_party/webrtc/modules/rtp_rtcp/source/rtp_sender_egress.cc +index 57758ad538..2b108603d9 100644 +--- a/third_party/webrtc/modules/rtp_rtcp/source/rtp_sender_egress.cc ++++ b/third_party/webrtc/modules/rtp_rtcp/source/rtp_sender_egress.cc +@@ -44,6 +44,8 @@ + #include "rtc_base/logging.h" + #include "rtc_base/task_utils/repeating_task.h" + ++#define kTimestampTicksPerMs kTimestampTicksPerMs_RtpSenderEgress ++ + namespace webrtc { + namespace { + constexpr uint32_t kTimestampTicksPerMs = 90; +@@ -515,3 +517,5 @@ void RtpSenderEgress::PeriodicUpdate() { + send_rates[RtpPacketMediaType::kRetransmission].bps(), ssrc_); + } + } // namespace webrtc ++ ++#undef kTimestampTicksPerMs +diff --git a/third_party/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc b/third_party/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc +index 8503b0db75..8806b6779d 100644 +--- a/third_party/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc ++++ b/third_party/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc +@@ -69,6 +69,8 @@ + #include "rtc_base/synchronization/mutex.h" + #include "system_wrappers/include/ntp_time.h" + ++#define kRedForFecHeaderLength kRedForFecHeaderLength_RtpSenderVideo ++ + namespace webrtc { + + namespace { +@@ -924,3 +926,5 @@ void RTPSenderVideo::MaybeUpdateCurrentPlayoutDelay( + } + + } // namespace webrtc ++ ++#undef kRedForFecHeaderLength +diff --git a/third_party/webrtc/modules/rtp_rtcp/source/rtp_util.cc b/third_party/webrtc/modules/rtp_rtcp/source/rtp_util.cc +index 4d802b6308..310542f1ef 100644 +--- a/third_party/webrtc/modules/rtp_rtcp/source/rtp_util.cc ++++ b/third_party/webrtc/modules/rtp_rtcp/source/rtp_util.cc +@@ -17,6 +17,8 @@ + #include "modules/rtp_rtcp/source/byte_io.h" + #include "rtc_base/checks.h" + ++#define kRtpVersion kRtpVersion_RtpUtil ++ + namespace webrtc { + namespace { + +@@ -61,3 +63,5 @@ uint32_t ParseRtpSsrc(ArrayView rtp_packet) { + } + + } // namespace webrtc ++ ++#undef kRtpVersion +diff --git a/third_party/webrtc/modules/video_coding/codecs/vp8/screenshare_layers.cc b/third_party/webrtc/modules/video_coding/codecs/vp8/screenshare_layers.cc +index 885d44bdf0..0dfbeafe94 100644 +--- a/third_party/webrtc/modules/video_coding/codecs/vp8/screenshare_layers.cc ++++ b/third_party/webrtc/modules/video_coding/codecs/vp8/screenshare_layers.cc +@@ -35,12 +35,17 @@ namespace webrtc { + namespace { + using BufferFlags = Vp8FrameConfig::BufferFlags; + +-constexpr BufferFlags kNone = Vp8FrameConfig::BufferFlags::kNone; +-constexpr BufferFlags kReference = Vp8FrameConfig::BufferFlags::kReference; +-constexpr BufferFlags kUpdate = Vp8FrameConfig::BufferFlags::kUpdate; +-constexpr BufferFlags kReferenceAndUpdate = ++constexpr BufferFlags kNone_ScreenshareLayers = Vp8FrameConfig::BufferFlags::kNone; ++constexpr BufferFlags kReference_ScreenshareLayers = Vp8FrameConfig::BufferFlags::kReference; ++constexpr BufferFlags kUpdate_ScreenshareLayers = Vp8FrameConfig::BufferFlags::kUpdate; ++constexpr BufferFlags kReferenceAndUpdate_ScreenshareLayers = + Vp8FrameConfig::BufferFlags::kReferenceAndUpdate; + ++#define kNone kNone_ScreenshareLayers ++#define kReference kReference_ScreenshareLayers ++#define kUpdate kUpdate_ScreenshareLayers ++#define kReferenceAndUpdate kUpdate_ScreenshareLayers ++ + constexpr int kOneSecond90Khz = 90000; + constexpr int kMinTimeBetweenSyncs = kOneSecond90Khz * 2; + constexpr int kMaxTimeBetweenSyncs = kOneSecond90Khz * 4; +@@ -631,3 +636,8 @@ void ScreenshareLayers::UpdateHistograms() { + } + } + } // namespace webrtc ++ ++#undef kNone ++#undef kReference ++#undef kUpdate ++#undef kReferenceAndUpdate +diff --git a/third_party/webrtc/modules/video_coding/svc/scalability_structure_l2t2_key_shift.cc b/third_party/webrtc/modules/video_coding/svc/scalability_structure_l2t2_key_shift.cc +index b39b953767..f2510c5769 100644 +--- a/third_party/webrtc/modules/video_coding/svc/scalability_structure_l2t2_key_shift.cc ++++ b/third_party/webrtc/modules/video_coding/svc/scalability_structure_l2t2_key_shift.cc +@@ -17,6 +17,8 @@ + #include "modules/video_coding/svc/scalable_video_controller.h" + #include "rtc_base/checks.h" + ++#define Dti Dti_ScalabilityStructureL2T2KeyShift ++ + namespace webrtc { + namespace { + +@@ -175,3 +177,5 @@ void ScalabilityStructureL2T2KeyShift::OnRatesUpdated( + } + + } // namespace webrtc ++ ++#undef Dti +diff --git a/third_party/webrtc/modules/video_coding/svc/scalability_structure_simulcast.cc b/third_party/webrtc/modules/video_coding/svc/scalability_structure_simulcast.cc +index 71eae32794..7d39c7f2ee 100644 +--- a/third_party/webrtc/modules/video_coding/svc/scalability_structure_simulcast.cc ++++ b/third_party/webrtc/modules/video_coding/svc/scalability_structure_simulcast.cc +@@ -18,6 +18,8 @@ + #include "modules/video_coding/svc/scalable_video_controller.h" + #include "rtc_base/checks.h" + ++#define Dti Dti_ScalabilityStructureSimulcast ++ + namespace webrtc { + namespace { + +@@ -352,3 +354,5 @@ FrameDependencyStructure ScalabilityStructureS3T3::DependencyStructure() const { + } + + } // namespace webrtc ++ ++#undef Dti +diff --git a/third_party/webrtc/pc/jsep_session_description.cc b/third_party/webrtc/pc/jsep_session_description.cc +index bbeb4c3c07..fb57d6e32c 100644 +--- a/third_party/webrtc/pc/jsep_session_description.cc ++++ b/third_party/webrtc/pc/jsep_session_description.cc +@@ -36,6 +36,9 @@ + using webrtc::Candidate; + using ::webrtc::SessionDescription; + ++#define kDummyAddress kDummyAddress_JsepSessionDescription ++#define kDummyPort kDummyPort_JsepSessionDescription ++ + namespace webrtc { + namespace { + +@@ -364,3 +367,6 @@ int JsepSessionDescription::GetMediasectionIndex(const Candidate& candidate) { + } + + } // namespace webrtc ++ ++#undef kDummyAddress ++#undef kDummyPort +diff --git a/third_party/webrtc/pc/webrtc_sdp.cc b/third_party/webrtc/pc/webrtc_sdp.cc +index 6e434676f9..464aa79184 100644 +--- a/third_party/webrtc/pc/webrtc_sdp.cc ++++ b/third_party/webrtc/pc/webrtc_sdp.cc +@@ -67,6 +67,9 @@ + #include "rtc_base/string_encode.h" + #include "rtc_base/strings/string_builder.h" + ++#define kDummyAddress kDummyAddress_WebRTCRDP ++#define kDummyPort kDummyPort_WebRTCRDP ++ + namespace webrtc { + + namespace { +@@ -3619,3 +3622,6 @@ bool ParseFmtpParameterSet(absl::string_view line_params, + } + + } // namespace webrtc ++ ++#undef kDummyAddress ++#undef kDummyPort +diff --git a/third_party/webrtc/webrtc.gni b/third_party/webrtc/webrtc.gni +index 103983dec4..58bbffea9c 100644 +--- a/third_party/webrtc/webrtc.gni ++++ b/third_party/webrtc/webrtc.gni +@@ -7,6 +7,7 @@ + # be found in the AUTHORS file in the root of the source tree. + import("//build/config/arm.gni") + import("//build/config/features.gni") ++import("//build/config/jumbo.gni") + import("//build/config/mips.gni") + import("//build/config/ozone.gni") + import("//build/config/sanitizers/sanitizers.gni") +@@ -587,7 +588,7 @@ template("rtc_test") { + } + + template("rtc_source_set") { +- source_set(target_name) { ++ jumbo_source_set(target_name) { + forward_variables_from(invoker, + "*", + [ +@@ -700,7 +701,7 @@ template("rtc_source_set") { + } + + template("rtc_static_library") { +- static_library(target_name) { ++ jumbo_static_library(target_name) { + forward_variables_from(invoker, + "*", + [ +@@ -823,9 +824,9 @@ template("rtc_library") { + # source files will cause issues with macOS libtool. + if (header_only || is_component_build || + (defined(invoker.testonly) && invoker.testonly)) { +- target_type = "source_set" ++ target_type = "jumbo_source_set" + } else { +- target_type = "static_library" ++ target_type = "jumbo_static_library" + } + target(target_type, target_name) { + forward_variables_from(invoker,