Add more GN deps to the build.
These deps are some of those required to compile chrome/browser (so mostly those containing resources and protobufs that have generated headers). chrome/browser still has some dependencies left.
Add third_party libs libaddressinput and dom_distiller_js.
Add components dom_distiller and policy.
Separate the generate_library_loader into a separate .gni file.
Rename components_strings to just strings.
R=ajwong@chromium.org
Review URL: https://codereview.chromium.org/362583002
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 797b25046f036852b50520205064094bd9798c99
diff --git a/generate_library_loader.gni b/generate_library_loader.gni
new file mode 100644
index 0000000..5246aef
--- /dev/null
+++ b/generate_library_loader.gni
@@ -0,0 +1,54 @@
+# 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.
+
+# This template makes a stub for a Linux system library that dynamically loads
+# it at runtime.
+
+# name: Name to use for the value of the --name arg.
+# output_h/output_cc: Names for the generated header/cc file with no dir.
+# header: header file to process. Example: "<foo/bar.h>"
+# functions: List of strings for functions to process.
+# config: (optional) Label of the config generated by pkgconfig.
+# bundled_header: (optional)
+template("generate_library_loader") {
+ output_h = "$root_gen_dir/library_loaders/" + invoker.output_h
+ output_cc = "$root_gen_dir/library_loaders/" + invoker.output_cc
+
+ action_visibility = ":$target_name"
+ action("${target_name}_loader") {
+ visibility = action_visibility
+
+ script = "//tools/generate_library_loader/generate_library_loader.py"
+ if (defined(invoker.visibility)) {
+ visibility = invoker.visibility
+ }
+
+ outputs = [ output_h, output_cc ]
+
+ args = [
+ "--name", invoker.name,
+ "--output-h", rebase_path(output_h),
+ "--output-cc", rebase_path(output_cc),
+ "--header", invoker.header,
+ # Note GYP build exposes a per-target variable to control this, which, if
+ # manually set to true, will disable dlopen(). Its not clear this is
+ # needed, so here we just leave off. If this can be done globally, we can
+ # expose one switch for this value, otherwise we need to add a template
+ # param for this.
+ "--link-directly=0",
+ ]
+ if (defined(invoker.bundled_header)) {
+ args += [ "--bundled-header", invoker.bundled_header ]
+ }
+ args += invoker.functions
+ }
+
+ source_set(target_name) {
+ if (defined(invoker.config)) {
+ direct_dependent_configs = [ invoker.config ]
+ }
+ sources = [ output_h, output_cc ]
+ deps = [ ":${target_name}_loader" ]
+ }
+}