1# Copyright 2014 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5# Paraneters:
6#   filename
7#       Output base name (will be put into gen/blink with various extensions).
8#
9#   resources
10#       List of resource files.
11#
12#   namespace (optional)
13#       String. If specified, files will be wrapped in this namespace.
14template("make_file_arrays") {
15  assert(defined(invoker.resources), "Need resources in $target_name")
16  assert(defined(invoker.filename), "Need filename in $target_name")
17
18  code_gen_target_name = target_name + "_code_gen"
19
20  action(code_gen_target_name) {
21    script = "//third_party/WebKit/Source/build/scripts/make-file-arrays.py"
22
23    sources = [ script ]
24    sources += invoker.resources
25
26    inputs = invoker.resources
27    outputs = [
28      "$root_gen_dir/blink/" + invoker.filename + ".h",
29      "$root_gen_dir/blink/" + invoker.filename + ".cpp",
30    ]
31
32    args = [
33      "--out-h=gen/blink/" + invoker.filename + ".h",
34      "--out-cpp=gen/blink/" + invoker.filename + ".cpp",
35    ]
36    if (defined(invoker.namespace)) {
37      args += [ "--namespace=" + invoker.namespace ]
38    }
39    args += rebase_path(invoker.resources, root_build_dir, ".")
40  }
41
42  source_set(target_name) {
43    sources = get_target_outputs(":$code_gen_target_name")
44    deps = [ ":$code_gen_target_name" ]
45    configs += [ "//third_party/WebKit/Source:config" ]
46  }
47}
48
49
50