Index: tools/resources/generate_resource_whitelist.gni |
diff --git a/tools/resources/generate_resource_whitelist.gni b/tools/resources/generate_resource_whitelist.gni |
new file mode 100644 |
index 0000000000000000000000000000000000000000..87038198689f931d50d250f8aa65d2b6daf73124 |
--- /dev/null |
+++ b/tools/resources/generate_resource_whitelist.gni |
@@ -0,0 +1,48 @@ |
+# Copyright 2016 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. |
+ |
+# Generates the final .pak file whitelist that can be used by repack()'s |
+# repack_whitelist parameter. Used resources are tracked by the toolchain when |
+# enable_resource_whitelist_generation = true, and per-.o and per-.so .whitelist |
+# files are generated. However, there are a couple of IDs (IDS_VERSION_UI_32BIT |
+# and IDS_VERSION_UI_64BIT) that should always be included, and which are not |
+# referenced in code. This action adds in these two ids to an existing |
+# .so.whitelist. |
+# |
+# Variables |
+# input: Path to the .whitelist created by the toolchain. |
+# output: Path to write the output whitelist to. |
+# |
+# Example |
+# generate_resource_whitelist("pak_whitelist") { |
+# deps = [ ":my_shared_library" ] |
+# input = "$root_out_dir/libmy_shared_library$shlib_extension.whitelist" |
+# output = "$target_gen_dir/pak_whitelist.txt" |
+# } |
+template("generate_resource_whitelist") { |
+ action(target_name) { |
+ forward_variables_from(invoker, [ "deps" ]) |
+ assert(is_android, |
+ "Resource whitelist currently implemented only on Android") |
+ |
+ script = "//tools/resources/generate_resource_whitelist.py" |
+ |
+ inputs = [ |
+ invoker.input, |
+ ] |
+ |
+ outputs = [ |
+ invoker.output, |
+ ] |
+ |
+ args = [ |
+ "-i", |
+ rebase_path(invoker.input, root_build_dir), |
+ "-o", |
+ rebase_path(invoker.output, root_build_dir), |
+ "--out-dir=.", |
+ "--use-existing-resource-ids", |
+ ] |
+ } |
+} |