summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-23 16:32:32 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-23 16:32:32 +0000
commitb89c53844b2ede863c9cbb6878320657db1fde71 (patch)
treebccbec4e22b4748c3001a8a03579d94e67db2814 /build
parent352be8006a6da0f273da14895844063e5bcdcd89 (diff)
downloadchromium_src-b89c53844b2ede863c9cbb6878320657db1fde71.zip
chromium_src-b89c53844b2ede863c9cbb6878320657db1fde71.tar.gz
chromium_src-b89c53844b2ede863c9cbb6878320657db1fde71.tar.bz2
Encode all grit outputs in .gn files
This finishes the rest of the Grit outputs that was started in a previous pass, and removes the ability to optionally deduce outputs at GN-time (which is slow so we don't want to do it). R=viettrungluu@chromium.org Review URL: https://codereview.chromium.org/411543005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284947 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
-rw-r--r--build/config/android/rules.gni10
-rw-r--r--build/secondary/chrome/BUILD.gn299
-rw-r--r--build/secondary/tools/grit/grit_rule.gni54
3 files changed, 32 insertions, 331 deletions
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
index 662a501..f18c86a 100644
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
@@ -335,6 +335,7 @@ template("android_resources") {
# Variables
# deps: Specifies the dependencies of this target.
# grd_file: Path to the .grd file to generate strings.xml from.
+# outputs: Expected grit outputs (see grit rule).
#
# Example
# java_strings_grd("foo_strings_grd") {
@@ -351,8 +352,11 @@ template("java_strings_grd") {
}
}
+ # Put grit files into this subdirectory of target_gen_dir.
+ extra_output_path = target_name + "_grit_output"
+
grit_target_name = "${target_name}__grit"
- grit_output_dir = base_path + "_grit_output"
+ grit_output_dir = "$target_gen_dir/$extra_output_path"
grit(grit_target_name) {
grit_flags = [
"-E", "ANDROID_JAVA_TAGGED_ONLY=false",
@@ -360,6 +364,10 @@ template("java_strings_grd") {
output_dir = grit_output_dir
resource_ids = ""
source = invoker.grd_file
+ # The grit rule expects files relative to target_gen_dir, but this rule
+ # appends a suffix to that. This rebase will prepend extra_output_path to
+ # each filename.
+ outputs = rebase_path(invoker.outputs, ".", extra_output_path)
}
# This needs to get outputs from grit's internal target, not the final
diff --git a/build/secondary/chrome/BUILD.gn b/build/secondary/chrome/BUILD.gn
deleted file mode 100644
index 4fdd5aa..0000000
--- a/build/secondary/chrome/BUILD.gn
+++ /dev/null
@@ -1,299 +0,0 @@
-# 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/crypto.gni")
-import("//build/config/ui.gni")
-import("//tools/grit/grit_rule.gni")
-
-executable("chrome") {
- sources = [
- "app/breakpad_field_trial_win.cc",
- "app/breakpad_field_trial_win.h",
- "app/breakpad_win.cc",
- "app/breakpad_win.h",
- "app/chrome_dll_resource.h",
- "app/chrome_exe_main_aura.cc",
- "app/chrome_exe_main_gtk.cc",
- "app/chrome_exe_main_mac.cc",
- "app/chrome_exe_main_win.cc",
- "app/chrome_exe_resource.h",
- "app/chrome_main.cc",
- "app/chrome_main_delegate.cc",
- "app/chrome_main_delegate.h",
- "app/client_util.cc",
- "app/client_util.h",
- "app/hard_error_handler_win.cc",
- "app/hard_error_handler_win.h",
- "app/metro_driver_win.cc",
- "app/metro_driver_win.h",
- "../content/app/startup_helper_win.cc",
- ]
-
- if (is_linux) {
- configs += [
- # TODO(brettw) this is wrong, it should be picked up from deps.
- "//build/config/linux:gtk",
- "//build/config/linux:x11",
- ]
- }
-
- deps = [
- # TODO(brettw) this is right on linux? Everything is linked into the
- # exe, but wrong on Windows, where chrome_exe and chrome_dll are separate.
- ":browser",
- ":common",
- ":debugger",
- ":plugin",
- ":renderer",
- ":utility",
- "//base",
- ]
-
- # TODO(brettw) this isn't right for all platforms.
- if (!use_aura) {
- sources -= [ "app/chrome_exe_main_aura.cc" ]
- }
-
- if (!is_win) {
- sources -= [
- "app/client_util.cc",
- "app/client_util.h",
- ]
- }
-}
-
-static_library("browser") {
- if (is_linux) {
- configs += [
- "//build/config/linux:x11",
- ]
- }
-
- deps = [
- "//third_party/expat",
- ]
-}
-
-static_library("common") {
- if (!use_openssl && is_linux) {
- # common/net uses NSS.
- # TODO(brettw) have a better way to express this without having to do
- # "if (use_nss)" everywhere.
- configs += [ "//third_party/nss:nss_linux_config" ]
- }
- deps = [
- ]
-}
-
-# TODO(brettw) move to browser/devtools/BUILD.gn
-source_set("debugger") {
- sources = [
- "browser/devtools/device/adb/adb_client_socket.cc",
- "browser/devtools/device/adb/adb_client_socket.h",
- "browser/devtools/device/adb/adb_device_info_query.h",
- "browser/devtools/device/adb/adb_device_info_query.cc",
- "browser/devtools/device/adb/adb_device_provider.cc",
- "browser/devtools/device/adb/adb_device_provider.h",
- "browser/devtools/device/android_device_manager.cc",
- "browser/devtools/device/android_device_manager.h",
- "browser/devtools/device/android_web_socket.cc",
- "browser/devtools/device/devtools_android_bridge.cc",
- "browser/devtools/device/devtools_android_bridge.h",
- "browser/devtools/device/port_forwarding_controller.cc",
- "browser/devtools/device/port_forwarding_controller.h",
- "browser/devtools/device/self_device_provider.cc",
- "browser/devtools/device/self_device_provider.h",
- "browser/devtools/device/usb/android_rsa.cc",
- "browser/devtools/device/usb/android_rsa.h",
- "browser/devtools/device/usb/android_usb_device.cc",
- "browser/devtools/device/usb/android_usb_device.h",
- "browser/devtools/device/usb/android_usb_socket.cc",
- "browser/devtools/device/usb/android_usb_socket.h",
- "browser/devtools/device/usb/usb_device_provider.cc",
- "browser/devtools/device/usb/usb_device_provider.h",
- "browser/devtools/browser_list_tabcontents_provider.cc",
- "browser/devtools/browser_list_tabcontents_provider.h",
- "browser/devtools/devtools_contents_resizing_strategy.cc",
- "browser/devtools/devtools_contents_resizing_strategy.h",
- "browser/devtools/devtools_embedder_message_dispatcher.cc",
- "browser/devtools/devtools_embedder_message_dispatcher.h",
- "browser/devtools/devtools_file_helper.cc",
- "browser/devtools/devtools_file_helper.h",
- "browser/devtools/devtools_file_system_indexer.cc",
- "browser/devtools/devtools_file_system_indexer.h",
- "browser/devtools/devtools_network_controller.cpp",
- "browser/devtools/devtools_network_controller.h",
- "browser/devtools/devtools_network_transaction.cpp",
- "browser/devtools/devtools_network_transaction.h",
- "browser/devtools/devtools_network_transaction_factory.cpp",
- "browser/devtools/devtools_network_transaction_factory.h",
- "browser/devtools/devtools_protocol.cc",
- "browser/devtools/devtools_protocol.h",
- "browser/devtools/devtools_toggle_action.h",
- "browser/devtools/devtools_window.cc",
- "browser/devtools/devtools_window.h",
- "browser/devtools/remote_debugging_server.cc",
- "browser/devtools/remote_debugging_server.h",
- ]
-
- deps = [
-# ":chrome_extra_resources",
-# ":chrome_resources",
-# ":chrome_strings",
-# ":theme_resources",
- "//base",
- "//net",
- "//net:http_server",
- "//skia",
- "//third_party/icu",
- "//third_party/leveldatabase",
- "//third_party/libusb",
- ]
-
- if (is_android) {
- sources -= [
- "browser/devtools/adb/android_rsa.cc",
- "browser/devtools/browser_list_tabcontents_provider.cc",
- "browser/devtools/devtools_file_system_indexer.cc",
- "browser/devtools/devtools_window.cc",
- "browser/devtools/remote_debugging_server.cc",
- ]
- deps -= [ "//third_party/libusb" ]
- }
-
- # TODO implement debug_devtools
- # if (debug_devtools) {
- # defines = [ "DEBUG_DEVTOOLS=1" ]
- # }
- # TODO(brettw) this may be required on Windows:
- # if (is_win) {
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- # 'msvs_disabled_warnings': [ 4267, ]
- # }
-
-}
-
-source_set("plugin") {
-}
-
-source_set("renderer") {
-}
-
-source_set("utility") {
-}
-
-
-# Credits ----------------------------------------------------------------------
-
-about_credits_file = "$root_gen_dir/about_credits.html"
-build_relative_about_credits_file =
- rebase_path(about_credits_file, root_build_dir)
-
-action("about_credits") {
- script = "//tools/licenses.py"
- outputs = [ about_credits_file ]
-
- # This script is impossible to write proper input dependencies for because it
- # basically greps the source tree for third_party directories. If a directory
- # is added or removed, it will change the result, but there is no way to
- # express this as a build dependency. We approximate this by depending on
- # the last change file to force an update whenever the code is updated.
- inputs = [ "//build/util/LASTCHANGE" ]
-
- args = [ "credits", build_relative_about_credits_file ]
-}
-
-# Resources --------------------------------------------------------------------
-
-#group("chrome_resources") {
-# deps = [
-# ":browser_resources",
-# ":common_resources",
-# ":renderer_resources",
-# ]
-#}
-#grit("browser_resources") {
-# source = "browser/browser_resources.grd"
-# grit_flags = [ "-E", "about_credits_file=$build_relative_about_credits_file" ]
-# deps = [ ":about_credits" ]
-#}
-#grit("common_resources") {
-# source = "common/common_resources.grd"
-#}
-#grit("renderer_resources") {
-# source = "renderer/resources/renderer_resources.grd"
-#}
-#
-#group("chrome_strings") {
-# deps = [
-# ":locale_settings",
-# ":chromium_strings",
-# ":generated_resources",
-# ":google_chrome_strings",
-# ]
-#}
-#grit("locale_settings") {
-# source = "app/resources/locale_settings.grd"
-#}
-#grit("chromium_strings") {
-# source = "app/chromium_strings.grd"
-#}
-#grit("generated_resources") {
-# source = "app/generated_resources.grd"
-#}
-#grit("google_chrome_strings") {
-# source = "app/google_chrome_strings.grd"
-#}
-#
-#group("chrome_extra_resources") {
-# deps = [
-# ":memory_internals_resources",
-# ":net_internals_resources",
-# ":signin_internals_resources",
-# ":sync_internals_resources",
-# ":translate_internals_resources",
-# ]
-#
-# if (!is_ios) {
-# deps += [
-# ":component_extension_resources",
-# ":options_resources",
-# ":quota_internals_resources",
-# ":sync_file_system_internals_resources",
-# ]
-# }
-#}
-#grit("component_extension_resources") {
-# source = "browser/resources/component_extension_resources.grd"
-#}
-#grit("memory_internals_resources") {
-# source = "browser/resources/memory_internals_resources.grd"
-#}
-#grit("quota_internals_resources") {
-# source = "browser/resources/quota_internals_resources.grd"
-#}
-#grit("net_internals_resources") {
-# source = "browser/resources/net_internals_resources.grd"
-#}
-#grit("options_resources") {
-# source = "browser/resources/options_resources.grd"
-#}
-#grit("signin_internals_resources") {
-# source = "browser/resources/signin_internals_resources.grd"
-#}
-#grit("sync_file_system_internals_resources") {
-# source = "browser/resources/sync_file_system_internals_resources.grd"
-#}
-#grit("sync_internals_resources") {
-# source = "browser/resources/sync_internals_resources.grd"
-#}
-#grit("translate_internals_resources") {
-# source = "browser/resources/translate_internals_resources.grd"
-#}
-#
-## TODO(brettw) rename "app_theme_resources" or something when we don't support
-## GYP any more. This name is required to match the GYP build.
-#grit("theme_resources") {
-# source = "app/theme/theme_resources.grd"
-#}
diff --git a/build/secondary/tools/grit/grit_rule.gni b/build/secondary/tools/grit/grit_rule.gni
index 178fb64..6d88f58 100644
--- a/build/secondary/tools/grit/grit_rule.gni
+++ b/build/secondary/tools/grit/grit_rule.gni
@@ -7,10 +7,10 @@
#
# Parameters
#
-# source
+# source (required)
# Path to .grd file.
#
-# outputs (optional)
+# outputs (required)
# List of outputs from grit, relative to the target_gen_dir. If supplied,
# a call to Grit to compute the outputs can be skipped which will make
# GN run faster. Grit will verify at build time that this list is correct
@@ -45,7 +45,13 @@
# Example
#
# grit("my_resources") {
-# source = "myfile.grd" # source is required.
+# # Source and outputs are required.
+# source = "myfile.grd"
+# outputs = [
+# "foo_strings.h",
+# "foo_strings.pak",
+# ]
+#
# grit_flags = [ "-E", "foo=bar" ] # Optional extra flags.
# # You can also put deps here if the grit source depends on generated
# # files.
@@ -212,34 +218,20 @@ template("grit") {
grit_inputs = [ invoker.source ]
assert_files_flags = []
- if (defined(invoker.outputs)) {
- # If the declaration specified outputs, we want to make sure that they
- # actually match what Grit is writing. We write the list to a file (some
- # of the output lists are long enough to not fit on a Windows command line)
- # and ask Grit to verify those are the actual outputs at runtime.
- asserted_list_file = "$target_out_dir/${target_name}_expected_outputs.txt"
- write_file(asserted_list_file,
- rebase_path(invoker.outputs, root_build_dir, target_gen_dir))
- assert_files_flags += [
- "--assert-file-list=" + rebase_path(asserted_list_file, root_build_dir),
- ]
- grit_outputs = get_path_info(
- rebase_path(invoker.outputs, ".", target_gen_dir),
- "abspath")
- } else {
- # Ask Grit for the output list.
- grit_outputs_build_rel = exec_script(grit_info_script,
- [ "--outputs", "$rebased_output_dir", source_path, "-f", resource_ids ] +
- grit_flags,
- "list lines")
-
- # The names returned by grit are relative to the current (build) directory,
- # but references to files in this template are expected to be relative to
- # the invoking BUILD.gn file's directory. Make it absolute so there's no
- # ambiguity.
- grit_outputs = get_path_info(
- rebase_path(grit_outputs_build_rel, ".", root_build_dir), "abspath")
- }
+
+ # We want to make sure the declared outputs actually match what Grit is
+ # writing. We write the list to a file (some of the output lists are long
+ # enough to not fit on a Windows command line) and ask Grit to verify those
+ # are the actual outputs at runtime.
+ asserted_list_file = "$target_out_dir/${target_name}_expected_outputs.txt"
+ write_file(asserted_list_file,
+ rebase_path(invoker.outputs, root_build_dir, target_gen_dir))
+ assert_files_flags += [
+ "--assert-file-list=" + rebase_path(asserted_list_file, root_build_dir),
+ ]
+ grit_outputs = get_path_info(
+ rebase_path(invoker.outputs, ".", target_gen_dir),
+ "abspath")
# The config and the action below get this visibility son only the generated
# source set can depend on them. The variable "target_name" will get