|
1 # Copyright (c) 2012 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 { |
|
6 'variables': { |
|
7 # When including this gypi, the following variables must be set: |
|
8 # idl_schema_files: an array of idl files that comprise the api model. |
|
9 # cc_dir: path to generated files |
|
10 # root_namespace: the C++ namespace that all generated files go under |
|
11 # Functions and namespaces can be excluded by setting "nocompile" to true. |
|
12 'api_gen_dir': '<(DEPTH)/tools/json_schema_compiler', |
|
13 'api_gen': '<(api_gen_dir)/compiler.py', |
|
14 }, |
|
15 'actions': [ |
|
16 { |
|
17 'action_name': 'genapi_bundle', |
|
18 'inputs': [ |
|
19 '<(api_gen_dir)/cc_generator.py', |
|
20 '<(api_gen_dir)/code.py', |
|
21 '<(api_gen_dir)/compiler.py', |
|
22 '<(api_gen_dir)/cpp_type_generator.py', |
|
23 '<(api_gen_dir)/cpp_util.py', |
|
24 '<(api_gen_dir)/h_generator.py', |
|
25 '<(api_gen_dir)/idl_schema.py', |
|
26 '<(api_gen_dir)/json_schema.py', |
|
27 '<(api_gen_dir)/model.py', |
|
28 '<(api_gen_dir)/schema_bundle_generator.py', |
|
29 '<(api_gen_dir)/util_cc_helper.py', |
|
30 '<@(idl_schema_files)', |
|
31 ], |
|
32 'outputs': [ |
|
33 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/generated_api.h', |
|
34 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/generated_schemas.h', |
|
35 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/generated_schemas.cc', |
|
36 ], |
|
37 'action': [ |
|
38 'python', |
|
39 '<(api_gen)', |
|
40 '--root=<(DEPTH)', |
|
41 '--destdir=<(SHARED_INTERMEDIATE_DIR)', |
|
42 '--namespace=<(root_namespace)', |
|
43 '--bundle', |
|
44 '<@(idl_schema_files)', |
|
45 ], |
|
46 'message': 'Generating C++ API bundle code', |
|
47 'process_outputs_as_sources': 1, |
|
48 } |
|
49 ], |
|
50 'include_dirs': [ |
|
51 '<(SHARED_INTERMEDIATE_DIR)', |
|
52 '<(DEPTH)', |
|
53 ], |
|
54 'direct_dependent_settings': { |
|
55 'include_dirs': [ |
|
56 '<(SHARED_INTERMEDIATE_DIR)', |
|
57 ] |
|
58 }, |
|
59 # This target exports a hard dependency because it generates header |
|
60 # files. |
|
61 'hard_dependency': 1, |
|
62 } |