Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / tools / gn / BUILD.gn
1 # Copyright (c) 2013 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 defines = [ "GN_BUILD" ]
6
7 static_library("gn_lib") {
8   sources = [
9     "action_target_generator.cc",
10     "action_target_generator.h",
11     "action_values.cc",
12     "action_values.h",
13     "args.cc",
14     "args.h",
15     "binary_target_generator.cc",
16     "binary_target_generator.h",
17     "build_settings.cc",
18     "build_settings.h",
19     "builder.cc",
20     "builder.h",
21     "builder_record.cc",
22     "builder_record.h",
23     "c_include_iterator.cc",
24     "c_include_iterator.h",
25     "command_args.cc",
26     "command_check.cc",
27     "command_desc.cc",
28     "command_gen.cc",
29     "command_help.cc",
30     "command_refs.cc",
31     "commands.cc",
32     "commands.h",
33     "config.cc",
34     "config.h",
35     "config_values.cc",
36     "config_values.h",
37     "config_values_extractors.cc",
38     "config_values_extractors.h",
39     "config_values_generator.cc",
40     "config_values_generator.h",
41     "copy_target_generator.cc",
42     "copy_target_generator.h",
43     "err.cc",
44     "err.h",
45     "escape.cc",
46     "escape.h",
47     "filesystem_utils.cc",
48     "filesystem_utils.h",
49     "functions.cc",
50     "functions.h",
51     "functions_target.cc",
52     "function_exec_script.cc",
53     "function_foreach.cc",
54     "function_get_label_info.cc",
55     "function_get_path_info.cc",
56     "function_get_target_outputs.cc",
57     "function_process_file_template.cc",
58     "function_read_file.cc",
59     "function_rebase_path.cc",
60     "function_set_default_toolchain.cc",
61     "function_set_defaults.cc",
62     "function_template.cc",
63     "function_toolchain.cc",
64     "function_write_file.cc",
65     "group_target_generator.cc",
66     "group_target_generator.h",
67     "header_checker.cc",
68     "header_checker.h",
69     "import_manager.cc",
70     "import_manager.h",
71     "input_conversion.cc",
72     "input_conversion.h",
73     "input_file.cc",
74     "input_file.h",
75     "input_file_manager.cc",
76     "input_file_manager.h",
77     "item.cc",
78     "item.h",
79     "label.cc",
80     "label.h",
81     "label_ptr.h",
82     "loader.cc",
83     "loader.h",
84     "location.cc",
85     "location.h",
86     "ninja_action_target_writer.cc",
87     "ninja_action_target_writer.h",
88     "ninja_binary_target_writer.cc",
89     "ninja_binary_target_writer.h",
90     "ninja_build_writer.cc",
91     "ninja_build_writer.h",
92     "ninja_copy_target_writer.cc",
93     "ninja_copy_target_writer.h",
94     "ninja_group_target_writer.cc",
95     "ninja_group_target_writer.h",
96     "ninja_helper.cc",
97     "ninja_helper.h",
98     "ninja_target_writer.cc",
99     "ninja_target_writer.h",
100     "ninja_toolchain_writer.cc",
101     "ninja_toolchain_writer.h",
102     "ninja_writer.cc",
103     "ninja_writer.h",
104     "operators.cc",
105     "operators.h",
106     "output_file.h",
107     "parse_tree.cc",
108     "parse_tree.h",
109     "parser.cc",
110     "parser.h",
111     "path_output.cc",
112     "path_output.h",
113     "pattern.cc",
114     "pattern.h",
115     "scheduler.cc",
116     "scheduler.h",
117     "scope.cc",
118     "scope.h",
119     "scope_per_file_provider.cc",
120     "scope_per_file_provider.h",
121     "settings.cc",
122     "settings.h",
123     "setup.cc",
124     "setup.h",
125     "source_dir.cc",
126     "source_dir.h",
127     "source_file.cc",
128     "source_file.h",
129     "standard_out.cc",
130     "standard_out.h",
131     "string_utils.cc",
132     "string_utils.h",
133     "substitution_list.cc",
134     "substitution_list.h",
135     "substitution_pattern.cc",
136     "substitution_pattern.h",
137     "substitution_type.cc",
138     "substitution_type.h",
139     "substitution_writer.cc",
140     "substitution_writer.h",
141     "target.cc",
142     "target.h",
143     "target_generator.cc",
144     "target_generator.h",
145     "template.cc",
146     "template.h",
147     "token.cc",
148     "token.h",
149     "tokenizer.cc",
150     "tokenizer.h",
151     "toolchain.cc",
152     "toolchain.h",
153     "trace.cc",
154     "trace.h",
155     "unique_vector.h",
156     "value.cc",
157     "value.h",
158     "value_extractors.cc",
159     "value_extractors.h",
160     "variables.cc",
161     "variables.h",
162     "visibility.cc",
163     "visibility.h",
164   ]
165
166   deps = [
167     "//base",
168     "//base/third_party/dynamic_annotations",
169   ]
170 }
171
172 executable("gn") {
173   sources = [
174     "gn_main.cc",
175   ]
176
177   deps = [
178     ":gn_lib",
179     "//build/util:last_change",
180   ]
181 }
182
183 test("gn_unittests") {
184   sources = [
185     "action_target_generator_unittest.cc",
186     "builder_unittest.cc",
187     "c_include_iterator_unittest.cc",
188     "config_values_extractors_unittest.cc",
189     "escape_unittest.cc",
190     "filesystem_utils_unittest.cc",
191     "function_foreach_unittest.cc",
192     "function_get_label_info_unittest.cc",
193     "function_get_path_info_unittest.cc",
194     "function_get_target_outputs_unittest.cc",
195     "function_process_file_template_unittest.cc",
196     "function_rebase_path_unittest.cc",
197     "function_write_file_unittest.cc",
198     "functions_target_unittest.cc",
199     "functions_unittest.cc",
200     "header_checker_unittest.cc",
201     "input_conversion_unittest.cc",
202     "label_unittest.cc",
203     "loader_unittest.cc",
204     "ninja_action_target_writer_unittest.cc",
205     "ninja_binary_target_writer_unittest.cc",
206     "ninja_copy_target_writer_unittest.cc",
207     "ninja_helper_unittest.cc",
208     "ninja_target_writer_unittest.cc",
209     "operators_unittest.cc",
210     "parse_tree_unittest.cc",
211     "parser_unittest.cc",
212     "path_output_unittest.cc",
213     "pattern_unittest.cc",
214     "run_all_unittests.cc",
215     "scope_per_file_provider_unittest.cc",
216     "scope_unittest.cc",
217     "source_dir_unittest.cc",
218     "string_utils_unittest.cc",
219     "substitution_pattern_unittest.cc",
220     "substitution_writer_unittest.cc",
221     "target_generator_unittest.cc",
222     "target_unittest.cc",
223     "template_unittest.cc",
224     "test_with_scope.cc",
225     "test_with_scope.h",
226     "tokenizer_unittest.cc",
227     "unique_vector_unittest.cc",
228     "value_unittest.cc",
229     "visibility_unittest.cc",
230   ]
231   deps = [
232     ":gn_lib",
233     "//base/test:test_support",
234     "//testing/gtest",
235   ]
236 }
237
238 executable("generate_test_gn_data") {
239   sources = [ "generate_test_gn_data.cc" ]
240   deps = [ "//base" ]
241 }