c651e23d2a6adb4e410f5347e26af03570aee4ce
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / bindings / modules / BUILD.gn
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 import("//third_party/WebKit/Source/modules/modules.gni")
6 import("//third_party/WebKit/Source/bindings/core/core.gni")
7 import("//third_party/WebKit/Source/bindings/modules/modules.gni")
8 import("//third_party/WebKit/Source/bindings/scripts/scripts.gni")
9 import("//third_party/WebKit/Source/build/scripts/scripts.gni")
10
11 visibility = "//third_party/WebKit/*"
12
13 # GYP version: Source/bindings/modules/generated.gyp:bindings_modules_generated
14 group("bindings_modules_generated") {
15   deps = [
16     ":modules_bindings_generated_event_interfaces",
17     ":bindings_modules_generated_event_modules_factory",
18     ":bindings_modules_generated_event_modules_names",
19     ":bindings_modules_generated_event_target_modules_factory",
20     ":bindings_modules_generated_event_target_modules_names",
21   ]
22 }
23
24 # GYP version: event_interfaces action in bindings_modules_generated
25 generate_event_interfaces("modules_bindings_generated_event_interfaces") {
26   sources = modules_event_idl_files
27   output_file = "EventModulesInterfaces.in"
28   suffix = "Modules"
29 }
30
31 # GYP version: EventModulesFactory action in bindings_modules_generated
32 make_event_factory("bindings_modules_generated_event_modules_factory") {
33   in_files = [
34     "$root_gen_dir/blink/EventModulesInterfaces.in",
35   ]
36   outputs = [
37     "$blink_modules_output_dir/EventModules.cpp",
38     "$blink_modules_output_dir/EventModulesHeaders.h",
39     "$blink_modules_output_dir/EventModulesInterfaces.h",
40   ]
41 }
42
43 # GYP version: EventModulesNames action in bindings_modules_generated
44 make_names("bindings_modules_generated_event_modules_names") {
45   in_files = [
46     "$root_gen_dir/blink/EventModulesInterfaces.in",
47   ]
48   outputs = [
49     "$blink_modules_output_dir/EventModulesNames.cpp",
50     "$blink_modules_output_dir/EventModulesNames.h",
51   ]
52 }
53
54 # GYP version: EventTargetModulesFactory action in bindings_modules_generated
55 make_event_factory("bindings_modules_generated_event_target_modules_factory") {
56   in_files = [
57     "../../modules/EventTargetModulesFactory.in",
58   ]
59   outputs = [
60     "$blink_modules_output_dir/EventTargetModulesHeaders.h",
61     "$blink_modules_output_dir/EventTargetModulesInterfaces.h",
62   ]
63 }
64
65 # GYP version: EventTargetModulesNames action in bindings_modules_generated
66 make_names("bindings_modules_generated_event_target_modules_names") {
67   in_files = [
68     "../../modules/EventTargetModulesFactory.in",
69   ]
70   outputs = [
71     "$blink_modules_output_dir/EventTargetModulesNames.cpp",
72     "$blink_modules_output_dir/EventTargetModulesNames.h",
73   ]
74 }
75
76 # ------------------------------------------------------------------------------
77
78 # GYP version: Source/bindings/modules/generated.gyp:interfaces_info_individual_modules
79 compute_interfaces_info_individual("interfaces_info_individual_modules") {
80   sources_static = modules_static_idl_files
81   # No generated files currently, will add with constructors
82   sources_generated = []
83   component_dir = "modules"
84   output_file =
85     "$bindings_modules_output_dir/InterfacesInfoModulesIndividual.pickle"
86 }
87
88 # GYP version: Source/bindings/modules/generated.gyp:interfaces_info
89 action("interfaces_info") {
90   script = "$bindings_scripts_dir/compute_interfaces_info_overall.py"
91
92   inputs = [
93     "$bindings_core_output_dir/InterfacesInfoCoreIndividual.pickle",
94     "$bindings_modules_output_dir/InterfacesInfoModulesIndividual.pickle",
95   ]
96   outputs = [
97     "$bindings_modules_output_dir/InterfacesInfoModules.pickle",
98   ]
99
100   args = [
101     "--write-file-only-if-changed=1",
102     "--",
103     rebase_path(
104         "$bindings_core_output_dir/InterfacesInfoCoreIndividual.pickle",
105         root_build_dir),
106     rebase_path(
107         "$bindings_modules_output_dir/InterfacesInfoModulesIndividual.pickle",
108         root_build_dir),
109     rebase_path(
110         "$bindings_modules_output_dir/InterfacesInfoModules.pickle",
111         root_build_dir),
112   ]
113
114   deps = [
115     ":interfaces_info_individual_modules",
116     "//third_party/WebKit/Source/bindings/core:interfaces_info_individual_core",
117   ]
118 }
119
120