diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-12-09 10:12:38 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-12-11 08:25:55 +0000 |
commit | 900e04947240ca964aa31813a219d5d04e4a7202 (patch) | |
tree | c758af9c2a11333893254211985e2d35c459c2f0 | |
parent | 076c302f6419828e19b809aa04ea1294c30f72c3 (diff) | |
download | qtwebengine-chromium-900e04947240ca964aa31813a219d5d04e4a7202.tar.gz |
Reinstate jumbo-builds
Reverts four patches disabling and removing jumbo builds.
It makes too big of a difference for us to drop.
Change-Id: Ib7dd65996f9e985480f49fab2d1781a5d08bf6fd
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
196 files changed, 967 insertions, 316 deletions
diff --git a/chromium/ash/keyboard/ui/BUILD.gn b/chromium/ash/keyboard/ui/BUILD.gn index 9ab4d1a7437..60ef4742c93 100644 --- a/chromium/ash/keyboard/ui/BUILD.gn +++ b/chromium/ash/keyboard/ui/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//mojo/public/tools/bindings/mojom.gni") import("//testing/test.gni") import("//third_party/google_input_tools/closure.gni") @@ -10,7 +11,7 @@ import("//tools/grit/grit_rule.gni") assert(is_chromeos) -component("ui") { +jumbo_component("ui") { sources = [ "container_behavior.cc", "container_behavior.h", diff --git a/chromium/base/BUILD.gn b/chromium/base/BUILD.gn index 2f15855f3f0..f741c2dfeee 100644 --- a/chromium/base/BUILD.gn +++ b/chromium/base/BUILD.gn @@ -25,6 +25,7 @@ import("//build/config/c++/c++.gni") import("//build/config/chromecast_build.gni") import("//build/config/compiler/compiler.gni") import("//build/config/dcheck_always_on.gni") +import("//build/config/jumbo.gni") import("//build/config/logging.gni") import("//build/config/nacl/config.gni") import("//build/config/profiling/profiling.gni") @@ -142,7 +143,14 @@ if (is_android) { # to be linked in where they wouldn't have otherwise. This does not include # test code (test support and anything in the test directory) which should use # source_set as is recommended for GN targets). -component("base") { +jumbo_component("base") { + if (is_nacl || is_ios) { + # Link errors related to malloc functions if libbase for nacl is + # compiled with jumbo: https://crbug.com/775959. + # Same for ios: https://crbug.com/776313. + never_build_jumbo = true + } + sources = [ "allocator/allocator_check.cc", "allocator/allocator_check.h", diff --git a/chromium/base/util/type_safety/BUILD.gn b/chromium/base/util/type_safety/BUILD.gn index 1a32399685d..fad98960b60 100644 --- a/chromium/base/util/type_safety/BUILD.gn +++ b/chromium/base/util/type_safety/BUILD.gn @@ -2,9 +2,10 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/nocompile.gni") -# Change this target's type to component if it starts to contain more than +# Change this target's type to jumbo_component if it starts to contain more than # just headers. Header-only targets cannot be compiled to libraries, so it must # remain a source_set for now. source_set("type_safety") { diff --git a/chromium/build/config/jumbo.gni b/chromium/build/config/jumbo.gni new file mode 100644 index 00000000000..9c168569120 --- /dev/null +++ b/chromium/build/config/jumbo.gni @@ -0,0 +1,297 @@ +# Copyright 2017 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build/config/nacl/config.gni") # To see if jumbo should be turned off +import("//build/toolchain/goma.gni") + +declare_args() { + # If true, use a jumbo build (files compiled together) to speed up + # compilation. + use_jumbo_build = false + + # A list of build targets to exclude from jumbo builds, for optimal + # round trip time when frequently changing a set of cpp files. The + # targets can be just the short name (in which case it matches any + # target with that name), a directory prefixed with the root + # specifier //, or a full build target label. + # + # Example: + # These would all exclude the "browser" target in a file + # content/browser/BUILD.gn, and potentially more. + # + # jumbo_build_excluded = [ "browser" ] + # jumbo_build_excluded = [ "//content/browser" ] + # jumbo_build_excluded = [ "//content/browser:browser" ] + jumbo_build_excluded = [] + + # How many files to group on average. Smaller numbers give more + # parallellism, higher numbers give less total CPU usage. Higher + # numbers also give longer single-file recompilation times. + # + # Recommendations: + # Higher numbers than 100 does not reduce wall clock compile times + # even for 4 cores or less so no reason to go higher than 100. + # Going from 50 to 100 with a 4 core CPU saves about 3% CPU time and + # 3% wall clock time in a tree with blink, v8 and content + # jumbofied. At the same time it increases the compile time for the + # largest jumbo chunks by 10-20% and reduces the chance to use all + # available CPU cores. So set the default to 50 to balance between + # high and low-core build performance. -1 means do the default which + # varies depending on whether goma is enabled. + jumbo_file_merge_limit = -1 +} + +# Normal builds benefit from lots of jumbification +jumbo_file_merge_default = 50 + +# Goma builds benefit from more parallelism +jumbo_file_merge_goma = 8 + +# Use one of the targets jumbo_source_set, jumbo_static_library, or +# jumbo_component to generate a target which merges sources if possible to +# compile much faster. +# +# Special values. +# +# target_type +# The kind of target to build. For example the string +# "static_library". +# +# always_build_jumbo +# If set and set to true, then use jumbo compile even when it is +# globally disabled. Otherwise it has no effect. +# +# never_build_jumbo +# If set and set to true, then do not jumbo compile even if it is +# globally enabled. Otherwise it has no effect. +# +# jumbo_excluded_sources +# If set to a list of files, those files will not be merged with +# the rest. This can be necessary if merging the files causes +# compilation issues and fixing the issues is impractical. +template("internal_jumbo_target") { + use_jumbo_build_for_target = use_jumbo_build + if (defined(invoker.always_build_jumbo) && invoker.always_build_jumbo) { + use_jumbo_build_for_target = true + } + if (defined(invoker.never_build_jumbo) && invoker.never_build_jumbo) { + use_jumbo_build_for_target = false + } + if (is_nacl_irt || is_nacl_nonsfi) { + # The code is barely compatible with the nacl toolchain anymore and we + # don't want to stress it further with jumbo compilation units. + use_jumbo_build_for_target = false + } + + foreach(excluded_target, jumbo_build_excluded) { + if (excluded_target == target_name || + excluded_target == get_label_info(":" + target_name, "dir") || + excluded_target == + get_label_info(":" + target_name, "label_no_toolchain")) { + use_jumbo_build_for_target = false + } + } + + excluded_sources = [] + if (defined(invoker.jumbo_excluded_sources)) { + excluded_sources = invoker.jumbo_excluded_sources + } + + if (defined(invoker.sources)) { + invoker_sources = invoker.sources + } else { + invoker_sources = [] + } + + gen_target_dir = invoker.target_gen_dir + + not_needed([ "gen_target_dir" ]) # Prevent "unused variable". + + if (use_jumbo_build_for_target) { + jumbo_files = [] + + # Split the sources list into chunks that are not excessively large + current_file_index = 0 + next_chunk_start = 0 + next_chunk_number = 1 + merge_limit = jumbo_file_merge_limit + if (merge_limit == -1) { + if (use_goma) { + merge_limit = jumbo_file_merge_goma + } else { + merge_limit = jumbo_file_merge_default + } + } + has_c_file = false + has_objective_c_file = false + sources_in_jumbo_files = [] + assert(merge_limit > 0) + foreach(source_file, invoker_sources) { + source_ext = get_path_info(source_file, "extension") + is_source_file = true + if (source_ext == "c") { + has_c_file = true + } else if (source_ext == "mm") { + has_objective_c_file = true + } else if (source_ext == "cc" || source_ext == "cpp") { + if (current_file_index == next_chunk_start) { + jumbo_files += [ "$gen_target_dir/" + target_name + "_jumbo_" + + next_chunk_number + ".cc" ] + next_chunk_number += 1 + next_chunk_start += merge_limit + } + current_file_index += 1 + } else { + is_source_file = false + } + if (is_source_file) { + sources_in_jumbo_files += [ source_file ] + } + } + + if (jumbo_files == [] || current_file_index == 1) { + # Empty sources list or a sources list with only header files or + # at most one non-header file. + use_jumbo_build_for_target = false + not_needed([ + "sources_in_jumbo_files", + "current_file_index", + "next_chunk_start", + "next_chunk_number", + ]) + } + + if (has_c_file) { + jumbo_files += [ "$gen_target_dir/" + target_name + "_jumbo_c.c" ] + } + if (has_objective_c_file) { + jumbo_files += [ "$gen_target_dir/" + target_name + "_jumbo_mm.mm" ] + } + } + + if (use_jumbo_build_for_target) { + merge_action_name = target_name + "__jumbo_merge" + sources_in_jumbo_files -= excluded_sources + + # Create an action that calls a script that merges all the source files. + action(merge_action_name) { + script = "//build/config/merge_for_jumbo.py" + response_file_contents = + rebase_path(sources_in_jumbo_files, root_build_dir) + outputs = jumbo_files + args = [ "--outputs" ] + rebase_path(outputs, root_build_dir) + + [ "--file-list={{response_file_name}}" ] + + # For the "gn analyze" step to work, gn needs to know about the + # original source files. They can't be in |sources| because then + # they will be compiled, so they have to be somewhere else where + # gn analyze looks. One alternative is the |data| list but that + # will affect test packaging with known bad effects on + # distributed testing. Putting them in this action's input list + # is the least bad place. + inputs = [] + foreach(f, invoker_sources - excluded_sources) { + # Avoid generated files and non non-source files. + in_source_tree = string_replace(rebase_path(f), + rebase_path(root_out_dir), + "dummy") == rebase_path(f) + is_source_file = get_path_info(f, "extension") == "cc" || + get_path_info(f, "extension") == "cpp" || + get_path_info(f, "extension") == "c" || + get_path_info(f, "extension") == "mm" + if (in_source_tree && is_source_file) { + inputs += [ f ] + } + } + } + } else { + # If the list subtraction triggers a gn error, + # jumbo_excluded_sources lists a file that is not in sources. + sources_after_exclusion = invoker_sources - excluded_sources + not_needed([ "sources_after_exclusion" ]) + } + + target_type = invoker.target_type + + # Perform the actual operation, either on the original sources or + # the sources post-jumbo merging. + target(target_type, target_name) { + deps = [] + if (defined(invoker.deps)) { + deps += invoker.deps + } + + # Take everything else not handled above from the invoker. + variables_to_not_forward = [ "deps" ] + if (use_jumbo_build_for_target) { + deps += [ ":" + merge_action_name ] + variables_to_not_forward += [ "sources" ] + assert(jumbo_files != []) + set_sources_assignment_filter([]) # Prefiltered. + sources = invoker_sources - sources_in_jumbo_files + jumbo_files + + # Change include_dirs to make sure that the jumbo file can find its + # #included files. + variables_to_not_forward += [ "include_dirs" ] + include_dirs = [] + if (defined(invoker.include_dirs)) { + include_dirs = invoker.include_dirs + } + include_dirs += [ root_build_dir ] + } + forward_variables_from(invoker, "*", variables_to_not_forward) + } +} + +# See documentation above by "internal_jumbo_target". +template("jumbo_source_set") { + internal_jumbo_target(target_name) { + target_type = "source_set" + forward_variables_from(invoker, "*") + } +} + +set_defaults("jumbo_source_set") { + # This sets the default list of configs when the jumbo_source_set target + # is defined. The default_compiler_configs comes from BUILDCONFIG.gn and + # is the list normally applied to static libraries and source sets. + configs = default_compiler_configs +} + +# See documentation above by "internal_jumbo_target". +template("jumbo_static_library") { + internal_jumbo_target(target_name) { + target_type = "static_library" + forward_variables_from(invoker, "*") + } +} + +set_defaults("jumbo_static_library") { + # This sets the default list of configs when the jumbo_static_library target + # is defined. The default_compiler_configs comes from BUILDCONFIG.gn and + # is the list normally applied to static libraries and source sets. + configs = default_compiler_configs +} + +# See documentation above by "internal_jumbo_target". +template("jumbo_component") { + internal_jumbo_target(target_name) { + target_type = "component" + forward_variables_from(invoker, "*") + } +} + +set_defaults("jumbo_component") { + # This sets the default list of configs when the jumbo_component + # target is defined. This code is a clone of set_defaults for the + # ordinary "component" template. + if (is_component_build) { + configs = default_shared_library_configs + if (is_android) { + configs -= [ "//build/config/android:hide_all_but_jni_onload" ] + } + } else { + configs = default_compiler_configs + } +} diff --git a/chromium/cc/cc.gni b/chromium/cc/cc.gni index 4f1ba6ad82e..36b576f2aa1 100644 --- a/chromium/cc/cc.gni +++ b/chromium/cc/cc.gni @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//testing/test.gni") cc_remove_configs = [] @@ -17,7 +18,7 @@ if (!is_debug) { } template("cc_component") { - component(target_name) { + jumbo_component(target_name) { forward_variables_from(invoker, "*", [ "configs" ]) if (defined(invoker.configs)) { configs += invoker.configs @@ -28,7 +29,7 @@ template("cc_component") { } template("cc_test_static_library") { - static_library(target_name) { + jumbo_static_library(target_name) { forward_variables_from(invoker, "*", [ "configs" ]) if (defined(invoker.configs)) { configs += invoker.configs diff --git a/chromium/components/autofill/content/browser/BUILD.gn b/chromium/components/autofill/content/browser/BUILD.gn index d54493f4c21..4a92a284587 100644 --- a/chromium/components/autofill/content/browser/BUILD.gn +++ b/chromium/components/autofill/content/browser/BUILD.gn @@ -2,9 +2,10 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//third_party/protobuf/proto_library.gni") -static_library("browser") { +jumbo_static_library("browser") { sources = [ "autofill_log_router_factory.cc", "autofill_log_router_factory.h", diff --git a/chromium/components/autofill/content/browser/webauthn/BUILD.gn b/chromium/components/autofill/content/browser/webauthn/BUILD.gn index c1759f36cd9..bd8977e1308 100644 --- a/chromium/components/autofill/content/browser/webauthn/BUILD.gn +++ b/chromium/components/autofill/content/browser/webauthn/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -static_library("webauthn") { +import("//build/config/jumbo.gni") + +jumbo_static_library("webauthn") { if (is_component_build) { check_includes = false } diff --git a/chromium/components/autofill/content/renderer/BUILD.gn b/chromium/components/autofill/content/renderer/BUILD.gn index 84f03d8aec7..16498b7e7d8 100644 --- a/chromium/components/autofill/content/renderer/BUILD.gn +++ b/chromium/components/autofill/content/renderer/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -static_library("renderer") { +import("//build/config/jumbo.gni") + +jumbo_static_library("renderer") { sources = [ "autofill_agent.cc", "autofill_agent.h", @@ -59,7 +61,7 @@ static_library("renderer") { configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "focus_test_utils.cc", diff --git a/chromium/components/autofill/core/browser/BUILD.gn b/chromium/components/autofill/core/browser/BUILD.gn index 3447ad7a303..a42dab38fd8 100644 --- a/chromium/components/autofill/core/browser/BUILD.gn +++ b/chromium/components/autofill/core/browser/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/chrome_build.gni") +import("//build/config/jumbo.gni") import("//build/util/version.gni") import("//testing/libfuzzer/fuzzer_test.gni") import("//tools/grit/grit_rule.gni") @@ -18,7 +19,7 @@ grit("autofill_address_rewriter_resources") { output_dir = "$root_gen_dir/components/autofill/core/browser" } -static_library("browser") { +jumbo_static_library("browser") { sources = [ "address_normalization_manager.cc", "address_normalization_manager.h", @@ -431,7 +432,7 @@ static_library("browser") { configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "autofill_form_test_utils.cc", diff --git a/chromium/components/autofill/core/common/BUILD.gn b/chromium/components/autofill/core/common/BUILD.gn index 44d8b901795..c08ff0e4ba7 100644 --- a/chromium/components/autofill/core/common/BUILD.gn +++ b/chromium/components/autofill/core/common/BUILD.gn @@ -1,8 +1,9 @@ # Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") -static_library("common") { +jumbo_static_library("common") { sources = [ "autofill_clock.cc", "autofill_clock.h", diff --git a/chromium/components/autofill_assistant/browser/BUILD.gn b/chromium/components/autofill_assistant/browser/BUILD.gn index 182791b6cbb..4a8737099d1 100644 --- a/chromium/components/autofill_assistant/browser/BUILD.gn +++ b/chromium/components/autofill_assistant/browser/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD - style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//third_party/protobuf/proto_library.gni") if (is_android) { @@ -17,7 +18,7 @@ proto_library("proto") { ] } -static_library("browser") { +jumbo_static_library("browser") { sources = [ "access_token_fetcher.h", "actions/action.cc", diff --git a/chromium/components/cast_certificate/BUILD.gn b/chromium/components/cast_certificate/BUILD.gn index 6332342efb5..42a3f1b3434 100644 --- a/chromium/components/cast_certificate/BUILD.gn +++ b/chromium/components/cast_certificate/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -static_library("cast_certificate") { +import("//build/config/jumbo.gni") + +jumbo_static_library("cast_certificate") { sources = [ "cast_cert_validator.cc", "cast_cert_validator.h", @@ -18,7 +20,7 @@ static_library("cast_certificate") { ] } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "cast_cert_validator_test_helpers.cc", @@ -33,7 +35,7 @@ static_library("test_support") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "cast_cert_validator_unittest.cc", diff --git a/chromium/components/cdm/browser/BUILD.gn b/chromium/components/cdm/browser/BUILD.gn index 1b1c7858b2a..c38eb34ea80 100644 --- a/chromium/components/cdm/browser/BUILD.gn +++ b/chromium/components/cdm/browser/BUILD.gn @@ -2,10 +2,11 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//media/media_options.gni") if (enable_media_drm_storage) { - source_set("browser") { + jumbo_source_set("browser") { sources = [ "media_drm_storage_impl.cc", "media_drm_storage_impl.h", @@ -37,7 +38,7 @@ if (enable_media_drm_storage) { } } - source_set("unit_tests") { + jumbo_source_set("unit_tests") { testonly = true sources = [ "media_drm_storage_impl_unittest.cc" ] deps = [ diff --git a/chromium/components/cdm/common/BUILD.gn b/chromium/components/cdm/common/BUILD.gn index 6164caaff18..669959faafa 100644 --- a/chromium/components/cdm/common/BUILD.gn +++ b/chromium/components/cdm/common/BUILD.gn @@ -9,7 +9,9 @@ import("//build/config/deprecated_default_sources_assignment_filter.gni") set_sources_assignment_filter(deprecated_default_sources_assignment_filter) -static_library("common") { +import("//build/config/jumbo.gni") + +jumbo_static_library("common") { sources = [ "cdm_message_generator.cc", "cdm_message_generator.h", diff --git a/chromium/components/cdm/renderer/BUILD.gn b/chromium/components/cdm/renderer/BUILD.gn index 348a90606be..c8e6160ff68 100644 --- a/chromium/components/cdm/renderer/BUILD.gn +++ b/chromium/components/cdm/renderer/BUILD.gn @@ -2,9 +2,10 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//third_party/widevine/cdm/widevine.gni") -static_library("renderer") { +jumbo_static_library("renderer") { sources = [ "external_clear_key_key_system_properties.cc", "external_clear_key_key_system_properties.h", diff --git a/chromium/components/content_settings/core/browser/BUILD.gn b/chromium/components/content_settings/core/browser/BUILD.gn index 5ce9ad00c2c..91a831ea00e 100644 --- a/chromium/components/content_settings/core/browser/BUILD.gn +++ b/chromium/components/content_settings/core/browser/BUILD.gn @@ -3,9 +3,10 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//ppapi/buildflags/buildflags.gni") -static_library("browser") { +jumbo_static_library("browser") { sources = [ "content_settings_constraints.h", "content_settings_default_provider.cc", @@ -90,7 +91,7 @@ static_library("browser") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "content_settings_ephemeral_provider_unittest.cc", diff --git a/chromium/components/content_settings/core/common/BUILD.gn b/chromium/components/content_settings/core/common/BUILD.gn index 2caaf315bdb..32d5056b67b 100644 --- a/chromium/components/content_settings/core/common/BUILD.gn +++ b/chromium/components/content_settings/core/common/BUILD.gn @@ -2,10 +2,11 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//mojo/public/tools/bindings/mojom.gni") import("//testing/libfuzzer/fuzzer_test.gni") -static_library("common") { +jumbo_static_library("common") { sources = [ "content_settings.cc", "content_settings.h", @@ -42,7 +43,7 @@ static_library("common") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "content_settings_pattern_parser_unittest.cc", diff --git a/chromium/components/content_settings/core/test/BUILD.gn b/chromium/components/content_settings/core/test/BUILD.gn index 46e2fd8cfff..64fb832ac5a 100644 --- a/chromium/components/content_settings/core/test/BUILD.gn +++ b/chromium/components/content_settings/core/test/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -static_library("test_support") { +import("//build/config/jumbo.gni") + +jumbo_static_library("test_support") { testonly = true sources = [ "content_settings_mock_provider.cc", diff --git a/chromium/components/domain_reliability/BUILD.gn b/chromium/components/domain_reliability/BUILD.gn index 14ac5738ca9..c14e1790c8e 100644 --- a/chromium/components/domain_reliability/BUILD.gn +++ b/chromium/components/domain_reliability/BUILD.gn @@ -2,6 +2,8 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") + action("bake_in_configs") { visibility = [ ":*" ] script = "bake_in_configs.py" @@ -43,7 +45,7 @@ action("bake_in_configs") { ] } -component("domain_reliability") { +jumbo_component("domain_reliability") { sources = [ "baked_in_configs.h", "beacon.cc", @@ -83,7 +85,7 @@ component("domain_reliability") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "config_unittest.cc", diff --git a/chromium/components/feature_engagement/internal/BUILD.gn b/chromium/components/feature_engagement/internal/BUILD.gn index b1320da262b..0dc1e54a558 100644 --- a/chromium/components/feature_engagement/internal/BUILD.gn +++ b/chromium/components/feature_engagement/internal/BUILD.gn @@ -2,12 +2,14 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") + if (is_android) { import("//build/config/android/config.gni") import("//build/config/android/rules.gni") } -static_library("internal") { +jumbo_static_library("internal") { visibility = [ ":*", "//components/feature_engagement", @@ -84,7 +86,7 @@ static_library("internal") { } } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true visibility = [ "//components/feature_engagement:unit_tests" ] diff --git a/chromium/components/feature_engagement/internal/test/BUILD.gn b/chromium/components/feature_engagement/internal/test/BUILD.gn index 961c1f6066b..5c9e7a1c2be 100644 --- a/chromium/components/feature_engagement/internal/test/BUILD.gn +++ b/chromium/components/feature_engagement/internal/test/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -source_set("test_support") { +import("//build/config/jumbo.gni") + +jumbo_source_set("test_support") { testonly = true visibility = [ "//components/feature_engagement/internal:unit_tests" ] diff --git a/chromium/components/feature_engagement/public/BUILD.gn b/chromium/components/feature_engagement/public/BUILD.gn index 090e85188ef..9cb0bf0b9a8 100644 --- a/chromium/components/feature_engagement/public/BUILD.gn +++ b/chromium/components/feature_engagement/public/BUILD.gn @@ -2,12 +2,14 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") + if (is_android) { import("//build/config/android/config.gni") import("//build/config/android/rules.gni") } -source_set("public") { +jumbo_source_set("public") { sources = [ "configuration.cc", "configuration.h", @@ -30,7 +32,7 @@ source_set("public") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true visibility = [ "//components/feature_engagement:unit_tests" ] diff --git a/chromium/components/lookalikes/core/BUILD.gn b/chromium/components/lookalikes/core/BUILD.gn index 30aab561767..4cc89e5b8f7 100644 --- a/chromium/components/lookalikes/core/BUILD.gn +++ b/chromium/components/lookalikes/core/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -static_library("core") { +import("//build/config/jumbo.gni") + +jumbo_static_library("core") { sources = [ "lookalike_url_ui_util.cc", "lookalike_url_ui_util.h", @@ -28,7 +30,7 @@ static_library("core") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "lookalike_url_util_unittest.cc" ] diff --git a/chromium/components/metrics/BUILD.gn b/chromium/components/metrics/BUILD.gn index 956176ed571..dd635739264 100644 --- a/chromium/components/metrics/BUILD.gn +++ b/chromium/components/metrics/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//testing/test.gni") if (is_android) { @@ -24,7 +25,7 @@ static_library("demographic_metrics_provider") { ] } -static_library("metrics") { +jumbo_static_library("metrics") { sources = [ "android_metrics_provider.cc", "android_metrics_provider.h", @@ -263,7 +264,7 @@ source_set("library_support") { ] } -static_library("net") { +jumbo_static_library("net") { sources = [ "net/cellular_logic_helper.cc", "net/cellular_logic_helper.h", @@ -380,7 +381,7 @@ source_set("call_stack_profile_collector") { ] } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "test/test_enabled_state_provider.cc", diff --git a/chromium/components/omnibox/browser/BUILD.gn b/chromium/components/omnibox/browser/BUILD.gn index 4c4e4745c6c..87563dd078e 100644 --- a/chromium/components/omnibox/browser/BUILD.gn +++ b/chromium/components/omnibox/browser/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/buildflag_header.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//components/vector_icons/vector_icons.gni") import("//device/vr/buildflags/buildflags.gni") @@ -77,7 +78,7 @@ static_library("vector_icons") { ] } -static_library("browser") { +jumbo_static_library("browser") { sources = [ "answers_cache.cc", "answers_cache.h", @@ -392,7 +393,7 @@ proto_library("in_memory_url_index_cache_proto") { sources = [ "in_memory_url_index_cache.proto" ] } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "fake_autocomplete_provider_client.cc", diff --git a/chromium/components/password_manager/content/browser/BUILD.gn b/chromium/components/password_manager/content/browser/BUILD.gn index b56fd7e5fe6..2a6c0ee268b 100644 --- a/chromium/components/password_manager/content/browser/BUILD.gn +++ b/chromium/components/password_manager/content/browser/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -static_library("browser") { +import("//build/config/jumbo.gni") + +jumbo_static_library("browser") { sources = [ "bad_message.cc", "bad_message.h", diff --git a/chromium/components/password_manager/core/browser/BUILD.gn b/chromium/components/password_manager/core/browser/BUILD.gn index e3a66b10927..a6d05ab4d77 100644 --- a/chromium/components/password_manager/core/browser/BUILD.gn +++ b/chromium/components/password_manager/core/browser/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//testing/libfuzzer/fuzzer_test.gni") import("//third_party/libprotobuf-mutator/fuzzable_proto_library.gni") @@ -28,7 +29,7 @@ config("password_reuse_detection_config") { } } -static_library("browser") { +jumbo_static_library("browser") { sources = [ "android_affiliation/affiliated_match_helper.cc", "android_affiliation/affiliated_match_helper.h", @@ -443,7 +444,7 @@ fuzzable_proto_library("proto") { sources = [ "android_affiliation/affiliation_api.proto" ] } -static_library("password_hash_data") { +jumbo_static_library("password_hash_data") { sources = [ "password_hash_data.cc", "password_hash_data.h", @@ -469,7 +470,7 @@ static_library("hash_password_manager") { ] } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "android_affiliation/fake_affiliation_api.cc", diff --git a/chromium/components/password_manager/core/browser/leak_detection/BUILD.gn b/chromium/components/password_manager/core/browser/leak_detection/BUILD.gn index c72439b557c..47a62febd02 100644 --- a/chromium/components/password_manager/core/browser/leak_detection/BUILD.gn +++ b/chromium/components/password_manager/core/browser/leak_detection/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//third_party/libprotobuf-mutator/fuzzable_proto_library.gni") fuzzable_proto_library("proto") { @@ -21,7 +22,7 @@ source_set("leak_detection_interface_headers") { ] } -source_set("leak_detection") { +jumbo_source_set("leak_detection") { sources = [ "authenticated_leak_check.cc", "authenticated_leak_check.h", @@ -59,7 +60,7 @@ source_set("leak_detection") { ] } -source_set("test_support") { +jumbo_source_set("test_support") { testonly = true sources = [ "mock_leak_detection_check_factory.cc", @@ -77,7 +78,7 @@ source_set("test_support") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "authenticated_leak_check_unittest.cc", diff --git a/chromium/components/password_manager/core/common/BUILD.gn b/chromium/components/password_manager/core/common/BUILD.gn index 62282fcf995..426e51d754b 100644 --- a/chromium/components/password_manager/core/common/BUILD.gn +++ b/chromium/components/password_manager/core/common/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -static_library("common") { +import("//build/config/jumbo.gni") + +jumbo_static_library("common") { sources = [ "credential_manager_types.cc", "credential_manager_types.h", diff --git a/chromium/components/payments/content/BUILD.gn b/chromium/components/payments/content/BUILD.gn index 16c9e56ab38..81340fb54b9 100644 --- a/chromium/components/payments/content/BUILD.gn +++ b/chromium/components/payments/content/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -static_library("content") { +import("//build/config/jumbo.gni") + +jumbo_static_library("content") { sources = [ "android_app_communication.cc", "android_app_communication.h", @@ -112,7 +114,7 @@ static_library("content") { } # Files used by content and utility. -static_library("content_common") { +jumbo_static_library("content_common") { sources = [ "web_app_manifest.cc", "web_app_manifest.h", @@ -124,7 +126,7 @@ static_library("content_common") { ] } -static_library("utils") { +jumbo_static_library("utils") { sources = [ "developer_console_logger.cc", "developer_console_logger.h", @@ -165,7 +167,7 @@ static_library("utils") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "android_app_communication_test_support.h", diff --git a/chromium/components/payments/content/icon/BUILD.gn b/chromium/components/payments/content/icon/BUILD.gn index a5d3326f4c3..b031c0b8bd1 100644 --- a/chromium/components/payments/content/icon/BUILD.gn +++ b/chromium/components/payments/content/icon/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -static_library("icon") { +import("//build/config/jumbo.gni") + +jumbo_static_library("icon") { sources = [ "icon_size.cc", "icon_size.h", diff --git a/chromium/components/payments/core/BUILD.gn b/chromium/components/payments/core/BUILD.gn index 1f6d6e3976d..012c455d398 100644 --- a/chromium/components/payments/core/BUILD.gn +++ b/chromium/components/payments/core/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -static_library("core") { +import("//build/config/jumbo.gni") + +jumbo_static_library("core") { sources = [ "android_app_description.cc", "android_app_description.h", @@ -103,7 +105,7 @@ static_library("core") { ] } -static_library("error_strings") { +jumbo_static_library("error_strings") { sources = [ "error_strings.cc", "error_strings.h", @@ -119,14 +121,14 @@ static_library("error_strings") { } } -static_library("method_strings") { +jumbo_static_library("method_strings") { sources = [ "method_strings.cc", "method_strings.h", ] } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "payments_test_util.cc", @@ -152,7 +154,7 @@ static_library("test_support") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "android_app_description_tools_unittest.cc", diff --git a/chromium/components/policy/content/BUILD.gn b/chromium/components/policy/content/BUILD.gn index 5c6bc224ef2..709fef5fc36 100644 --- a/chromium/components/policy/content/BUILD.gn +++ b/chromium/components/policy/content/BUILD.gn @@ -3,10 +3,11 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") assert(!is_ios, "Policy Throttle should not be referenced on iOS") -source_set("content") { +jumbo_source_set("content") { sources = [ "policy_blocklist_navigation_throttle.cc", "policy_blocklist_navigation_throttle.h", diff --git a/chromium/components/policy/core/browser/BUILD.gn b/chromium/components/policy/core/browser/BUILD.gn index d56d4eb34b8..087606a5643 100644 --- a/chromium/components/policy/core/browser/BUILD.gn +++ b/chromium/components/policy/core/browser/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") group("browser") { if (is_component_build) { @@ -12,7 +13,7 @@ group("browser") { } } -source_set("internal") { +jumbo_source_set("internal") { visibility = [ "//components/policy/*" ] sources = [ "browser_policy_connector.cc", @@ -73,7 +74,7 @@ source_set("internal") { ] } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "configuration_policy_pref_store_test.cc", diff --git a/chromium/components/policy/core/common/BUILD.gn b/chromium/components/policy/core/common/BUILD.gn index 43ffb518e3a..402c4205707 100644 --- a/chromium/components/policy/core/common/BUILD.gn +++ b/chromium/components/policy/core/common/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//testing/libfuzzer/fuzzer_test.gni") group("common") { @@ -13,7 +14,7 @@ group("common") { } } -source_set("internal") { +jumbo_source_set("internal") { visibility = [ "//components/policy/*" ] configs += [ "//components/policy:component_implementation" ] @@ -295,7 +296,7 @@ source_set("internal") { } } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "cloud/mock_cloud_external_data_manager.cc", diff --git a/chromium/components/rappor/BUILD.gn b/chromium/components/rappor/BUILD.gn index 15b25976b98..4ad816a5663 100644 --- a/chromium/components/rappor/BUILD.gn +++ b/chromium/components/rappor/BUILD.gn @@ -2,9 +2,10 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//testing/test.gni") -static_library("rappor") { +jumbo_static_library("rappor") { sources = [ "bloom_filter.cc", "bloom_filter.h", @@ -46,7 +47,7 @@ static_library("rappor") { ] } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "test_log_uploader.cc", @@ -62,7 +63,7 @@ static_library("test_support") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "bloom_filter_unittest.cc", diff --git a/chromium/components/rappor/public/BUILD.gn b/chromium/components/rappor/public/BUILD.gn index ccf58cd187b..97448b7b8d5 100644 --- a/chromium/components/rappor/public/BUILD.gn +++ b/chromium/components/rappor/public/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -source_set("public") { +import("//build/config/jumbo.gni") + +jumbo_source_set("public") { sources = [ "rappor_parameters.h", "rappor_service.h", diff --git a/chromium/components/safe_browsing/content/browser/BUILD.gn b/chromium/components/safe_browsing/content/browser/BUILD.gn index f4cff85aa0b..0b942f26ce3 100644 --- a/chromium/components/safe_browsing/content/browser/BUILD.gn +++ b/chromium/components/safe_browsing/content/browser/BUILD.gn @@ -3,8 +3,9 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") -source_set("browser") { +jumbo_source_set("browser") { sources = [ "browser_url_loader_throttle.cc", "browser_url_loader_throttle.h", diff --git a/chromium/components/safe_browsing/core/browser/BUILD.gn b/chromium/components/safe_browsing/core/browser/BUILD.gn index 7d1108304bb..77c33485663 100644 --- a/chromium/components/safe_browsing/core/browser/BUILD.gn +++ b/chromium/components/safe_browsing/core/browser/BUILD.gn @@ -3,8 +3,9 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") -source_set("browser") { +jumbo_source_set("browser") { sources = [ "safe_browsing_url_checker_impl.cc", "safe_browsing_url_checker_impl.h", diff --git a/chromium/components/security_state/content/BUILD.gn b/chromium/components/security_state/content/BUILD.gn index cb0ed6b0329..f4cb33aa39f 100644 --- a/chromium/components/security_state/content/BUILD.gn +++ b/chromium/components/security_state/content/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -static_library("content") { +import("//build/config/jumbo.gni") + +jumbo_static_library("content") { sources = [ "content_utils.cc", "content_utils.h", @@ -27,7 +29,7 @@ static_library("content") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "content_utils_unittest.cc" ] diff --git a/chromium/components/security_state/core/BUILD.gn b/chromium/components/security_state/core/BUILD.gn index fbadf7ed7a5..80202ef3536 100644 --- a/chromium/components/security_state/core/BUILD.gn +++ b/chromium/components/security_state/core/BUILD.gn @@ -2,12 +2,14 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") + if (is_android) { import("//build/config/android/config.gni") import("//build/config/android/rules.gni") } -static_library("core") { +jumbo_static_library("core") { sources = [ "insecure_input_event_data.h", "security_state.cc", @@ -35,7 +37,7 @@ if (is_android) { } } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "security_state_unittest.cc" ] diff --git a/chromium/components/sync/BUILD.gn b/chromium/components/sync/BUILD.gn index 01059c3ee52..edf451f825e 100644 --- a/chromium/components/sync/BUILD.gn +++ b/chromium/components/sync/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//testing/test.gni") group("sync") { @@ -28,7 +29,7 @@ group("test_support") { # TODO(crbug.com/947443): This target should be split up into "engine", "model" # etc, but currently they all depend on each other. -static_library("rest_of_sync") { +jumbo_static_library("rest_of_sync") { sources = [ "engine/commit_queue.h", "engine/configure_reason.h", diff --git a/chromium/components/sync/base/BUILD.gn b/chromium/components/sync/base/BUILD.gn index 70a70958ae0..7bfb0f03762 100644 --- a/chromium/components/sync/base/BUILD.gn +++ b/chromium/components/sync/base/BUILD.gn @@ -3,13 +3,14 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") declare_args() { # Controls the product part of the user agent calculated in sync_util.cc. sync_user_agent_product = "Chrome" } -static_library("base") { +jumbo_static_library("base") { sources = [ "bind_to_task_runner.h", "cancelation_observer.h", diff --git a/chromium/components/sync/driver/BUILD.gn b/chromium/components/sync/driver/BUILD.gn index 8476be77b63..d9b3fab8422 100644 --- a/chromium/components/sync/driver/BUILD.gn +++ b/chromium/components/sync/driver/BUILD.gn @@ -3,9 +3,10 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//tools/grit/grit_rule.gni") -static_library("driver") { +jumbo_static_library("driver") { sources = [ "about_sync_util.cc", "about_sync_util.h", diff --git a/chromium/components/sync/js/BUILD.gn b/chromium/components/sync/js/BUILD.gn index 71ff7e8f2ec..53422e2b3bc 100644 --- a/chromium/components/sync/js/BUILD.gn +++ b/chromium/components/sync/js/BUILD.gn @@ -3,8 +3,9 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") -static_library("js") { +jumbo_static_library("js") { sources = [ "js_backend.h", "js_controller.h", diff --git a/chromium/components/sync/protocol/BUILD.gn b/chromium/components/sync/protocol/BUILD.gn index e0f4727f2e4..c37eab082c0 100644 --- a/chromium/components/sync/protocol/BUILD.gn +++ b/chromium/components/sync/protocol/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//third_party/protobuf/proto_library.gni") import("protocol_sources.gni") @@ -11,7 +12,7 @@ proto_library("protocol") { extra_configs = [ "//build/config/compiler:wexit_time_destructors" ] } -static_library("util") { +jumbo_static_library("util") { sources = [ "proto_enum_conversions.cc", "proto_enum_conversions.h", diff --git a/chromium/components/sync_device_info/BUILD.gn b/chromium/components/sync_device_info/BUILD.gn index 940c3ee4bcb..4a1dd22fbcf 100644 --- a/chromium/components/sync_device_info/BUILD.gn +++ b/chromium/components/sync_device_info/BUILD.gn @@ -3,8 +3,9 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") -static_library("sync_device_info") { +jumbo_static_library("sync_device_info") { sources = [ "device_count_metrics_provider.cc", "device_count_metrics_provider.h", diff --git a/chromium/components/sync_user_events/BUILD.gn b/chromium/components/sync_user_events/BUILD.gn index b19d743b5ee..1a42b228e5c 100644 --- a/chromium/components/sync_user_events/BUILD.gn +++ b/chromium/components/sync_user_events/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -static_library("sync_user_events") { +import("//build/config/jumbo.gni") + +jumbo_static_library("sync_user_events") { sources = [ "global_id_mapper.h", "no_op_user_event_service.cc", diff --git a/chromium/components/url_formatter/BUILD.gn b/chromium/components/url_formatter/BUILD.gn index 1992b274c29..a62d41dde0a 100644 --- a/chromium/components/url_formatter/BUILD.gn +++ b/chromium/components/url_formatter/BUILD.gn @@ -2,11 +2,13 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") + if (is_android) { import("//build/config/android/rules.gni") } -static_library("skeleton_generator") { +jumbo_static_library("skeleton_generator") { sources = [ "spoof_checks/skeleton_generator.cc", "spoof_checks/skeleton_generator.h", @@ -17,7 +19,7 @@ static_library("skeleton_generator") { ] } -static_library("url_formatter") { +jumbo_static_library("url_formatter") { sources = [ "elide_url.cc", "elide_url.h", @@ -67,7 +69,7 @@ if (is_android) { } } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "elide_url_unittest.cc", diff --git a/chromium/components/viz/common/BUILD.gn b/chromium/components/viz/common/BUILD.gn index f3c258357cc..4a00878b0dc 100644 --- a/chromium/components/viz/common/BUILD.gn +++ b/chromium/components/viz/common/BUILD.gn @@ -349,6 +349,8 @@ viz_component("common") { } viz_source_set("unit_tests") { + # Not ready for jumbo compilation. Too much repeated test code. + never_build_jumbo = true testonly = true sources = [ "display/overlay_strategy_unittest.cc", diff --git a/chromium/components/viz/service/BUILD.gn b/chromium/components/viz/service/BUILD.gn index 3d3fc4f5227..4037268660a 100644 --- a/chromium/components/viz/service/BUILD.gn +++ b/chromium/components/viz/service/BUILD.gn @@ -470,6 +470,8 @@ viz_source_set("gpu_service_dependencies") { } viz_source_set("unit_tests") { + # Not ready for jumbo compilation. Too much repeated test code. + never_build_jumbo = true testonly = true sources = [ "display/bsp_tree_unittest.cc", @@ -607,6 +609,8 @@ viz_source_set("unit_tests") { } viz_source_set("perf_tests") { + # Not ready for jumbo compilation. Too much repeated test code. + never_build_jumbo = true testonly = true sources = [ "display/bsp_tree_perftest.cc", diff --git a/chromium/components/viz/viz.gni b/chromium/components/viz/viz.gni index 7f3d160442b..22d05d97bd7 100644 --- a/chromium/components/viz/viz.gni +++ b/chromium/components/viz/viz.gni @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//gpu/vulkan/features.gni") import("//skia/features.gni") import("//testing/test.gni") @@ -29,7 +30,7 @@ if (!is_debug) { } template("viz_source_set") { - source_set(target_name) { + jumbo_source_set(target_name) { forward_variables_from(invoker, "*", [ "configs" ]) if (defined(invoker.configs)) { configs += invoker.configs @@ -40,7 +41,7 @@ template("viz_source_set") { } template("viz_component") { - component(target_name) { + jumbo_component(target_name) { forward_variables_from(invoker, "*", [ "configs" ]) if (defined(invoker.configs)) { configs += invoker.configs @@ -51,7 +52,7 @@ template("viz_component") { } template("viz_static_library") { - static_library(target_name) { + jumbo_static_library(target_name) { forward_variables_from(invoker, "*", [ "configs" ]) if (defined(invoker.configs)) { configs += invoker.configs diff --git a/chromium/components/wifi/BUILD.gn b/chromium/components/wifi/BUILD.gn index 74b5c277ef0..8a7e8b53f36 100644 --- a/chromium/components/wifi/BUILD.gn +++ b/chromium/components/wifi/BUILD.gn @@ -9,7 +9,9 @@ import("//build/config/deprecated_default_sources_assignment_filter.gni") set_sources_assignment_filter(deprecated_default_sources_assignment_filter) -component("wifi") { +import("//build/config/jumbo.gni") + +jumbo_component("wifi") { sources = [ "network_properties.cc", "network_properties.h", @@ -45,7 +47,7 @@ component("wifi") { } } -static_library("test_support") { +jumbo_static_library("test_support") { sources = [ "fake_wifi_service.cc", "fake_wifi_service.h", diff --git a/chromium/content/browser/BUILD.gn b/chromium/content/browser/BUILD.gn index 81d6841aed3..b02e06eebb5 100644 --- a/chromium/content/browser/BUILD.gn +++ b/chromium/content/browser/BUILD.gn @@ -5,6 +5,7 @@ import("//build/buildflag_header.gni") import("//build/config/chromeos/ui_mode.gni") import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//build/config/linux/pangocairo/pangocairo.gni") import("//build/config/ui.gni") import("//chromeos/assistant/assistant.gni") @@ -27,7 +28,7 @@ import("//tools/ipc_fuzzer/ipc_fuzzer.gni") import("//build/config/deprecated_default_sources_assignment_filter.gni") set_sources_assignment_filter(deprecated_default_sources_assignment_filter) -static_library("browser") { +jumbo_static_library("browser") { # Only the public target should depend on this. All other targets (even # internal content ones) should depend on the public one. visibility = [ diff --git a/chromium/content/gpu/BUILD.gn b/chromium/content/gpu/BUILD.gn index 750cdf5695e..872ddb841a8 100644 --- a/chromium/content/gpu/BUILD.gn +++ b/chromium/content/gpu/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//gpu/vulkan/features.gni") import("//media/media_options.gni") @@ -25,9 +26,9 @@ group("gpu") { } if (is_component_build) { - link_target_type = "source_set" + link_target_type = "jumbo_source_set" } else { - link_target_type = "static_library" + link_target_type = "jumbo_static_library" } target(link_target_type, "gpu_sources") { diff --git a/chromium/content/public/browser/BUILD.gn b/chromium/content/public/browser/BUILD.gn index 1defedb6c48..7cf82a4aacf 100644 --- a/chromium/content/public/browser/BUILD.gn +++ b/chromium/content/public/browser/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//device/vr/buildflags/buildflags.gni") import("//media/media_options.gni") @@ -29,7 +30,7 @@ group("browser") { } } -source_set("browser_sources") { +jumbo_source_set("browser_sources") { # External code should depend on via ":browser" above. visibility = [ "//content/*" ] sources = [ diff --git a/chromium/content/public/child/BUILD.gn b/chromium/content/public/child/BUILD.gn index 63a3eaac58c..edb0cc9ae9f 100644 --- a/chromium/content/public/child/BUILD.gn +++ b/chromium/content/public/child/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//ppapi/buildflags/buildflags.gni") # This file depends on the legacy global sources assignment filter. It should @@ -26,7 +27,7 @@ group("child") { } } -source_set("child_sources") { +jumbo_source_set("child_sources") { # External code should depend in via ":child" above. visibility = [ "//content/*" ] diff --git a/chromium/content/public/common/BUILD.gn b/chromium/content/public/common/BUILD.gn index 674af74dbb5..4eb45cbd587 100644 --- a/chromium/content/public/common/BUILD.gn +++ b/chromium/content/public/common/BUILD.gn @@ -5,6 +5,7 @@ import("//build/buildflag_header.gni") import("//build/config/chromecast_build.gni") import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//content/public/common/zygote/features.gni") import("//media/media_options.gni") @@ -89,7 +90,7 @@ source_set("static_features") { } } -source_set("common_sources") { +jumbo_source_set("common_sources") { # External code should depend on via ":common" above. visibility = [ "//content/*" ] diff --git a/chromium/content/public/renderer/BUILD.gn b/chromium/content/public/renderer/BUILD.gn index 401ca36d693..30fe0d155d3 100644 --- a/chromium/content/public/renderer/BUILD.gn +++ b/chromium/content/public/renderer/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//media/media_options.gni") import("//ppapi/buildflags/buildflags.gni") @@ -23,9 +24,9 @@ group("renderer") { } if (is_component_build) { - link_target_type = "source_set" + link_target_type = "jumbo_source_set" } else { - link_target_type = "static_library" + link_target_type = "jumbo_static_library" } target(link_target_type, "renderer_sources") { # External code should depend on via ":renderer" above. diff --git a/chromium/content/renderer/BUILD.gn b/chromium/content/renderer/BUILD.gn index 80ce235c3fc..b3df737749f 100644 --- a/chromium/content/renderer/BUILD.gn +++ b/chromium/content/renderer/BUILD.gn @@ -4,6 +4,7 @@ import("//build/config/chromecast_build.gni") import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//content/common/features.gni") import("//media/media_options.gni") @@ -19,9 +20,9 @@ import("//build/config/deprecated_default_sources_assignment_filter.gni") set_sources_assignment_filter(deprecated_default_sources_assignment_filter) if (is_component_build) { - link_target_type = "source_set" + link_target_type = "jumbo_source_set" } else { - link_target_type = "static_library" + link_target_type = "jumbo_static_library" } target(link_target_type, "renderer") { diff --git a/chromium/content/test/BUILD.gn b/chromium/content/test/BUILD.gn index 4fd83be5c90..758e05eac26 100644 --- a/chromium/content/test/BUILD.gn +++ b/chromium/content/test/BUILD.gn @@ -8,6 +8,7 @@ import("//build/config/chromeos/ui_mode.gni") import("//build/config/compiler/compiler.gni") import("//build/config/crypto.gni") import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//build/nocompile.gni") import("//content/common/features.gni") @@ -34,7 +35,7 @@ set_sources_assignment_filter(deprecated_default_sources_assignment_filter) # Use a static library here because many test binaries depend on this but don't # require many files from it. This makes linking more efficient. -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true # See comment at the top of //content/BUILD.gn for why this is disabled in @@ -725,7 +726,7 @@ group("telemetry_gpu_integration_test_support") { # browsertest_support can be used by targets that run content_shell based # browser tests. -static_library("browsertest_support") { +jumbo_static_library("browsertest_support") { testonly = true # See comment at the top of //content/BUILD.gn for why this is disabled in diff --git a/chromium/content/utility/BUILD.gn b/chromium/content/utility/BUILD.gn index f1cd71af92d..69b834c9b9d 100644 --- a/chromium/content/utility/BUILD.gn +++ b/chromium/content/utility/BUILD.gn @@ -2,10 +2,11 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//device/vr/buildflags/buildflags.gni") import("//media/media_options.gni") -source_set("utility") { +jumbo_source_set("utility") { # Only the public target should depend on this. All other targets (even # internal content ones other than test) should depend on the public one. visibility = [ diff --git a/chromium/docs/clang_tidy.md b/chromium/docs/clang_tidy.md index 834051989de..1989556235d 100644 --- a/chromium/docs/clang_tidy.md +++ b/chromium/docs/clang_tidy.md @@ -198,7 +198,8 @@ your own `clang-apply-replacements` binary if you want to use the `-fix` option noted below. Running clang-tidy is (hopefully) simple. -1. Build chrome normally. +1. Build chrome normally.\* Note that [Jumbo builds](jumbo.md) are not + supported. ``` ninja -C out/Release chrome ``` @@ -238,9 +239,9 @@ Copy-Paste Friendly (though you'll still need to stub in the variables): chrome/browser ``` -\*It's not clear which, if any, `gn` flags may cause issues for -`clang-tidy`. I've had no problems building a component release build, -both with and without goma. if you run into issues, let us know! +\*It's not clear which, if any, `gn` flags outside of `use_jumbo_build` may +cause issues for `clang-tidy`. I've had no problems building a component release +build, both with and without goma. if you run into issues, let us know! ### Questions diff --git a/chromium/docs/clang_tool_refactoring.md b/chromium/docs/clang_tool_refactoring.md index 62ec4418d58..3702c3f48dd 100644 --- a/chromium/docs/clang_tool_refactoring.md +++ b/chromium/docs/clang_tool_refactoring.md @@ -15,6 +15,8 @@ with a traditional find-and-replace regexp: ## Caveats +* Clang tools do not work with jumbo builds. + * Invocations of a clang tool runs on on only one build config at a time. For example, running the tool across a `target_os="win"` build won't update code that is guarded by `OS_POSIX`. Performing a global refactoring will often diff --git a/chromium/docs/linux/build_instructions.md b/chromium/docs/linux/build_instructions.md index 2f28db7117d..43cacfa2d6f 100644 --- a/chromium/docs/linux/build_instructions.md +++ b/chromium/docs/linux/build_instructions.md @@ -153,6 +153,15 @@ use_goma=true goma_dir="/path/to/goma-client" ``` +#### Jumbo/Unity builds + +Jumbo builds merge many translation units ("source files") and compile them +together. Since a large portion of Chromium's code is in shared header files, +this dramatically reduces the total amount of work needed. Check out the +[Jumbo / Unity builds](jumbo.md) for more information. + +Enable jumbo builds by setting the GN arg `use_jumbo_build=true`. + #### Disable NaCl By default, the build includes support for diff --git a/chromium/docs/mac_build_instructions.md b/chromium/docs/mac_build_instructions.md index 4213fd64d92..2ed3aa75efd 100644 --- a/chromium/docs/mac_build_instructions.md +++ b/chromium/docs/mac_build_instructions.md @@ -140,6 +140,15 @@ in your args.gn to disable debug symbols altogether. This makes both full rebuilds and linking faster (at the cost of not getting symbolized backtraces in gdb). +#### Jumbo/Unity builds + +Jumbo builds merge many translation units ("source files") and compile them +together. Since a large portion of Chromium's code is in shared header files, +this dramatically reduces the total amount of work needed. Check out the +[Jumbo / Unity builds](jumbo.md) for more information. + +Enable jumbo builds by setting the GN arg `use_jumbo_build=true`. + #### CCache You might also want to [install ccache](ccache_mac.md) to speed up the build. diff --git a/chromium/docs/windows_build_instructions.md b/chromium/docs/windows_build_instructions.md index 7497a1e8834..25fac99c3a5 100644 --- a/chromium/docs/windows_build_instructions.md +++ b/chromium/docs/windows_build_instructions.md @@ -243,6 +243,7 @@ in the editor that appears when you create your output directory (`gn args out/Default`) or on the gn gen command line (`gn gen out/Default --args="is_component_build = true is_debug = true"`). Some helpful settings to consider using include: +* `use_jumbo_build = true` - [Jumbo/unity](jumbo.md) builds. * `is_component_build = true` - this uses more, smaller DLLs, and incremental linking. * `enable_nacl = false` - this disables Native Client which is usually not diff --git a/chromium/extensions/BUILD.gn b/chromium/extensions/BUILD.gn index 161b6949a05..1d0ffe6c512 100644 --- a/chromium/extensions/BUILD.gn +++ b/chromium/extensions/BUILD.gn @@ -2,6 +2,7 @@ # found in the LICENSE file. import("//build/config/chromecast_build.gni") +import("//build/config/jumbo.gni") import("//extensions/buildflags/buildflags.gni") import("//testing/test.gni") import("//tools/grit/grit_rule.gni") @@ -59,7 +60,7 @@ grit("extensions_renderer_resources") { ] } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "browser/api/declarative/test_rules_registry.cc", diff --git a/chromium/extensions/browser/BUILD.gn b/chromium/extensions/browser/BUILD.gn index 08cda5db8c9..a1581a41e94 100644 --- a/chromium/extensions/browser/BUILD.gn +++ b/chromium/extensions/browser/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//extensions/buildflags/buildflags.gni") # This file depends on the legacy global sources assignment filter. It should @@ -44,7 +45,7 @@ source_set("browser_context_keyed_service_factories") { ] } -source_set("browser_sources") { +jumbo_source_set("browser_sources") { visibility = [ "./*" ] sources = [ @@ -591,7 +592,7 @@ source_set("browser_tests") { } } -source_set("test_support") { +jumbo_source_set("test_support") { testonly = true sources = [ "browsertest_util.cc", @@ -642,7 +643,7 @@ source_set("test_support") { } } -source_set("value_store_test_support") { +jumbo_source_set("value_store_test_support") { testonly = true sources = [ "value_store/value_store_unittest.cc", diff --git a/chromium/extensions/common/BUILD.gn b/chromium/extensions/common/BUILD.gn index c7e2d945d43..b1d1c5aa724 100644 --- a/chromium/extensions/common/BUILD.gn +++ b/chromium/extensions/common/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//components/nacl/features.gni") import("//extensions/buildflags/buildflags.gni") import("//mojo/public/tools/bindings/mojom.gni") @@ -62,7 +63,7 @@ if (enable_extensions) { # This must be a static library because extensions common depends on # GetTrustedICAPublicKey in extensions/browser which isn't always linked # in. TODO(brettw): This reverse dependency should be fixed. - static_library("common") { + jumbo_static_library("common") { sources = [ "activation_sequence.h", "alias.h", diff --git a/chromium/extensions/renderer/BUILD.gn b/chromium/extensions/renderer/BUILD.gn index 9552ab019d8..05ef6c9007d 100644 --- a/chromium/extensions/renderer/BUILD.gn +++ b/chromium/extensions/renderer/BUILD.gn @@ -3,11 +3,12 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//extensions/buildflags/buildflags.gni") assert(enable_extensions) -source_set("renderer") { +jumbo_source_set("renderer") { sources = [ "activity_log_converter_strategy.cc", "activity_log_converter_strategy.h", @@ -320,7 +321,7 @@ source_set("renderer") { } } -static_library("unit_test_support") { +jumbo_static_library("unit_test_support") { # Sources that are shared between chrome-based renderer unit tests and # top-level extensions renderer unit tests. testonly = true diff --git a/chromium/gpu/BUILD.gn b/chromium/gpu/BUILD.gn index f640f167a67..f91c38cfc9f 100644 --- a/chromium/gpu/BUILD.gn +++ b/chromium/gpu/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/libfuzzer/fuzzer_test.gni") import("//testing/test.gni") @@ -173,7 +174,7 @@ if (!use_static_angle) { } } # if (!use_static_angle) -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "command_buffer/client/client_test_helper.cc", diff --git a/chromium/gpu/command_buffer/client/BUILD.gn b/chromium/gpu/command_buffer/client/BUILD.gn index 2cbf5898217..23be1a2cf15 100644 --- a/chromium/gpu/command_buffer/client/BUILD.gn +++ b/chromium/gpu/command_buffer/client/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//ui/gl/features.gni") if (!is_nacl) { @@ -48,7 +49,7 @@ group("webgpu") { } } -source_set("client_sources") { +jumbo_source_set("client_sources") { # External code should depend on this via //gpu/client above rather than # depending on this directly or the component build will break. visibility = [ "//gpu/*" ] @@ -223,7 +224,7 @@ source_set("webgpu_interface") { } # Library emulates GLES2 using command_buffers. -component("gles2_implementation") { +jumbo_component("gles2_implementation") { sources = gles2_implementation_source_files defines = [ "GLES2_IMPL_IMPLEMENTATION" ] @@ -321,7 +322,7 @@ source_set("webgpu_sources") { } # Library emulates GLES2 using command_buffers. -component("gles2_implementation_no_check") { +jumbo_component("gles2_implementation_no_check") { sources = gles2_implementation_source_files defines = [ @@ -367,7 +368,7 @@ component("gles2_c_lib") { # Same as gles2_c_lib except with no parameter checking. Required for # OpenGL ES 2.0 conformance tests. -component("gles2_c_lib_nocheck") { +jumbo_component("gles2_c_lib_nocheck") { sources = gles2_c_lib_source_files defines = [ diff --git a/chromium/gpu/command_buffer/common/BUILD.gn b/chromium/gpu/command_buffer/common/BUILD.gn index 2ef911b49e9..9696af1c3a3 100644 --- a/chromium/gpu/command_buffer/common/BUILD.gn +++ b/chromium/gpu/command_buffer/common/BUILD.gn @@ -7,6 +7,7 @@ # non-component build. This needs to match the GYP build which was likely an # attempt to make larger components to help with loading. +import("//build/config/jumbo.gni") import("//ui/gl/features.gni") group("common") { @@ -45,7 +46,7 @@ group("webgpu") { public_deps = [ ":webgpu_sources" ] } -source_set("common_sources") { +jumbo_source_set("common_sources") { visibility = [ "//gpu/*" ] sources = [ diff --git a/chromium/gpu/command_buffer/service/BUILD.gn b/chromium/gpu/command_buffer/service/BUILD.gn index 56cb7346a69..4b3965145b4 100644 --- a/chromium/gpu/command_buffer/service/BUILD.gn +++ b/chromium/gpu/command_buffer/service/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//gpu/vulkan/features.gni") import("//skia/features.gni") @@ -25,9 +26,9 @@ group("gles2") { } if (is_component_build) { - link_target_type = "source_set" + link_target_type = "jumbo_source_set" } else { - link_target_type = "static_library" + link_target_type = "jumbo_static_library" } target(link_target_type, "service_sources") { # External code should depend on this via //gpu/command_buffer/service above @@ -481,7 +482,7 @@ proto_library("disk_cache_proto") { } if (is_android) { - static_library("android_texture_owner_test_support") { + jumbo_static_library("android_texture_owner_test_support") { testonly = true sources = [ "mock_abstract_texture.cc", diff --git a/chromium/gpu/config/BUILD.gn b/chromium/gpu/config/BUILD.gn index 569657ae262..3c4c04cd22d 100644 --- a/chromium/gpu/config/BUILD.gn +++ b/chromium/gpu/config/BUILD.gn @@ -4,6 +4,7 @@ import("//build/config/chrome_build.gni") import("//build/config/chromecast_build.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//gpu/vulkan/features.gni") @@ -117,7 +118,7 @@ if (enable_vulkan) { } } -source_set("config_sources") { +jumbo_source_set("config_sources") { # External code should depend on this via //gpu/config above rather than # depending on this directly or the component build will break. visibility = [ "//gpu/*" ] diff --git a/chromium/gpu/ipc/service/BUILD.gn b/chromium/gpu/ipc/service/BUILD.gn index 1b35cbec570..f8969c150cd 100644 --- a/chromium/gpu/ipc/service/BUILD.gn +++ b/chromium/gpu/ipc/service/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//gpu/vulkan/features.gni") import("//testing/test.gni") @@ -13,7 +14,7 @@ declare_args() { subpixel_font_rendering_disabled = false } -component("service") { +jumbo_component("service") { output_name = "gpu_ipc_service" sources = [ "command_buffer_stub.cc", diff --git a/chromium/media/base/BUILD.gn b/chromium/media/base/BUILD.gn index 676eb651405..cc7ee460a80 100644 --- a/chromium/media/base/BUILD.gn +++ b/chromium/media/base/BUILD.gn @@ -5,6 +5,7 @@ import("//build/config/android/config.gni") import("//build/config/arm.gni") import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//build/config/linux/pkg_config.gni") import("//build/config/ui.gni") import("//media/media_options.gni") @@ -14,7 +15,7 @@ if (is_android) { import("//build/config/android/rules.gni") } -source_set("base") { +jumbo_source_set("base") { # Do not expand the visibility here without double-checking with OWNERS, this # is a roll-up target which is part of the //media component. Most other DEPs # should be using //media and not directly DEP this roll-up target. diff --git a/chromium/media/base/android/BUILD.gn b/chromium/media/base/android/BUILD.gn index 39766b7c387..7d835a4dfb1 100644 --- a/chromium/media/base/android/BUILD.gn +++ b/chromium/media/base/android/BUILD.gn @@ -4,6 +4,7 @@ import("//build/config/android/config.gni") import("//build/config/arm.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//media/media_options.gni") @@ -13,7 +14,7 @@ if (is_android) { # This is bundled into //media, so all dependencies should be on //media. # APK targets that depend on this indirectly, should also # depend on :media_java to get the corresponding Java classes. - source_set("android") { + jumbo_source_set("android") { visibility = [ "//media", "//media/filters", diff --git a/chromium/media/base/ipc/BUILD.gn b/chromium/media/base/ipc/BUILD.gn index c1112cbb9bf..a846bec9e1a 100644 --- a/chromium/media/base/ipc/BUILD.gn +++ b/chromium/media/base/ipc/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -source_set("ipc") { +import("//build/config/jumbo.gni") + +jumbo_source_set("ipc") { sources = [ "media_param_traits.cc", "media_param_traits.h", diff --git a/chromium/media/base/mac/BUILD.gn b/chromium/media/base/mac/BUILD.gn index 7b16b9833cd..ff0b92e74b0 100644 --- a/chromium/media/base/mac/BUILD.gn +++ b/chromium/media/base/mac/BUILD.gn @@ -9,9 +9,11 @@ import("//build/config/deprecated_default_sources_assignment_filter.gni") set_sources_assignment_filter(deprecated_default_sources_assignment_filter) +import("//build/config/jumbo.gni") + assert(is_apple) -source_set("mac") { +jumbo_source_set("mac") { # Note: This source_set is depended on only by //media. In the component # build, if other component targets also depend on it, multiple copies of # the ObjC classes declared in the files below will cause warnings at diff --git a/chromium/media/base/win/BUILD.gn b/chromium/media/base/win/BUILD.gn index b3b33bd42d2..93a57067815 100644 --- a/chromium/media/base/win/BUILD.gn +++ b/chromium/media/base/win/BUILD.gn @@ -9,6 +9,8 @@ import("//build/config/deprecated_default_sources_assignment_filter.gni") set_sources_assignment_filter(deprecated_default_sources_assignment_filter) +import("//build/config/jumbo.gni") + assert(is_win) config("delay_load_mf") { @@ -19,7 +21,7 @@ config("delay_load_mf") { ] } -component("media_foundation_util") { +jumbo_component("media_foundation_util") { defines = [ "MF_INITIALIZER_IMPLEMENTATION" ] set_sources_assignment_filter([]) sources = [ diff --git a/chromium/media/capture/BUILD.gn b/chromium/media/capture/BUILD.gn index 0a27e9d3a09..c9986f35cc3 100644 --- a/chromium/media/capture/BUILD.gn +++ b/chromium/media/capture/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//media/media_options.gni") import("//testing/test.gni") @@ -34,7 +35,7 @@ component("capture_switches") { } # Things needed by //media/capture/mojom/video_capture_types.mojom. -component("capture_base") { +jumbo_component("capture_base") { defines = [ "CAPTURE_IMPLEMENTATION" ] sources = [ "capture_export.h", @@ -54,7 +55,7 @@ component("capture_base") { } # Target which allows breakout of Android BUILD.gn files. -source_set("capture_device_specific") { +jumbo_source_set("capture_device_specific") { visibility = [ ":capture_lib", "//media/capture/content/android", @@ -110,7 +111,7 @@ source_set("capture_device_specific") { ] } -component("capture_lib") { +jumbo_component("capture_lib") { defines = [ "CAPTURE_IMPLEMENTATION" ] sources = [ "video/create_video_capture_device_factory.cc", diff --git a/chromium/media/cast/BUILD.gn b/chromium/media/cast/BUILD.gn index e2968a1afef..668853f7633 100644 --- a/chromium/media/cast/BUILD.gn +++ b/chromium/media/cast/BUILD.gn @@ -4,6 +4,7 @@ import("//build/config/android/config.gni") import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/test.gni") import("//third_party/protobuf/proto_library.gni") @@ -13,7 +14,7 @@ proto_library("logging_proto") { } # Common code shared by all cast components. -source_set("common") { +jumbo_source_set("common") { sources = [ "cast_config.cc", "cast_config.h", @@ -64,7 +65,7 @@ source_set("common") { ] } -source_set("net") { +jumbo_source_set("net") { sources = [ "net/cast_transport.h", "net/cast_transport_config.cc", @@ -116,7 +117,7 @@ source_set("net") { public_deps = [ ":common" ] } -source_set("sender") { +jumbo_source_set("sender") { sources = [ "cast_sender.h", "cast_sender_impl.cc", @@ -180,7 +181,7 @@ source_set("sender") { } } -source_set("receiver") { +jumbo_source_set("receiver") { sources = [ "cast_receiver.h", "net/rtp/cast_message_builder.cc", diff --git a/chromium/media/filters/BUILD.gn b/chromium/media/filters/BUILD.gn index e192b5d546a..4edf43d3d03 100644 --- a/chromium/media/filters/BUILD.gn +++ b/chromium/media/filters/BUILD.gn @@ -2,11 +2,12 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//media/gpu/args.gni") import("//media/media_options.gni") import("//third_party/libaom/options.gni") -source_set("filters") { +jumbo_source_set("filters") { # Do not expand the visibility here without double-checking with OWNERS, this # is a roll-up target which is part of the //media component. Most other DEPs # should be using //media and not directly DEP this roll-up target. diff --git a/chromium/media/media_options.gni b/chromium/media/media_options.gni index e0421429cbd..32c021e390c 100644 --- a/chromium/media/media_options.gni +++ b/chromium/media/media_options.gni @@ -6,6 +6,7 @@ import("//build/config/chrome_build.gni") import("//build/config/chromecast_build.gni") import("//build/config/chromeos/args.gni") import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//media/gpu/args.gni") import("//testing/libfuzzer/fuzzer_test.gni") import("//third_party/libaom/options.gni") @@ -94,8 +95,10 @@ declare_args() { # Enable HLS with SAMPLE-AES decryption. enable_hls_sample_aes = proprietary_codecs && (is_chromecast || is_fuchsia) - # Enable logging override, e.g. enable DVLOGs at build time. - enable_logging_override = is_chromecast + # Enable logging override, e.g. enable DVLOGs at build time. Must not be + # enabled when |use_jumbo_build| is true, in which case multiple .cc files + # are combined and we could override more logging than expected. + enable_logging_override = !use_jumbo_build && is_chromecast enable_dav1d_decoder = !is_android && !is_ios @@ -112,6 +115,9 @@ declare_args() { # enable_hls_sample_aes can only be true if enable_mse_mpeg2ts_stream_parser is. assert(enable_mse_mpeg2ts_stream_parser || !enable_hls_sample_aes) +# Logging override must not be enabled in jumbo builds. +assert(!use_jumbo_build || !enable_logging_override) + if (media_use_ffmpeg) { media_subcomponent_deps += [ "//media/ffmpeg" ] } diff --git a/chromium/media/mojo/clients/BUILD.gn b/chromium/media/mojo/clients/BUILD.gn index 994a5f13c59..85833a85f46 100644 --- a/chromium/media/mojo/clients/BUILD.gn +++ b/chromium/media/mojo/clients/BUILD.gn @@ -2,8 +2,10 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") + # Implementations of media C++ interfaces using corresponding mojo services. -source_set("clients") { +jumbo_source_set("clients") { visibility = [ "//chromecast/*", diff --git a/chromium/media/mojo/common/BUILD.gn b/chromium/media/mojo/common/BUILD.gn index 384e9946cd4..e3ea90c87c1 100644 --- a/chromium/media/mojo/common/BUILD.gn +++ b/chromium/media/mojo/common/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -source_set("common") { +import("//build/config/jumbo.gni") + +jumbo_source_set("common") { sources = [ "media_type_converters.cc", "media_type_converters.h", diff --git a/chromium/media/mojo/services/BUILD.gn b/chromium/media/mojo/services/BUILD.gn index f14406826ba..0782f9fd29d 100644 --- a/chromium/media/mojo/services/BUILD.gn +++ b/chromium/media/mojo/services/BUILD.gn @@ -3,10 +3,11 @@ # found in the LICENSE file. import("//build/config/chromecast_build.gni") +import("//build/config/jumbo.gni") import("//media/media_options.gni") import("//testing/test.gni") -component("services") { +jumbo_component("services") { output_name = "media_mojo_services" sources = [ "deferred_destroy_unique_receiver_set.h", diff --git a/chromium/mojo/public/tools/bindings/mojom.gni b/chromium/mojo/public/tools/bindings/mojom.gni index 6750234157c..ca828517710 100644 --- a/chromium/mojo/public/tools/bindings/mojom.gni +++ b/chromium/mojo/public/tools/bindings/mojom.gni @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//third_party/closure_compiler/closure_args.gni") import("//third_party/closure_compiler/compile_js.gni") import("//third_party/protobuf/proto_library.gni") @@ -827,7 +828,7 @@ template("mojom") { } shared_cpp_sources_target_name = "${target_name}_shared_cpp_sources" - source_set(shared_cpp_sources_target_name) { + jumbo_source_set(shared_cpp_sources_target_name) { if (defined(invoker.testonly)) { testonly = invoker.testonly } @@ -1329,7 +1330,7 @@ template("mojom") { js_data_deps_target_name = target_name + "_js_data_deps" not_needed([ "js_data_deps_target_name" ]) - target(output_target_type, "${target_name}${variant_suffix}") { + target("jumbo_" + output_target_type, "${target_name}${variant_suffix}") { if (defined(output_name_override)) { output_name = output_name_override } diff --git a/chromium/ppapi/cpp/BUILD.gn b/chromium/ppapi/cpp/BUILD.gn index c2efff9dd85..4dc96b57443 100644 --- a/chromium/ppapi/cpp/BUILD.gn +++ b/chromium/ppapi/cpp/BUILD.gn @@ -2,6 +2,8 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") + if (is_nacl) { import("//build/config/nacl/config.gni") } @@ -9,7 +11,7 @@ if (is_nacl) { if (is_nacl && is_nacl_glibc) { cpp_target_type = "shared_library" } else { - cpp_target_type = "static_library" + cpp_target_type = "jumbo_static_library" } # Link to this target to get the PPAPI C++ wrapper objects and plugin startup @@ -50,7 +52,7 @@ target(cpp_target_type, "cpp") { # Link to this target to get only the PPAPI C++ wrapper objects but not the # plugin startup code. Some plugins need special startup code that they supply # themselves. -source_set("objects") { +jumbo_source_set("objects") { sources = [ "array_output.cc", "array_output.h", diff --git a/chromium/ppapi/host/BUILD.gn b/chromium/ppapi/host/BUILD.gn index b9c867effae..2a459f799ba 100644 --- a/chromium/ppapi/host/BUILD.gn +++ b/chromium/ppapi/host/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("host") { +import("//build/config/jumbo.gni") + +jumbo_component("host") { output_name = "ppapi_host" sources = [ diff --git a/chromium/ppapi/proxy/BUILD.gn b/chromium/ppapi/proxy/BUILD.gn index b526321f775..9ca1a19e00d 100644 --- a/chromium/ppapi/proxy/BUILD.gn +++ b/chromium/ppapi/proxy/BUILD.gn @@ -2,15 +2,22 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/nacl/config.gni") config("proxy_implementation") { defines = [ "PPAPI_PROXY_IMPLEMENTATION" ] } -component("proxy") { +jumbo_component("proxy") { output_name = "ppapi_proxy" + if (is_nacl) { + # The nacl toolchain has template related bugs that are triggered + # in jumbo builds. https://crbug.com/912152 + never_build_jumbo = true + } + sources = [ # Take some standalone files from the C++ wrapper allowing us to more # easily make async callbacks in the proxy. We can't depend on the @@ -355,7 +362,7 @@ source_set("ipc_sources") { } } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ diff --git a/chromium/ppapi/shared_impl/BUILD.gn b/chromium/ppapi/shared_impl/BUILD.gn index f70fcdbed46..110d2e21c89 100644 --- a/chromium/ppapi/shared_impl/BUILD.gn +++ b/chromium/ppapi/shared_impl/BUILD.gn @@ -2,11 +2,18 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/nacl/config.gni") -component("shared_impl") { +jumbo_component("shared_impl") { output_name = "ppapi_shared" + if (is_nacl) { + # The nacl toolchain has template related bugs that are triggered + # in jumbo builds. https://crbug.com/912152 + never_build_jumbo = true + } + sources = [ "array_var.cc", "array_var.h", diff --git a/chromium/services/cert_verifier/cert_net_url_loader/BUILD.gn b/chromium/services/cert_verifier/cert_net_url_loader/BUILD.gn index 3efdc1e8994..009e8c23e52 100644 --- a/chromium/services/cert_verifier/cert_net_url_loader/BUILD.gn +++ b/chromium/services/cert_verifier/cert_net_url_loader/BUILD.gn @@ -3,9 +3,10 @@ # found in the LICENSE file. import("//build/config/crypto.gni") +import("//build/config/jumbo.gni") import("//testing/test.gni") -component("cert_net_url_loader") { +jumbo_component("cert_net_url_loader") { sources = [ "cert_net_fetcher_url_loader.cc", "cert_net_fetcher_url_loader.h", diff --git a/chromium/services/network/BUILD.gn b/chromium/services/network/BUILD.gn index 294695ec053..da00765a048 100644 --- a/chromium/services/network/BUILD.gn +++ b/chromium/services/network/BUILD.gn @@ -2,12 +2,13 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//mojo/public/tools/bindings/mojom.gni") import("//net/features.gni") import("//services/network/public/cpp/features.gni") import("//testing/libfuzzer/fuzzer_test.gni") -component("network_service") { +jumbo_component("network_service") { sources = [ "chunked_data_pipe_upload_data_stream.cc", "chunked_data_pipe_upload_data_stream.h", @@ -417,7 +418,7 @@ source_set("tests") { } } -source_set("test_support") { +jumbo_source_set("test_support") { testonly = true sources = [ diff --git a/chromium/services/network/public/cpp/BUILD.gn b/chromium/services/network/public/cpp/BUILD.gn index 3e240ba3c7a..0e29b3af140 100644 --- a/chromium/services/network/public/cpp/BUILD.gn +++ b/chromium/services/network/public/cpp/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/buildflag_header.gni") +import("//build/config/jumbo.gni") import("//mojo/public/tools/bindings/mojom.gni") import("//services/network/public/cpp/features.gni") import("//testing/libfuzzer/fuzzer_test.gni") @@ -12,7 +13,7 @@ buildflag_header("buildflags") { flags = [ "IS_CT_SUPPORTED=$is_ct_supported" ] } -component("crash_keys") { +jumbo_component("crash_keys") { sources = [ "crash_keys.cc", "crash_keys.h", @@ -21,7 +22,7 @@ component("crash_keys") { defines = [ "IS_NETWORK_CPP_CRASH_KEYS_IMPL" ] } -component("cpp") { +jumbo_component("cpp") { output_name = "network_cpp" sources = [ @@ -199,7 +200,7 @@ component("cross_origin_embedder_policy") { defines = [ "IS_NETWORK_CPP_BASE_IMPL" ] } -component("cpp_base") { +jumbo_component("cpp_base") { output_name = "network_cpp_base" sources = [ diff --git a/chromium/storage/browser/BUILD.gn b/chromium/storage/browser/BUILD.gn index 3ac459e3459..e0f6590320d 100644 --- a/chromium/storage/browser/BUILD.gn +++ b/chromium/storage/browser/BUILD.gn @@ -1,10 +1,11 @@ # Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//mojo/public/tools/bindings/mojom.gni") import("//testing/test.gni") -component("browser") { +jumbo_component("browser") { output_name = "storage_browser" sources = [ "blob/blob_builder_from_stream.cc", @@ -336,7 +337,7 @@ source_set("unittests") { ] } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ diff --git a/chromium/third_party/blink/common/BUILD.gn b/chromium/third_party/blink/common/BUILD.gn index cd2031c669b..15c456e07cd 100644 --- a/chromium/third_party/blink/common/BUILD.gn +++ b/chromium/third_party/blink/common/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//media/media_options.gni") import("//testing/libfuzzer/fuzzer_test.gni") import("//testing/test.gni") @@ -53,7 +54,7 @@ config("blink_common_implementation") { defines = [ "BLINK_COMMON_IMPLEMENTATION=1" ] } -source_set("common") { +jumbo_source_set("common") { # No target should directly depend on this target since this is just the # source set rather than the actual component that can be linked to. # Dependencies instead should be to //third_party/blink/public/common:common. @@ -235,7 +236,7 @@ test("blink_common_unittests") { } } -source_set("common_unittests_sources") { +jumbo_source_set("common_unittests_sources") { testonly = true sources = [ diff --git a/chromium/third_party/blink/renderer/bindings/core/v8/BUILD.gn b/chromium/third_party/blink/renderer/bindings/core/v8/BUILD.gn index 90e4e5de593..76e173a3d27 100644 --- a/chromium/third_party/blink/renderer/bindings/core/v8/BUILD.gn +++ b/chromium/third_party/blink/renderer/bindings/core/v8/BUILD.gn @@ -37,7 +37,7 @@ blink_core_sources("v8") { ] } -source_set("testing") { +jumbo_source_set("testing") { testonly = true visibility = [] @@ -186,7 +186,7 @@ blink_core_sources("bindings_core_impl") { # Compile the test sources generated above. This test target doesn't count # as part of the "core" component so shouldn't use the blink_core_sources for # linking on Windows. -source_set("testing_internal") { +jumbo_source_set("testing_internal") { testonly = true sources = [] diff --git a/chromium/third_party/blink/renderer/bindings/modules/v8/BUILD.gn b/chromium/third_party/blink/renderer/bindings/modules/v8/BUILD.gn index 2f311abd23c..f6fefc93110 100644 --- a/chromium/third_party/blink/renderer/bindings/modules/v8/BUILD.gn +++ b/chromium/third_party/blink/renderer/bindings/modules/v8/BUILD.gn @@ -37,7 +37,7 @@ blink_modules_sources("v8") { ] } -source_set("testing") { +jumbo_source_set("testing") { testonly = true visibility = [] diff --git a/chromium/third_party/blink/renderer/controller/BUILD.gn b/chromium/third_party/blink/renderer/controller/BUILD.gn index 7b5b8f742ee..c89cbe6cd5e 100644 --- a/chromium/third_party/blink/renderer/controller/BUILD.gn +++ b/chromium/third_party/blink/renderer/controller/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/test.gni") import("//third_party/blink/renderer/bindings/bindings.gni") @@ -11,7 +12,7 @@ import("//third_party/blink/renderer/modules/modules.gni") visibility = [ "//third_party/blink/*" ] -component("controller") { +jumbo_component("controller") { output_name = "blink_controller" deps = [ @@ -146,7 +147,7 @@ test("blink_perf_tests") { deps = [ ":blink_perf_tests_sources" ] } -source_set("blink_perf_tests_sources") { +jumbo_source_set("blink_perf_tests_sources") { visibility = [] # Allow re-assignment of list. visibility = [ "*" ] testonly = true @@ -190,7 +191,7 @@ source_set("blink_bindings_test_sources") { ] } -source_set("blink_unittests_sources") { +jumbo_source_set("blink_unittests_sources") { visibility = [] # Allow re-assignment of list. visibility = [ "*" ] testonly = true diff --git a/chromium/third_party/blink/renderer/core/BUILD.gn b/chromium/third_party/blink/renderer/core/BUILD.gn index 5bc0a30d400..1b10ab1a079 100644 --- a/chromium/third_party/blink/renderer/core/BUILD.gn +++ b/chromium/third_party/blink/renderer/core/BUILD.gn @@ -216,7 +216,7 @@ component("core") { } } -source_set("testing") { +jumbo_source_set("testing") { testonly = true configs += [ @@ -953,7 +953,7 @@ if (is_component_build) { core_generated_target_type = "static_library" } -target(core_generated_target_type, "core_generated") { +target("jumbo_" + core_generated_target_type, "core_generated") { sources = bindings_core_v8_files # Add all sources generated by the targets above. @@ -1028,7 +1028,7 @@ fuzzer_test("text_resource_decoder_fuzzer") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "clipboard/clipboard_utilities_test.cc", @@ -1500,7 +1500,7 @@ group("unit_tests_data") { ] } -source_set("perf_tests") { +jumbo_source_set("perf_tests") { testonly = true sources = [ "layout/visual_rect_mapping_perftest.cc" ] @@ -1519,7 +1519,7 @@ source_set("perf_tests") { ] } -source_set("unit_test_support") { +jumbo_source_set("unit_test_support") { testonly = true sources = [ "frame/frame_test_helpers.cc", diff --git a/chromium/third_party/blink/renderer/core/core.gni b/chromium/third_party/blink/renderer/core/core.gni index 9e76841d4bc..1298f78549a 100644 --- a/chromium/third_party/blink/renderer/core/core.gni +++ b/chromium/third_party/blink/renderer/core/core.gni @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/chrome_build.gni") +import("//build/config/jumbo.gni") import("//third_party/blink/renderer/config.gni") blink_core_output_dir = "$root_gen_dir/third_party/blink/renderer/core" @@ -54,9 +55,9 @@ core_config_add += blink_symbols_config # Normal meaning if defined. If undefined, defaults to everything in core. template("blink_core_sources") { if (is_component_build) { - target_type = "source_set" + target_type = "jumbo_source_set" } else { - target_type = "static_library" + target_type = "jumbo_static_library" } target(target_type, target_name) { # The visibility will get overridden by forward_variables_from below if the @@ -94,7 +95,7 @@ set_defaults("blink_core_sources") { } template("blink_core_tests") { - source_set(target_name) { + jumbo_source_set(target_name) { # The visibility will get overridden by forward_variables_from below if the # invoker defined it. visibility = [ "//third_party/blink/renderer/core/*" ] diff --git a/chromium/third_party/blink/renderer/core/editing/BUILD.gn b/chromium/third_party/blink/renderer/core/editing/BUILD.gn index 928a70e2d7a..177b5022648 100644 --- a/chromium/third_party/blink/renderer/core/editing/BUILD.gn +++ b/chromium/third_party/blink/renderer/core/editing/BUILD.gn @@ -354,7 +354,7 @@ blink_core_sources("editing") { } } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "commands/apply_block_element_command_test.cc", diff --git a/chromium/third_party/blink/renderer/core/fileapi/BUILD.gn b/chromium/third_party/blink/renderer/core/fileapi/BUILD.gn index 3857d437fb3..d6b3ff11937 100644 --- a/chromium/third_party/blink/renderer/core/fileapi/BUILD.gn +++ b/chromium/third_party/blink/renderer/core/fileapi/BUILD.gn @@ -29,7 +29,7 @@ blink_core_sources("fileapi") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "file_list_test.cc", diff --git a/chromium/third_party/blink/renderer/core/inspector/BUILD.gn b/chromium/third_party/blink/renderer/core/inspector/BUILD.gn index e7ed542d5e4..6296ef3408b 100644 --- a/chromium/third_party/blink/renderer/core/inspector/BUILD.gn +++ b/chromium/third_party/blink/renderer/core/inspector/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//third_party/blink/renderer/bindings/bindings.gni") import("//third_party/blink/renderer/core/core.gni") import("//third_party/inspector_protocol/inspector_protocol.gni") @@ -204,7 +205,7 @@ inspector_protocol_generate("protocol_sources") { } # Compiles the sources generated above. -source_set("generated") { +jumbo_source_set("generated") { sources = get_target_outputs(":protocol_sources") configs -= core_config_remove diff --git a/chromium/third_party/blink/renderer/core/mojo/BUILD.gn b/chromium/third_party/blink/renderer/core/mojo/BUILD.gn index 923c5a63ed3..ef3f9574065 100644 --- a/chromium/third_party/blink/renderer/core/mojo/BUILD.gn +++ b/chromium/third_party/blink/renderer/core/mojo/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//mojo/public/tools/bindings/mojom.gni") import("//third_party/blink/renderer/core/core.gni") @@ -31,7 +32,7 @@ blink_core_sources("mojo") { public_deps = [ "//third_party/blink/renderer/core:core_generated" ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "tests/js_to_cpp_test.cc" ] diff --git a/chromium/third_party/blink/renderer/modules/BUILD.gn b/chromium/third_party/blink/renderer/modules/BUILD.gn index 642e154af54..646dc427daf 100644 --- a/chromium/third_party/blink/renderer/modules/BUILD.gn +++ b/chromium/third_party/blink/renderer/modules/BUILD.gn @@ -27,7 +27,7 @@ make_names("module_names") { deps = [] # Don't use default deps (otherwise it will be circular). } -component("modules") { +jumbo_component("modules") { output_name = "blink_modules" visibility = [] # Allow re-assignment of list. @@ -201,7 +201,7 @@ component("modules") { configs += blink_optimization_config } -source_set("modules_testing") { +jumbo_source_set("modules_testing") { testonly = true sources = [ @@ -265,7 +265,7 @@ group("make_modules_generated") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ diff --git a/chromium/third_party/blink/renderer/modules/gamepad/BUILD.gn b/chromium/third_party/blink/renderer/modules/gamepad/BUILD.gn index ea4c2eb0776..e7588bb6a30 100644 --- a/chromium/third_party/blink/renderer/modules/gamepad/BUILD.gn +++ b/chromium/third_party/blink/renderer/modules/gamepad/BUILD.gn @@ -39,7 +39,7 @@ blink_modules_sources("gamepad") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "gamepad_comparisons_test.cc" ] diff --git a/chromium/third_party/blink/renderer/modules/hid/BUILD.gn b/chromium/third_party/blink/renderer/modules/hid/BUILD.gn index 805fea0e881..d15138bcfeb 100644 --- a/chromium/third_party/blink/renderer/modules/hid/BUILD.gn +++ b/chromium/third_party/blink/renderer/modules/hid/BUILD.gn @@ -19,7 +19,7 @@ blink_modules_sources("hid") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "hid_device_test.cc" ] diff --git a/chromium/third_party/blink/renderer/modules/media/BUILD.gn b/chromium/third_party/blink/renderer/modules/media/BUILD.gn index 77ea92275ef..1a94b082b19 100644 --- a/chromium/third_party/blink/renderer/modules/media/BUILD.gn +++ b/chromium/third_party/blink/renderer/modules/media/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//third_party/blink/renderer/modules/modules.gni") blink_modules_sources("media") { diff --git a/chromium/third_party/blink/renderer/modules/mediastream/BUILD.gn b/chromium/third_party/blink/renderer/modules/mediastream/BUILD.gn index 11b02076b1c..2a027f49d4d 100644 --- a/chromium/third_party/blink/renderer/modules/mediastream/BUILD.gn +++ b/chromium/third_party/blink/renderer/modules/mediastream/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//third_party/blink/renderer/modules/modules.gni") blink_modules_sources("mediastream") { @@ -107,7 +108,7 @@ blink_modules_sources("mediastream") { public_deps = [ "//media/capture:capture_lib" ] } -source_set("test_support") { +jumbo_source_set("test_support") { testonly = true sources = [ diff --git a/chromium/third_party/blink/renderer/modules/modules.gni b/chromium/third_party/blink/renderer/modules/modules.gni index 24badc49d7b..aed5f431201 100644 --- a/chromium/third_party/blink/renderer/modules/modules.gni +++ b/chromium/third_party/blink/renderer/modules/modules.gni @@ -7,6 +7,7 @@ # This file is shared with all modules' BUILD files which shouldn't need access # to the huge and slow lists of sources. If sharing is necessary, make a # separate .gni. +import("//build/config/jumbo.gni") import("//third_party/blink/renderer/config.gni") blink_modules_output_dir = "$root_gen_dir/third_party/blink/renderer/modules" @@ -25,7 +26,7 @@ template("blink_modules_sources") { target_type = "static_library" } - target(target_type, target_name) { + target("jumbo_" + target_type, target_name) { # The visibility will get overridden by forward_variables_from below if the # invoker defined it. visibility = [ "//third_party/blink/renderer/modules/*" ] diff --git a/chromium/third_party/blink/renderer/modules/peerconnection/BUILD.gn b/chromium/third_party/blink/renderer/modules/peerconnection/BUILD.gn index a49e0771fcf..f027e4fab37 100644 --- a/chromium/third_party/blink/renderer/modules/peerconnection/BUILD.gn +++ b/chromium/third_party/blink/renderer/modules/peerconnection/BUILD.gn @@ -183,7 +183,7 @@ blink_modules_sources("peerconnection") { } } -source_set("test_support") { +jumbo_source_set("test_support") { testonly = true sources = [ diff --git a/chromium/third_party/blink/renderer/modules/storage/BUILD.gn b/chromium/third_party/blink/renderer/modules/storage/BUILD.gn index 01d50276fb3..8c3aef5c420 100644 --- a/chromium/third_party/blink/renderer/modules/storage/BUILD.gn +++ b/chromium/third_party/blink/renderer/modules/storage/BUILD.gn @@ -27,7 +27,7 @@ blink_modules_sources("storage") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "cached_storage_area_test.cc", diff --git a/chromium/third_party/blink/renderer/modules/webrtc/BUILD.gn b/chromium/third_party/blink/renderer/modules/webrtc/BUILD.gn index c00e88a641c..80e0329c7db 100644 --- a/chromium/third_party/blink/renderer/modules/webrtc/BUILD.gn +++ b/chromium/third_party/blink/renderer/modules/webrtc/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//third_party/blink/renderer/modules/modules.gni") blink_modules_sources("webrtc") { diff --git a/chromium/third_party/blink/renderer/modules/webtransport/BUILD.gn b/chromium/third_party/blink/renderer/modules/webtransport/BUILD.gn index 4072c3bcc2a..62fcbe03771 100644 --- a/chromium/third_party/blink/renderer/modules/webtransport/BUILD.gn +++ b/chromium/third_party/blink/renderer/modules/webtransport/BUILD.gn @@ -24,7 +24,7 @@ blink_modules_sources("webtransport") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "bidirectional_stream_test.cc", diff --git a/chromium/third_party/blink/renderer/platform/BUILD.gn b/chromium/third_party/blink/renderer/platform/BUILD.gn index a63f64a0130..5efd58e2975 100644 --- a/chromium/third_party/blink/renderer/platform/BUILD.gn +++ b/chromium/third_party/blink/renderer/platform/BUILD.gn @@ -6,6 +6,7 @@ import("//build/buildflag_header.gni") import("//build/compiled_action.gni") import("//build/config/compiler/compiler.gni") import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//media/media_options.gni") import("//skia/features.gni") @@ -251,7 +252,7 @@ source_set("platform_export") { ] } -component("platform") { +jumbo_component("platform") { visibility = [] # Allow re-assignment of list. visibility = [ "//components/pdf/common:interfaces_blink", @@ -1773,7 +1774,7 @@ component("platform") { configs += blink_symbols_config } -static_library("test_support") { +jumbo_static_library("test_support") { visibility += [ "//third_party/blink/*" ] testonly = true @@ -1894,7 +1895,7 @@ test("blink_platform_unittests") { deps = [ ":blink_platform_unittests_sources" ] } -source_set("blink_platform_unittests_sources") { +jumbo_source_set("blink_platform_unittests_sources") { visibility = [] # Allow re-assignment of list. visibility = [ "*" ] testonly = true @@ -2309,7 +2310,7 @@ test("blink_fuzzer_unittests") { # This source set is used for fuzzers that need an environment similar to unit # tests. -source_set("blink_fuzzer_test_support") { +jumbo_source_set("blink_fuzzer_test_support") { testonly = true visibility = [] # Allow re-assignment of list. visibility = [ "*" ] @@ -2432,7 +2433,7 @@ blink_text_codec_fuzzer("WINDOWS_1252") { # NOTE: These are legacy unit tests and tests that require a Platform # object. Do not add more unless the test requires a Platform object. # These tests are a part of the blink_unittests binary. -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true visibility = [] visibility = [ "//third_party/blink/renderer/*" ] diff --git a/chromium/third_party/blink/renderer/platform/blob/BUILD.gn b/chromium/third_party/blink/renderer/platform/blob/BUILD.gn index 6a8743d8500..f18f3b71565 100644 --- a/chromium/third_party/blink/renderer/platform/blob/BUILD.gn +++ b/chromium/third_party/blink/renderer/platform/blob/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//third_party/blink/renderer/platform/platform.gni") # Intentionally depends on generator targets so to depend only on generated @@ -10,7 +11,7 @@ import("//third_party/blink/renderer/platform/platform.gni") # There is no tool to detect missing indirect generated header dependency today # and this is easy to be broken when mojom files are updated to depend on # another. -source_set("generator") { +jumbo_source_set("generator") { public_deps = [ "//third_party/blink/public/mojom:mojom_platform_blink_headers", "//url/mojom:url_mojom_gurl_blink_headers", @@ -39,7 +40,7 @@ blink_platform_sources("blob") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { visibility = [ "//third_party/blink/renderer/platform:*" ] testonly = true @@ -60,7 +61,7 @@ source_set("unit_tests") { ] } -source_set("test_support") { +jumbo_source_set("test_support") { # This target defines test files for platform:test_support that # blink_platform_unittests and blink_unittests can use. visibility = [ "//third_party/blink/renderer/platform:test_support" ] diff --git a/chromium/third_party/blink/renderer/platform/heap/BUILD.gn b/chromium/third_party/blink/renderer/platform/heap/BUILD.gn index 7647b413521..faf3a8227f1 100644 --- a/chromium/third_party/blink/renderer/platform/heap/BUILD.gn +++ b/chromium/third_party/blink/renderer/platform/heap/BUILD.gn @@ -4,6 +4,7 @@ import("//build/buildflag_header.gni") import("//build/config/compiler/compiler.gni") +import("//build/config/jumbo.gni") import("//build/config/sanitizers/sanitizers.gni") import("//testing/test.gni") import("//third_party/blink/public/public_features.gni") @@ -19,7 +20,7 @@ buildflag_header("blink_heap_buildflags") { ] } -source_set("heap_unsanitized") { +jumbo_source_set("heap_unsanitized") { if (is_asan) { configs -= [ "//build/config/sanitizers:default_sanitizer_flags" ] } @@ -127,7 +128,7 @@ blink_platform_sources("heap") { ] } -source_set("test_support") { +jumbo_source_set("test_support") { testonly = true sources = [ @@ -157,7 +158,7 @@ test("blink_heap_unittests") { } } -source_set("blink_heap_unittests_sources") { +jumbo_source_set("blink_heap_unittests_sources") { testonly = true sources = [ "../testing/run_all_tests.cc", diff --git a/chromium/third_party/blink/renderer/platform/instrumentation/BUILD.gn b/chromium/third_party/blink/renderer/platform/instrumentation/BUILD.gn index 7aace6a4a06..b1706ff8c87 100644 --- a/chromium/third_party/blink/renderer/platform/instrumentation/BUILD.gn +++ b/chromium/third_party/blink/renderer/platform/instrumentation/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//third_party/blink/renderer/platform/platform.gni") blink_platform_sources("instrumentation") { @@ -43,7 +44,7 @@ blink_platform_sources("instrumentation") { allow_circular_includes_from = public_deps } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ diff --git a/chromium/third_party/blink/renderer/platform/loader/BUILD.gn b/chromium/third_party/blink/renderer/platform/loader/BUILD.gn index 1069a982c97..da22926faed 100644 --- a/chromium/third_party/blink/renderer/platform/loader/BUILD.gn +++ b/chromium/third_party/blink/renderer/platform/loader/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//third_party/blink/renderer/build/scripts/scripts.gni") import("//third_party/blink/renderer/platform/platform.gni") import("//third_party/blink/renderer/platform/platform_generated.gni") @@ -156,7 +157,7 @@ blink_platform_sources("loader") { [ "//third_party/blink/renderer/platform/network:network" ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { # This target defines test files for blink_platform_unittests and only the # blink_platform_unittests target should depend on it. visibility = [ "//third_party/blink/renderer/platform:*" ] @@ -210,7 +211,7 @@ source_set("unit_tests") { ] } -source_set("test_support") { +jumbo_source_set("test_support") { # This target defines test files for platform:test_support that # blink_platform_unittests and blink_unittests can use. visibility = [ "//third_party/blink/renderer/platform:test_support" ] diff --git a/chromium/third_party/blink/renderer/platform/network/BUILD.gn b/chromium/third_party/blink/renderer/platform/network/BUILD.gn index bc7db98fabb..27c222d0a56 100644 --- a/chromium/third_party/blink/renderer/platform/network/BUILD.gn +++ b/chromium/third_party/blink/renderer/platform/network/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//third_party/blink/renderer/build/scripts/scripts.gni") import("//third_party/blink/renderer/platform/platform.gni") import("//third_party/blink/renderer/platform/platform_generated.gni") @@ -71,7 +72,7 @@ blink_platform_sources("network") { ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { visibility = [ "//third_party/blink/renderer/platform:*" ] testonly = true @@ -96,7 +97,7 @@ source_set("unit_tests") { public_deps = [ "//third_party/blink/renderer/platform:platform" ] } -source_set("test_support") { +jumbo_source_set("test_support") { visibility = [ "//third_party/blink/renderer/platform:test_support" ] testonly = true diff --git a/chromium/third_party/blink/renderer/platform/platform.gni b/chromium/third_party/blink/renderer/platform/platform.gni index eb8b78f4506..85a1a0a3c21 100644 --- a/chromium/third_party/blink/renderer/platform/platform.gni +++ b/chromium/third_party/blink/renderer/platform/platform.gni @@ -4,6 +4,8 @@ import("//third_party/blink/renderer/config.gni") +import("//build/config/jumbo.gni") + platform_config_add = [ "//build/config/compiler:no_size_t_to_int_warning", "//build/config/compiler:wexit_time_destructors", @@ -17,7 +19,7 @@ platform_config_add = [ platform_config_remove = [] template("blink_platform_sources") { - source_set(target_name) { + jumbo_source_set(target_name) { # Only platform can directly depend on this. # Any target outside platform should instead depend on platform. visibility = [ "//third_party/blink/renderer/platform/*" ] diff --git a/chromium/third_party/blink/renderer/platform/scheduler/BUILD.gn b/chromium/third_party/blink/renderer/platform/scheduler/BUILD.gn index c0e3c87512b..0c31e4c5438 100644 --- a/chromium/third_party/blink/renderer/platform/scheduler/BUILD.gn +++ b/chromium/third_party/blink/renderer/platform/scheduler/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//testing/libfuzzer/fuzzer_test.gni") import("//third_party/blink/renderer/platform/platform.gni") import("//third_party/protobuf/proto_library.gni") @@ -183,7 +184,7 @@ blink_platform_sources("scheduler") { ] } -source_set("test_support") { +jumbo_source_set("test_support") { testonly = true sources = [ @@ -213,7 +214,7 @@ source_set("test_support") { configs += [ "//third_party/blink/renderer/platform:blink_platform_config" ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ @@ -261,7 +262,7 @@ source_set("unit_tests") { configs += [ "//third_party/blink/renderer/platform:blink_platform_config" ] } -source_set("scheduler_fuzzer_tests") { +jumbo_source_set("scheduler_fuzzer_tests") { testonly = true sources = [] diff --git a/chromium/third_party/blink/renderer/platform/wtf/BUILD.gn b/chromium/third_party/blink/renderer/platform/wtf/BUILD.gn index 65741a38158..8e25699bd0e 100644 --- a/chromium/third_party/blink/renderer/platform/wtf/BUILD.gn +++ b/chromium/third_party/blink/renderer/platform/wtf/BUILD.gn @@ -5,6 +5,7 @@ assert(!is_ios) import("//build/config/compiler/compiler.gni") +import("//build/config/jumbo.gni") import("//testing/test.gni") import("//third_party/blink/renderer/config.gni") @@ -39,7 +40,7 @@ config("wtf_config") { } } -component("wtf") { +jumbo_component("wtf") { sources = [ "allocator/allocator.cc", "allocator/allocator.h", @@ -268,7 +269,7 @@ test("wtf_unittests") { deps = [ ":wtf_unittests_sources" ] } -source_set("wtf_unittests_sources") { +jumbo_source_set("wtf_unittests_sources") { visibility = [] # Allow re-assignment of list. visibility = [ "*" ] testonly = true diff --git a/chromium/third_party/inspector_protocol/BUILD.gn b/chromium/third_party/inspector_protocol/BUILD.gn index 010eb28c9ae..0712db60a33 100644 --- a/chromium/third_party/inspector_protocol/BUILD.gn +++ b/chromium/third_party/inspector_protocol/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("crdtp") { +import("//build/config/jumbo.gni") + +jumbo_component("crdtp") { sources = [ "crdtp/cbor.cc", "crdtp/cbor.h", diff --git a/chromium/ui/accessibility/BUILD.gn b/chromium/ui/accessibility/BUILD.gn index 7fd8ad81027..b7fd359e201 100644 --- a/chromium/ui/accessibility/BUILD.gn +++ b/chromium/ui/accessibility/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//build/config/linux/pkg_config.gni") import("//build/config/ui.gni") import("//mojo/public/tools/bindings/mojom.gni") @@ -34,7 +35,7 @@ mojom_component("ax_enums_mojo") { # included by Blink. The rule of thumb (for now) is that it's # anything platform-neutral (no platform/ directory) that # relates to a single accessibility node (no trees, etc.). -component("ax_base") { +jumbo_component("ax_base") { defines = [ "AX_BASE_IMPLEMENTATION" ] sources = [ @@ -84,7 +85,7 @@ component("ax_base") { # } #} -component("accessibility") { +jumbo_component("accessibility") { defines = [ "AX_IMPLEMENTATION" ] sources = [ diff --git a/chromium/ui/accessibility/platform/BUILD.gn b/chromium/ui/accessibility/platform/BUILD.gn index b0172ab9a46..7afb57c710b 100644 --- a/chromium/ui/accessibility/platform/BUILD.gn +++ b/chromium/ui/accessibility/platform/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//build/config/linux/pkg_config.gni") import("//build/config/ui.gni") import("//mojo/public/tools/bindings/mojom.gni") diff --git a/chromium/ui/aura/BUILD.gn b/chromium/ui/aura/BUILD.gn index 76a5742b2f3..95fe829f868 100644 --- a/chromium/ui/aura/BUILD.gn +++ b/chromium/ui/aura/BUILD.gn @@ -2,10 +2,11 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/test.gni") -component("aura") { +jumbo_component("aura") { public = [ "client/aura_constants.h", "client/capture_client.h", @@ -179,7 +180,7 @@ component("aura") { configs += [ "//build/config/compiler:noshadowing" ] } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "test/aura_test_base.cc", diff --git a/chromium/ui/base/BUILD.gn b/chromium/ui/base/BUILD.gn index c2d009b9fe7..f86b7187b57 100644 --- a/chromium/ui/base/BUILD.gn +++ b/chromium/ui/base/BUILD.gn @@ -5,6 +5,7 @@ import("//build/buildflag_header.gni") import("//build/config/compiler/compiler.gni") import("//build/config/dcheck_always_on.gni") +import("//build/config/jumbo.gni") import("//build/config/linux/gtk/gtk.gni") import("//build/config/linux/pangocairo/pangocairo.gni") import("//build/config/sanitizers/sanitizers.gni") @@ -80,7 +81,7 @@ source_set("hit_test") { } } -component("base") { +jumbo_component("base") { output_name = "ui_base" sources = [ @@ -673,7 +674,7 @@ component("features") { # TODO(crbug.com/1091985): Support CrOS. if (is_win || is_mac || (is_linux && !is_chromeos)) { - static_library("pixel_diff_test_support") { + jumbo_static_library("pixel_diff_test_support") { testonly = true sources = [ "test/skia_gold_matching_algorithm.cc", @@ -711,7 +712,7 @@ if (!is_ios) { } } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "resource/mock_resource_bundle_delegate.cc", diff --git a/chromium/ui/base/clipboard/BUILD.gn b/chromium/ui/base/clipboard/BUILD.gn index 6f7a488ab26..71a8747b9f6 100644 --- a/chromium/ui/base/clipboard/BUILD.gn +++ b/chromium/ui/base/clipboard/BUILD.gn @@ -4,9 +4,10 @@ import("///ui/ozone/ozone.gni") import("//build/config/chromeos/ui_mode.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") -component("clipboard_types") { +jumbo_component("clipboard_types") { output_name = "ui_base_clipboard_types" sources = [ "clipboard_buffer.h", @@ -53,7 +54,7 @@ component("clipboard_types") { } } -component("clipboard") { +jumbo_component("clipboard") { output_name = "ui_base_clipboard" sources = [ @@ -182,7 +183,7 @@ component("clipboard") { } -source_set("clipboard_test_support") { +jumbo_source_set("clipboard_test_support") { testonly = true if (!is_ios) { diff --git a/chromium/ui/base/ime/BUILD.gn b/chromium/ui/base/ime/BUILD.gn index 970a0527ade..bf599f38351 100644 --- a/chromium/ui/base/ime/BUILD.gn +++ b/chromium/ui/base/ime/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") source_set("text_input_types") { @@ -13,7 +14,7 @@ source_set("text_input_types") { ] } -component("ime_types") { +jumbo_component("ime_types") { output_name = "ui_base_ime_types" sources = [ "candidate_window.cc", @@ -51,7 +52,7 @@ component("ime_types") { } } -component("ime") { +jumbo_component("ime") { output_name = "ui_base_ime" sources = [ "constants.cc", diff --git a/chromium/ui/base/ime/chromeos/BUILD.gn b/chromium/ui/base/ime/chromeos/BUILD.gn index ed2a8b8f88a..2cbb041903c 100644 --- a/chromium/ui/base/ime/chromeos/BUILD.gn +++ b/chromium/ui/base/ime/chromeos/BUILD.gn @@ -2,13 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") + assert(is_chromeos) source_set("ime_types") { sources = [ "ime_keyset.h" ] } -component("chromeos") { +jumbo_component("chromeos") { output_name = "ui_base_ime_chromeos" sources = [ diff --git a/chromium/ui/base/ime/fuchsia/BUILD.gn b/chromium/ui/base/ime/fuchsia/BUILD.gn index 2fb3d45ba28..fb665fead3b 100644 --- a/chromium/ui/base/ime/fuchsia/BUILD.gn +++ b/chromium/ui/base/ime/fuchsia/BUILD.gn @@ -2,9 +2,11 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") + assert(is_fuchsia) -component("fuchsia") { +jumbo_component("fuchsia") { output_name = "ui_base_ime_fuchsia" sources = [ diff --git a/chromium/ui/base/ime/init/BUILD.gn b/chromium/ui/base/ime/init/BUILD.gn index dd772acb8ec..26e7a60f901 100644 --- a/chromium/ui/base/ime/init/BUILD.gn +++ b/chromium/ui/base/ime/init/BUILD.gn @@ -2,9 +2,10 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") -component("init") { +jumbo_component("init") { output_name = "ui_base_ime_init" sources = [ diff --git a/chromium/ui/base/ime/linux/BUILD.gn b/chromium/ui/base/ime/linux/BUILD.gn index aee5960f688..01c9b24e6a7 100644 --- a/chromium/ui/base/ime/linux/BUILD.gn +++ b/chromium/ui/base/ime/linux/BUILD.gn @@ -2,11 +2,12 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/linux/pangocairo/pangocairo.gni") assert(is_linux && !is_chromeos) -component("linux") { +jumbo_component("linux") { output_name = "ui_base_ime_linux" sources = [ "fake_input_method_context.cc", diff --git a/chromium/ui/base/ime/mac/BUILD.gn b/chromium/ui/base/ime/mac/BUILD.gn index df1698a7b5c..41edb78b381 100644 --- a/chromium/ui/base/ime/mac/BUILD.gn +++ b/chromium/ui/base/ime/mac/BUILD.gn @@ -2,9 +2,11 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") + assert(is_mac) -component("mac") { +jumbo_component("mac") { output_name = "ui_base_ime_mac" sources = [ diff --git a/chromium/ui/base/ime/win/BUILD.gn b/chromium/ui/base/ime/win/BUILD.gn index 13d94842f69..b6cb95fcf81 100644 --- a/chromium/ui/base/ime/win/BUILD.gn +++ b/chromium/ui/base/ime/win/BUILD.gn @@ -2,9 +2,11 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") + assert(is_win) -component("win") { +jumbo_component("win") { output_name = "ui_base_ime_win" sources = [ "imm32_manager.cc", diff --git a/chromium/ui/base/prediction/BUILD.gn b/chromium/ui/base/prediction/BUILD.gn index bfd837c7b7e..f9abf4c09d5 100644 --- a/chromium/ui/base/prediction/BUILD.gn +++ b/chromium/ui/base/prediction/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("prediction") { +import("//build/config/jumbo.gni") + +jumbo_component("prediction") { sources = [ "empty_filter.cc", "empty_filter.h", diff --git a/chromium/ui/base/x/BUILD.gn b/chromium/ui/base/x/BUILD.gn index 69fc364223c..bef0aff933f 100644 --- a/chromium/ui/base/x/BUILD.gn +++ b/chromium/ui/base/x/BUILD.gn @@ -2,13 +2,14 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/linux/gtk/gtk.gni") import("//build/config/ui.gni") import("//ui/ozone/ozone.gni") assert(use_x11 || ozone_platform_x11) -component("x") { +jumbo_component("x") { output_name = "ui_base_x" sources = [ diff --git a/chromium/ui/color/BUILD.gn b/chromium/ui/color/BUILD.gn index 898dd69d377..f279a84ff9e 100644 --- a/chromium/ui/color/BUILD.gn +++ b/chromium/ui/color/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/buildflag_header.gni") +import("//build/config/jumbo.gni") import("//testing/test.gni") import("//ui/base/ui_features.gni") @@ -21,7 +22,7 @@ source_set("color_headers") { ] } -component("color") { +jumbo_component("color") { sources = [ "color_mixer.cc", "color_provider.cc", @@ -64,7 +65,7 @@ test("color_unittests") { ] } -component("mixers") { +jumbo_component("mixers") { sources = [ "color_mixers.h", "core_default_color_mixer.cc", diff --git a/chromium/ui/compositor/BUILD.gn b/chromium/ui/compositor/BUILD.gn index 116f36d96a4..a4aa156122f 100644 --- a/chromium/ui/compositor/BUILD.gn +++ b/chromium/ui/compositor/BUILD.gn @@ -2,10 +2,11 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/test.gni") -component("compositor") { +jumbo_component("compositor") { sources = [ "animation_metrics_recorder.cc", "animation_metrics_recorder.h", @@ -116,7 +117,7 @@ component("compositor") { } } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "test/direct_layer_tree_frame_sink.cc", diff --git a/chromium/ui/display/BUILD.gn b/chromium/ui/display/BUILD.gn index 3c549dcd753..2e9af876833 100644 --- a/chromium/ui/display/BUILD.gn +++ b/chromium/ui/display/BUILD.gn @@ -2,11 +2,12 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/test.gni") import("//ui/display/display.gni") -component("display") { +jumbo_component("display") { sources = [ "display.cc", "display.h", @@ -132,7 +133,7 @@ component("display_manager_test_api") { ] } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "test/display_matchers.cc", diff --git a/chromium/ui/display/fake/BUILD.gn b/chromium/ui/display/fake/BUILD.gn index 9617ef1ff0e..69771bf685b 100644 --- a/chromium/ui/display/fake/BUILD.gn +++ b/chromium/ui/display/fake/BUILD.gn @@ -2,11 +2,12 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") # This target contains dummy or fake classes that can be used as # placeholders when lacking something better, or for testing. -component("fake") { +jumbo_component("fake") { sources = [ "fake_display_delegate.cc", "fake_display_delegate.h", diff --git a/chromium/ui/display/manager/BUILD.gn b/chromium/ui/display/manager/BUILD.gn index a243223e044..d98485a4cbc 100644 --- a/chromium/ui/display/manager/BUILD.gn +++ b/chromium/ui/display/manager/BUILD.gn @@ -2,10 +2,11 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//ui/display/display.gni") -component("manager") { +jumbo_component("manager") { sources = [ "display_layout_store.cc", "display_layout_store.h", diff --git a/chromium/ui/display/types/BUILD.gn b/chromium/ui/display/types/BUILD.gn index 5d42d9c73ed..86ea7b44df1 100644 --- a/chromium/ui/display/types/BUILD.gn +++ b/chromium/ui/display/types/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("types") { +import("//build/config/jumbo.gni") + +jumbo_component("types") { output_name = "display_types" sources = [ "display_configuration_params.cc", diff --git a/chromium/ui/display/util/BUILD.gn b/chromium/ui/display/util/BUILD.gn index a3449ca93c2..9440614844e 100644 --- a/chromium/ui/display/util/BUILD.gn +++ b/chromium/ui/display/util/BUILD.gn @@ -2,10 +2,11 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/libfuzzer/fuzzer_test.gni") -component("util") { +jumbo_component("util") { output_name = "display_util" sources = [ "display_util.cc", diff --git a/chromium/ui/events/BUILD.gn b/chromium/ui/events/BUILD.gn index cd2ca4ccc0e..e3d21dd2754 100644 --- a/chromium/ui/events/BUILD.gn +++ b/chromium/ui/events/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/test.gni") import("//ui/base/ui_features.gni") @@ -16,7 +17,7 @@ if (is_ios) { import("//ios/build/config.gni") } -static_library("dom_keycode_converter") { +jumbo_static_library("dom_keycode_converter") { public = [ "keycodes/dom/dom_code.h", "keycodes/dom/dom_codes.h", @@ -92,7 +93,7 @@ source_set("platform_event") { sources = [ "platform_event.h" ] } -component("events_base") { +jumbo_component("events_base") { sources = [ "base_event_utils.cc", "base_event_utils.h", @@ -180,7 +181,7 @@ component("events_base") { } } -component("events") { +jumbo_component("events") { public = [ "cocoa/cocoa_event_utils.h", "event.h", @@ -386,7 +387,7 @@ component("events") { } } -component("gesture_detection") { +jumbo_component("gesture_detection") { sources = [ "gesture_detection/bitset_32.h", "gesture_detection/filtered_gesture_provider.cc", @@ -450,7 +451,7 @@ component("gesture_detection") { } } -static_library("test_support") { +jumbo_static_library("test_support") { sources = [ "test/event_generator.cc", "test/event_generator.h", diff --git a/chromium/ui/events/blink/BUILD.gn b/chromium/ui/events/blink/BUILD.gn index bfe2424fdf5..2ff0353b00c 100644 --- a/chromium/ui/events/blink/BUILD.gn +++ b/chromium/ui/events/blink/BUILD.gn @@ -2,9 +2,10 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") -component("blink_features") { +jumbo_component("blink_features") { defines = [ "IS_BLINK_FEATURES_IMPL" ] sources = [ @@ -15,7 +16,7 @@ component("blink_features") { deps = [ "//base" ] } -source_set("blink") { +jumbo_source_set("blink") { sources = [ "blink_event_util.cc", "blink_event_util.h", diff --git a/chromium/ui/events/devices/BUILD.gn b/chromium/ui/events/devices/BUILD.gn index c8c06e7335e..90557e10e17 100644 --- a/chromium/ui/events/devices/BUILD.gn +++ b/chromium/ui/events/devices/BUILD.gn @@ -2,12 +2,14 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") + if (is_android) { import("//build/config/android/config.gni") import("//build/config/android/rules.gni") } -component("devices") { +jumbo_component("devices") { sources = [ "device_data_manager.cc", "device_data_manager.h", diff --git a/chromium/ui/events/devices/x11/BUILD.gn b/chromium/ui/events/devices/x11/BUILD.gn index 888e18ee8e1..4a4c72d7e13 100644 --- a/chromium/ui/events/devices/x11/BUILD.gn +++ b/chromium/ui/events/devices/x11/BUILD.gn @@ -2,12 +2,13 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//ui/ozone/ozone.gni") assert(use_x11 || ozone_platform_x11) -component("x11") { +jumbo_component("x11") { output_name = "events_devices_x11" sources = [ diff --git a/chromium/ui/events/ipc/BUILD.gn b/chromium/ui/events/ipc/BUILD.gn index f82291ca2a5..378eca46614 100644 --- a/chromium/ui/events/ipc/BUILD.gn +++ b/chromium/ui/events/ipc/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("ipc") { +import("//build/config/jumbo.gni") + +jumbo_component("ipc") { output_name = "ui_events_ipc" sources = [ diff --git a/chromium/ui/events/keycodes/BUILD.gn b/chromium/ui/events/keycodes/BUILD.gn index 56a1641557e..8a91f1a640b 100644 --- a/chromium/ui/events/keycodes/BUILD.gn +++ b/chromium/ui/events/keycodes/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/linux/pkg_config.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//ui/base/ui_features.gni") import("//ui/ozone/ozone.gni") @@ -13,7 +14,7 @@ if (use_xkbcommon) { } } -source_set("xkb") { +jumbo_source_set("xkb") { sources = [ "keyboard_code_conversion_xkb.cc", "keyboard_code_conversion_xkb.h", @@ -37,7 +38,7 @@ source_set("xkb") { } if (use_x11 || ozone_platform_x11) { - component("x11") { + jumbo_component("x11") { output_name = "keycodes_x11" sources = [ diff --git a/chromium/ui/events/platform/BUILD.gn b/chromium/ui/events/platform/BUILD.gn index 64efb0bbc34..dfceb31d1de 100644 --- a/chromium/ui/events/platform/BUILD.gn +++ b/chromium/ui/events/platform/BUILD.gn @@ -2,9 +2,10 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") -component("platform") { +jumbo_component("platform") { sources = [ # Allow this target to include events_export.h without depending on the # events target (which would be circular). diff --git a/chromium/ui/events/platform/x11/BUILD.gn b/chromium/ui/events/platform/x11/BUILD.gn index 7fcea67f705..4f6919b6af4 100644 --- a/chromium/ui/events/platform/x11/BUILD.gn +++ b/chromium/ui/events/platform/x11/BUILD.gn @@ -2,12 +2,13 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//ui/ozone/ozone.gni") assert(use_x11 || ozone_platform_x11) -component("x11") { +jumbo_component("x11") { output_name = "x11_events_platform" sources = [ diff --git a/chromium/ui/gfx/BUILD.gn b/chromium/ui/gfx/BUILD.gn index 272af6ea766..a368ec17ddf 100644 --- a/chromium/ui/gfx/BUILD.gn +++ b/chromium/ui/gfx/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//device/vr/buildflags/buildflags.gni") import("//testing/libfuzzer/fuzzer_test.gni") @@ -21,7 +22,7 @@ source_set("gfx_export") { } # Used for color generation at build time without importing all the gfx. -component("color_utils") { +jumbo_component("color_utils") { sources = [ "color_palette.h", "color_utils.cc", @@ -36,7 +37,7 @@ component("color_utils") { ] } -component("geometry_skia") { +jumbo_component("geometry_skia") { sources = [ "geometry_skia_export.h", "rrect_f.cc", @@ -59,7 +60,7 @@ component("geometry_skia") { defines = [ "GEOMETRY_SKIA_IMPLEMENTATION" ] } -component("gfx") { +jumbo_component("gfx") { sources = [ "break_list.h", "color_analysis.cc", @@ -405,7 +406,7 @@ component("gfx") { } } -component("color_space") { +jumbo_component("color_space") { sources = [ "color_space.cc", "color_space.h", @@ -512,7 +513,7 @@ group("memory_buffer") { } # Cannot be a static_library in component builds due to exported functions -source_set("memory_buffer_sources") { +jumbo_source_set("memory_buffer_sources") { visibility = [ ":*" ] # Depend on through ":memory_buffer". # TODO(brettw) refactor this so these sources are in a coherent directory @@ -598,7 +599,7 @@ source_set("memory_buffer_sources") { } # TODO(ccameron): This can be moved into a separate source_set. -component("gfx_switches") { +jumbo_component("gfx_switches") { sources = [ "switches.cc", "switches.h", @@ -610,7 +611,7 @@ component("gfx_switches") { deps = [ "//base" ] } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "animation/animation_test_api.cc", diff --git a/chromium/ui/gfx/animation/BUILD.gn b/chromium/ui/gfx/animation/BUILD.gn index 34625ed2fdb..88c153885ab 100644 --- a/chromium/ui/gfx/animation/BUILD.gn +++ b/chromium/ui/gfx/animation/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") if (is_android) { @@ -9,7 +10,7 @@ if (is_android) { import("//build/config/android/rules.gni") } -component("animation") { +jumbo_component("animation") { sources = [ "animation.cc", "animation.h", diff --git a/chromium/ui/gfx/codec/BUILD.gn b/chromium/ui/gfx/codec/BUILD.gn index 8b002e0aa13..45fa24ee9db 100644 --- a/chromium/ui/gfx/codec/BUILD.gn +++ b/chromium/ui/gfx/codec/BUILD.gn @@ -2,9 +2,10 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") -component("codec") { +jumbo_component("codec") { sources = [ "codec_export.h", "jpeg_codec.cc", diff --git a/chromium/ui/gfx/geometry/BUILD.gn b/chromium/ui/gfx/geometry/BUILD.gn index f4e4a7d8859..1865fc4c45f 100644 --- a/chromium/ui/gfx/geometry/BUILD.gn +++ b/chromium/ui/gfx/geometry/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("geometry") { +import("//build/config/jumbo.gni") + +jumbo_component("geometry") { sources = [ "../gfx_export.h", "angle_conversions.h", diff --git a/chromium/ui/gfx/ipc/BUILD.gn b/chromium/ui/gfx/ipc/BUILD.gn index 170b9fc42dd..91f59bd132d 100644 --- a/chromium/ui/gfx/ipc/BUILD.gn +++ b/chromium/ui/gfx/ipc/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("ipc") { +import("//build/config/jumbo.gni") + +jumbo_component("ipc") { output_name = "gfx_ipc" sources = [ diff --git a/chromium/ui/gfx/ipc/buffer_types/BUILD.gn b/chromium/ui/gfx/ipc/buffer_types/BUILD.gn index 3cf5eca77f3..a1c2234f0bb 100644 --- a/chromium/ui/gfx/ipc/buffer_types/BUILD.gn +++ b/chromium/ui/gfx/ipc/buffer_types/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("buffer_types") { +import("//build/config/jumbo.gni") + +jumbo_component("buffer_types") { output_name = "gfx_ipc_buffer_types" sources = [ diff --git a/chromium/ui/gfx/ipc/color/BUILD.gn b/chromium/ui/gfx/ipc/color/BUILD.gn index a9ab0323013..9a3428ad414 100644 --- a/chromium/ui/gfx/ipc/color/BUILD.gn +++ b/chromium/ui/gfx/ipc/color/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("color") { +import("//build/config/jumbo.gni") + +jumbo_component("color") { output_name = "gfx_ipc_color" sources = [ diff --git a/chromium/ui/gfx/ipc/geometry/BUILD.gn b/chromium/ui/gfx/ipc/geometry/BUILD.gn index b8796b222cc..bd57c70f3e5 100644 --- a/chromium/ui/gfx/ipc/geometry/BUILD.gn +++ b/chromium/ui/gfx/ipc/geometry/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("geometry") { +import("//build/config/jumbo.gni") + +jumbo_component("geometry") { output_name = "gfx_ipc_geometry" sources = [ diff --git a/chromium/ui/gfx/ipc/skia/BUILD.gn b/chromium/ui/gfx/ipc/skia/BUILD.gn index fcb670e0225..2e4df260f7a 100644 --- a/chromium/ui/gfx/ipc/skia/BUILD.gn +++ b/chromium/ui/gfx/ipc/skia/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("skia") { +import("//build/config/jumbo.gni") + +jumbo_component("skia") { output_name = "gfx_ipc_skia" sources = [ diff --git a/chromium/ui/gfx/range/BUILD.gn b/chromium/ui/gfx/range/BUILD.gn index d150518b592..26d1a313ab3 100644 --- a/chromium/ui/gfx/range/BUILD.gn +++ b/chromium/ui/gfx/range/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("range") { +import("//build/config/jumbo.gni") + +jumbo_component("range") { sources = [ "gfx_range_export.h", "range.cc", diff --git a/chromium/ui/gfx/x/BUILD.gn b/chromium/ui/gfx/x/BUILD.gn index 6b87f8e0c12..46d25b28743 100644 --- a/chromium/ui/gfx/x/BUILD.gn +++ b/chromium/ui/gfx/x/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//ui/ozone/ozone.gni") @@ -106,7 +107,7 @@ component("xprotos") { ] } -component("x") { +jumbo_component("x") { output_name = "gfx_x11" sources = [ diff --git a/chromium/ui/gl/BUILD.gn b/chromium/ui/gl/BUILD.gn index 4c524a0e941..cfcac645360 100644 --- a/chromium/ui/gl/BUILD.gn +++ b/chromium/ui/gl/BUILD.gn @@ -5,6 +5,7 @@ import("//build/buildflag_header.gni") import("//build/config/chrome_build.gni") import("//build/config/chromecast_build.gni") +import("//build/config/jumbo.gni") import("//build/config/linux/pkg_config.gni") import("//build/config/ui.gni") import("//testing/test.gni") @@ -44,7 +45,7 @@ config("gl_config") { } } -component("gl") { +jumbo_component("gl") { output_name = "gl_wrapper" # Avoid colliding with OS X"s libGL.dylib. sources = [ @@ -480,7 +481,7 @@ if (is_mac && use_egl) { } } -static_library("gl_unittest_utils") { +jumbo_static_library("gl_unittest_utils") { testonly = true sources = [ "egl_bindings_autogen_mock.cc", @@ -506,7 +507,7 @@ static_library("gl_unittest_utils") { ] } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "test/gl_image_bind_test_template.h", diff --git a/chromium/ui/gl/init/BUILD.gn b/chromium/ui/gl/init/BUILD.gn index a0013554bfe..0eadfaafdfa 100644 --- a/chromium/ui/gl/init/BUILD.gn +++ b/chromium/ui/gl/init/BUILD.gn @@ -2,10 +2,11 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//ui/gl/features.gni") -component("init") { +jumbo_component("init") { output_name = "gl_init" public = [ diff --git a/chromium/ui/gtk/BUILD.gn b/chromium/ui/gtk/BUILD.gn index 3759400373b..24e4cfd8778 100644 --- a/chromium/ui/gtk/BUILD.gn +++ b/chromium/ui/gtk/BUILD.gn @@ -5,6 +5,7 @@ assert(is_linux || is_chromeos, "This file should only be referenced on Linux") import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//build/config/linux/gtk/gtk.gni") import("//build/config/ui.gni") import("//printing/buildflags/buildflags.gni") @@ -20,7 +21,7 @@ component("gtk_ui_delegate") { defines = [ "IS_GTK_IMPL" ] } -component("gtk") { +jumbo_component("gtk") { public = [ "gtk_ui.h" ] sources = [ "gtk_key_bindings_handler.cc", diff --git a/chromium/ui/latency/BUILD.gn b/chromium/ui/latency/BUILD.gn index 5130c405ed9..c6bca8391a0 100644 --- a/chromium/ui/latency/BUILD.gn +++ b/chromium/ui/latency/BUILD.gn @@ -2,9 +2,10 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//testing/test.gni") -source_set("latency") { +jumbo_source_set("latency") { sources = [ "latency_histogram_macros.h", "latency_info.cc", @@ -22,7 +23,7 @@ source_set("latency") { public_deps = [ "//services/metrics/public/cpp:metrics_cpp" ] } -source_set("test_support") { +jumbo_source_set("test_support") { testonly = true sources = [ "latency_info_test_support.cc" ] diff --git a/chromium/ui/message_center/BUILD.gn b/chromium/ui/message_center/BUILD.gn index 22c653940df..fdc6a368561 100644 --- a/chromium/ui/message_center/BUILD.gn +++ b/chromium/ui/message_center/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//components/vector_icons/vector_icons.gni") import("//testing/test.gni") @@ -23,7 +24,7 @@ aggregate_vector_icons2("message_center_vector_icons") { } # TODO(msw|mukai|dewittj): Move ash-specific files: crbug.com/585175 -component("message_center") { +jumbo_component("message_center") { deps = [ "//base", "//ui/base", diff --git a/chromium/ui/message_center/public/cpp/BUILD.gn b/chromium/ui/message_center/public/cpp/BUILD.gn index 59337d831c0..6dc7ee3b7af 100644 --- a/chromium/ui/message_center/public/cpp/BUILD.gn +++ b/chromium/ui/message_center/public/cpp/BUILD.gn @@ -2,8 +2,10 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") + # C++ headers and sources that can be used outside message_center. -component("cpp") { +jumbo_component("cpp") { output_name = "ui_message_center_cpp" sources = [ diff --git a/chromium/ui/native_theme/BUILD.gn b/chromium/ui/native_theme/BUILD.gn index fd8e43835d4..578462fd775 100644 --- a/chromium/ui/native_theme/BUILD.gn +++ b/chromium/ui/native_theme/BUILD.gn @@ -2,10 +2,11 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/test.gni") -component("native_theme") { +jumbo_component("native_theme") { sources = [ "caption_style.cc", "caption_style.h", @@ -86,7 +87,7 @@ component("native_theme") { } if (is_win) { - component("native_theme_browser") { + jumbo_component("native_theme_browser") { defines = [ "NATIVE_THEME_IMPLEMENTATION" ] # These files cannot work in the renderer on Windows. @@ -107,11 +108,11 @@ if (is_win) { libs = [ "uxtheme.lib" ] } } else { - source_set("native_theme_browser") { + jumbo_source_set("native_theme_browser") { } } -source_set("test_support") { +jumbo_source_set("test_support") { testonly = true deps = [ diff --git a/chromium/ui/ozone/BUILD.gn b/chromium/ui/ozone/BUILD.gn index 93cc743e42e..0820a47d3ff 100644 --- a/chromium/ui/ozone/BUILD.gn +++ b/chromium/ui/ozone/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/buildflag_header.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//gpu/vulkan/features.gni") import("//testing/test.gni") @@ -63,7 +64,7 @@ platform_list_h_file = "$target_gen_dir/platform_list.h" platform_list_txt_file = "$target_gen_dir/platform_list.txt" constructor_list_cc_file = "$target_gen_dir/constructor_list.cc" -component("ozone_base") { +jumbo_component("ozone_base") { sources = [ "public/gl_ozone.h", "public/gpu_platform_support_host.cc", @@ -199,7 +200,7 @@ source_set("platform") { visibility += ozone_external_platform_visibility } -component("ozone") { +jumbo_component("ozone") { visibility = [] visibility = [ "*" ] public_deps = [ @@ -209,7 +210,7 @@ component("ozone") { ] } -source_set("test_support_internal") { +jumbo_source_set("test_support_internal") { testonly = true sources = [ @@ -232,14 +233,7 @@ source_set("test_support_internal") { public_deps = [ "//base/test:test_support" ] } -static_library("test_support") { - visibility = [] - visibility = [ - ":*", - "platform/wayland:wayland_unittests", - "platform/x11:x11_unittests", - ] - +jumbo_static_library("test_support") { testonly = true public_deps = [ ":test_support_internal" ] } diff --git a/chromium/ui/platform_window/stub/BUILD.gn b/chromium/ui/platform_window/stub/BUILD.gn index fd53cfe9258..55cff46168e 100644 --- a/chromium/ui/platform_window/stub/BUILD.gn +++ b/chromium/ui/platform_window/stub/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("stub") { +import("//build/config/jumbo.gni") + +jumbo_component("stub") { output_name = "stub_window" deps = [ diff --git a/chromium/ui/platform_window/win/BUILD.gn b/chromium/ui/platform_window/win/BUILD.gn index 519c51c2821..d8bbfd5a13c 100644 --- a/chromium/ui/platform_window/win/BUILD.gn +++ b/chromium/ui/platform_window/win/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("win") { +import("//build/config/jumbo.gni") + +jumbo_component("win") { output_name = "win_window" deps = [ diff --git a/chromium/ui/platform_window/x11/BUILD.gn b/chromium/ui/platform_window/x11/BUILD.gn index 9b2028949f3..34928e5b251 100644 --- a/chromium/ui/platform_window/x11/BUILD.gn +++ b/chromium/ui/platform_window/x11/BUILD.gn @@ -2,13 +2,14 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/test.gni") import("//ui/ozone/ozone.gni") assert(use_x11 || ozone_platform_x11) -component("x11") { +jumbo_component("x11") { output_name = "x11_window" deps = [ diff --git a/chromium/ui/resources/BUILD.gn b/chromium/ui/resources/BUILD.gn index 0d1ad112bcb..226d7904de2 100644 --- a/chromium/ui/resources/BUILD.gn +++ b/chromium/ui/resources/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//tools/grit/grit_rule.gni") import("//tools/grit/repack.gni") import("//ui/webui/webui_features.gni") diff --git a/chromium/ui/shell_dialogs/BUILD.gn b/chromium/ui/shell_dialogs/BUILD.gn index 24a925dd7f1..8637c2fc332 100644 --- a/chromium/ui/shell_dialogs/BUILD.gn +++ b/chromium/ui/shell_dialogs/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/chromeos/ui_mode.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/test.gni") if (is_android) { @@ -12,7 +13,7 @@ if (is_mac) { import("//build/config/mac/rules.gni") } -component("shell_dialogs") { +jumbo_component("shell_dialogs") { sources = [ "base_shell_dialog.cc", "base_shell_dialog.h", diff --git a/chromium/ui/snapshot/BUILD.gn b/chromium/ui/snapshot/BUILD.gn index 73e9cda8fe3..5f9d4160526 100644 --- a/chromium/ui/snapshot/BUILD.gn +++ b/chromium/ui/snapshot/BUILD.gn @@ -2,10 +2,11 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/test.gni") -component("snapshot") { +jumbo_component("snapshot") { sources = [ "screenshot_grabber.cc", "screenshot_grabber.h", @@ -79,7 +80,7 @@ component("snapshot") { } } -source_set("snapshot_export") { +jumbo_source_set("snapshot_export") { sources = [ "snapshot_export.h" ] visibility = [ ":*" ] } diff --git a/chromium/ui/surface/BUILD.gn b/chromium/ui/surface/BUILD.gn index e7e9468b21c..3293e4d3310 100644 --- a/chromium/ui/surface/BUILD.gn +++ b/chromium/ui/surface/BUILD.gn @@ -2,9 +2,10 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") -component("surface") { +jumbo_component("surface") { sources = [ "surface_export.h", "transport_dib.cc", diff --git a/chromium/ui/touch_selection/BUILD.gn b/chromium/ui/touch_selection/BUILD.gn index 08bf157a677..f4733364eed 100644 --- a/chromium/ui/touch_selection/BUILD.gn +++ b/chromium/ui/touch_selection/BUILD.gn @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/test.gni") @@ -9,7 +10,7 @@ if (is_android) { import("//build/config/android/rules.gni") } -component("touch_selection") { +jumbo_component("touch_selection") { output_name = "ui_touch_selection" sources = [ diff --git a/chromium/ui/views/BUILD.gn b/chromium/ui/views/BUILD.gn index 3afc4e58466..bee5221e2b9 100644 --- a/chromium/ui/views/BUILD.gn +++ b/chromium/ui/views/BUILD.gn @@ -4,6 +4,7 @@ import("//build/buildflag_header.gni") import("//build/config/features.gni") +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//components/vector_icons/vector_icons.gni") import("//testing/test.gni") @@ -52,7 +53,7 @@ buildflag_header("buildflags") { flags = [ "ENABLE_DESKTOP_AURA=$enable_desktop_aura" ] } -component("views") { +jumbo_component("views") { all_dependent_configs = [ ":flags" ] public = [ @@ -854,7 +855,7 @@ component("views") { } } -source_set("test_support") { +jumbo_source_set("test_support") { testonly = true sources = [ "animation/test/flood_fill_ink_drop_ripple_test_api.cc", diff --git a/chromium/ui/views/controls/webview/BUILD.gn b/chromium/ui/views/controls/webview/BUILD.gn index e4a99da2620..9072004640e 100644 --- a/chromium/ui/views/controls/webview/BUILD.gn +++ b/chromium/ui/views/controls/webview/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("webview") { +import("//build/config/jumbo.gni") + +jumbo_component("webview") { sources = [ "unhandled_keyboard_event_handler.cc", "unhandled_keyboard_event_handler.h", diff --git a/chromium/ui/views/examples/BUILD.gn b/chromium/ui/views/examples/BUILD.gn index 96aa4934dc6..2c0f8d5f447 100644 --- a/chromium/ui/views/examples/BUILD.gn +++ b/chromium/ui/views/examples/BUILD.gn @@ -2,11 +2,12 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/test.gni") import("//tools/grit/grit_rule.gni") -component("views_examples_lib") { +jumbo_component("views_examples_lib") { testonly = true sources = [ @@ -192,7 +193,7 @@ executable("views_examples") { ] } -component("views_examples_with_content_lib") { +jumbo_component("views_examples_with_content_lib") { testonly = true sources = [ "examples_window_with_content.cc", diff --git a/chromium/ui/views_content_client/BUILD.gn b/chromium/ui/views_content_client/BUILD.gn index 57ca84c094e..37ef42a5d98 100644 --- a/chromium/ui/views_content_client/BUILD.gn +++ b/chromium/ui/views_content_client/BUILD.gn @@ -2,9 +2,10 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") -component("views_content_client") { +jumbo_component("views_content_client") { testonly = true sources = [ "views_content_browser_client.cc", diff --git a/chromium/ui/web_dialogs/BUILD.gn b/chromium/ui/web_dialogs/BUILD.gn index 154bfb21454..b70a755c3b9 100644 --- a/chromium/ui/web_dialogs/BUILD.gn +++ b/chromium/ui/web_dialogs/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("web_dialogs") { +import("//build/config/jumbo.gni") + +jumbo_component("web_dialogs") { sources = [ "web_dialog_delegate.cc", "web_dialog_delegate.h", @@ -31,7 +33,7 @@ component("web_dialogs") { } } -static_library("test_support") { +jumbo_static_library("test_support") { sources = [ "test/test_web_contents_handler.cc", "test/test_web_contents_handler.h", diff --git a/chromium/ui/wm/BUILD.gn b/chromium/ui/wm/BUILD.gn index bec18064d40..e7661da3097 100644 --- a/chromium/ui/wm/BUILD.gn +++ b/chromium/ui/wm/BUILD.gn @@ -2,10 +2,11 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/ui.gni") import("//testing/test.gni") -component("wm") { +jumbo_component("wm") { sources = [ "core/accelerator_delegate.h", "core/accelerator_filter.cc", @@ -93,7 +94,7 @@ component("wm") { } } -static_library("test_support") { +jumbo_static_library("test_support") { testonly = true sources = [ "test/testing_cursor_client_observer.cc", diff --git a/chromium/ui/wm/public/BUILD.gn b/chromium/ui/wm/public/BUILD.gn index b4ae9394e3a..799fb90a7b7 100644 --- a/chromium/ui/wm/public/BUILD.gn +++ b/chromium/ui/wm/public/BUILD.gn @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -component("public") { +import("//build/config/jumbo.gni") + +jumbo_component("public") { output_name = "wm_public" public = [ diff --git a/chromium/v8/BUILD.gn b/chromium/v8/BUILD.gn index 73b45337924..ba99c75140b 100644 --- a/chromium/v8/BUILD.gn +++ b/chromium/v8/BUILD.gn @@ -6,6 +6,7 @@ import("//build/config/android/config.gni") import("//build/config/arm.gni") import("//build/config/dcheck_always_on.gni") import("//build/config/host_byteorder.gni") +import("//build/config/jumbo.gni") import("//build/config/mips.gni") import("//build/config/sanitizers/sanitizers.gni") import("//build_overrides/build.gni") @@ -1727,8 +1728,13 @@ v8_source_set("v8_snapshot") { if (emit_builtins_as_inline_asm) { deps += [ ":asm_to_inline_asm_trusted" ] sources += [ "$target_gen_dir/embedded_trusted.cc" ] + jumbo_excluded_sources = [ "$target_gen_dir/embedded_trusted.cc" ] } else { sources += [ "$target_gen_dir/embedded_trusted.S" ] + jumbo_excluded_sources = [ + # Duplicated symbols with embedded.S + "$target_gen_dir/embedded_trusted.S", + ] } } } else { @@ -1826,6 +1832,17 @@ v8_source_set("v8_initializers") { "src/interpreter/interpreter-intrinsics-generator.h", ] + jumbo_excluded_sources = [ + # TODO(mostynb@vewd.com): don't exclude these http://crbug.com/752428 + "src/builtins/builtins-async-iterator-gen.cc", + "src/builtins/builtins-async-generator-gen.cc", + + # These source files take an unusually large amount of time to + # compile. Build them separately to avoid bottlenecks. + "src/builtins/builtins-regexp-gen.cc", + "src/codegen/code-stub-assembler.cc", + ] + if (v8_current_cpu == "x86") { sources += [ ### gcmole(arch:ia32) ### @@ -3424,6 +3441,23 @@ v8_source_set("v8_base_without_compiler") { sources += check_header_includes_sources } + jumbo_excluded_sources = [ + # TODO(mostynb@vewd.com): don't exclude these http://crbug.com/752428 + "src/profiler/heap-snapshot-generator.cc", # Macro clash in mman-linux.h + "src/heap/local-heap.cc", + "src/heap/safepoint.cc", + "src/objects/js-display-names.cc", + "src/objects/js-relative-time-format.cc", + + # These source files take an unusually large amount of time to + # compile. Build them separately to avoid bottlenecks. + "src/api/api.cc", + "src/heap/heap.cc", + "src/objects/elements.cc", + "src/objects/objects.cc", + "src/parsing/parser.cc", + ] + if (v8_current_cpu == "x86") { sources += [ ### gcmole(arch:ia32) ### "src/codegen/ia32/assembler-ia32-inl.h", @@ -3579,6 +3613,11 @@ v8_source_set("v8_base_without_compiler") { "src/diagnostics/unwinding-info-win64.h", ] } + jumbo_excluded_sources += [ + # TODO(mostynb@vewd.com): fix this code so it doesn't need + # to be excluded, see the comments inside. + "src/codegen/arm64/instructions-arm64-constants.cc", + ] } else if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel") { sources += [ ### gcmole(arch:mipsel) ### "src/codegen/mips/assembler-mips-inl.h", diff --git a/chromium/v8/gni/v8.gni b/chromium/v8/gni/v8.gni index edc944ef0c7..13ffc2c3391 100644 --- a/chromium/v8/gni/v8.gni +++ b/chromium/v8/gni/v8.gni @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") import("//build/config/gclient_args.gni") import("//build/config/sanitizers/sanitizers.gni") import("//build/config/v8_target_cpu.gni") @@ -178,9 +179,9 @@ template("v8_source_set") { defined(v8_static_library) && v8_static_library && is_win) { link_target_type = "split_static_library" } else if (defined(v8_static_library) && v8_static_library) { - link_target_type = "static_library" + link_target_type = "jumbo_static_library" } else { - link_target_type = "source_set" + link_target_type = "jumbo_source_set" } target(link_target_type, target_name) { forward_variables_from(invoker, @@ -199,7 +200,7 @@ template("v8_source_set") { } template("v8_header_set") { - source_set(target_name) { + jumbo_source_set(target_name) { forward_variables_from(invoker, "*", [ "configs" ]) configs -= v8_remove_configs configs += v8_add_configs diff --git a/chromium/v8/infra/mb/mb_config.pyl b/chromium/v8/infra/mb/mb_config.pyl index 7d5cc73026c..c5243018b9c 100644 --- a/chromium/v8/infra/mb/mb_config.pyl +++ b/chromium/v8/infra/mb/mb_config.pyl @@ -62,6 +62,11 @@ 'V8 Linux64 - debug - header includes': 'debug_x64_header_includes', 'V8 Linux64 - shared': 'release_x64_shared_verify_heap', 'V8 Linux64 - verify csa': 'release_x64_verify_csa', + # Jumbo. + 'V8 Linux64 Jumbo': 'release_x64_jumbo', + 'V8 Linux64 Jumbo - debug': 'debug_x64_jumbo', + 'V8 Linux64 Jumbo - limited': 'release_x64_jumbo_limited', + 'V8 Linux64 Jumbo - limited - debug': 'debug_x64_jumbo_limited', # Windows. 'V8 Win32 - builder': 'release_x86_minimal_symbols', 'V8 Win32 - debug builder': 'debug_x86_minimal_symbols', @@ -239,6 +244,8 @@ 'v8_linux64_cfi_rel_ng': 'release_x64_cfi', 'v8_linux64_fuzzilli_ng': 'release_x64_fuzzilli', 'v8_linux64_msan_rel_ng': 'release_simulate_arm64_msan_minimal_symbols', + 'v8_linux64_jumbo_compile_rel': 'release_x64_jumbo_trybot', + 'v8_linux64_jumbo_limited_compile_rel': 'release_x64_jumbo_limited_trybot', 'v8_linux64_tsan_rel_ng': 'release_x64_tsan_minimal_symbols', 'v8_linux64_tsan_no_cm_rel_ng': 'release_x64_tsan_no_cm', 'v8_linux64_tsan_isolates_rel_ng': @@ -483,6 +490,14 @@ 'release_bot', 'x64', 'ios_simulator'], 'release_x64_internal': [ 'release_bot', 'x64', 'v8_snapshot_internal'], + 'release_x64_jumbo': [ + 'release_bot', 'x64', 'jumbo'], + 'release_x64_jumbo_trybot': [ + 'release_trybot', 'x64', 'jumbo'], + 'release_x64_jumbo_limited': [ + 'release_bot', 'x64', 'jumbo_limited'], + 'release_x64_jumbo_limited_trybot': [ + 'release_trybot', 'x64', 'jumbo_limited'], 'release_x64_minimal_symbols': [ 'release_bot', 'x64', 'minimal_symbols'], 'release_x64_pointer_compression': [ @@ -532,6 +547,10 @@ 'debug_bot_no_goma', 'x64', 'gcc', 'v8_check_header_includes'], 'debug_x64_header_includes': [ 'debug_bot', 'x64', 'v8_check_header_includes'], + 'debug_x64_jumbo': [ + 'debug_bot', 'x64', 'jumbo'], + 'debug_x64_jumbo_limited': [ + 'debug_bot', 'x64', 'jumbo_limited'], 'debug_x64_minimal_symbols': [ 'debug_bot', 'x64', 'minimal_symbols'], 'debug_x64_perfetto': [ @@ -697,6 +716,14 @@ 'gn_args': 'target_cpu="x64" target_os="ios" ios_use_goma_rbe=true', }, + 'jumbo': { + 'gn_args': 'use_jumbo_build=true', + }, + + 'jumbo_limited': { + 'gn_args': 'use_jumbo_build=true jumbo_file_merge_limit=50', + }, + 'lsan': { 'mixins': ['v8_enable_test_features'], 'gn_args': 'is_lsan=true', diff --git a/chromium/v8/test/cctest/BUILD.gn b/chromium/v8/test/cctest/BUILD.gn index d2a1c1fad56..612f314887a 100644 --- a/chromium/v8/test/cctest/BUILD.gn +++ b/chromium/v8/test/cctest/BUILD.gn @@ -320,6 +320,16 @@ v8_source_set("cctest_sources") { "wasm/wasm-run-utils.h", ] + if (use_jumbo_build) { + jumbo_excluded_sources = [ + # TODO(mostynb@opera.com): figure out the jumbo issues with these source + # files, and include them in jumbo compilation units. + "interpreter/bytecode-expectations-printer.cc", + "interpreter/test-bytecode-generator.cc", + "test-api.cc", + ] + } + if (v8_current_cpu == "arm") { sources += [ ### gcmole(arch:arm) ### "assembler-helper-arm.cc", diff --git a/chromium/v8/test/unittests/BUILD.gn b/chromium/v8/test/unittests/BUILD.gn index c239c3825da..5507759f6d7 100644 --- a/chromium/v8/test/unittests/BUILD.gn +++ b/chromium/v8/test/unittests/BUILD.gn @@ -371,6 +371,15 @@ v8_source_set("unittests_sources") { "zone/zone-unittest.cc", ] + if (use_jumbo_build) { + jumbo_excluded_sources = [ + # TODO(mostynb@opera.com): figure out how to make this build in both + # modes. Template issues on windows if we add a functional_unittest + # namespace as with the other files. + "base/functional-unittest.cc", + ] + } + if (v8_enable_wasm_gdb_remote_debugging) { sources += [ "wasm/wasm-gdbserver-unittest.cc" ] } |