OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'variables': { | 6 'variables': { |
7 # When including this gypi, the following variables must be set: | 7 # When including this gypi, the following variables must be set: |
8 # schema_files: an array of json or idl files that comprise the api model. | 8 # schema_files: an array of json or idl files that comprise the api model. |
9 # cc_dir: path to generated files | 9 # cc_dir: path to generated files |
10 # root_namespace: the C++ namespace that all generated files go under | 10 # root_namespace: the C++ namespace that all generated files go under |
11 # Functions and namespaces can be excluded by setting "nocompile" to true. | 11 # Functions and namespaces can be excluded by setting "nocompile" to true. |
| 12 # The default root path of API implementation sources is |
| 13 # chrome/browser/extensions/api and can be overridden by setting "impl_dir". |
12 'api_gen_dir': '<(DEPTH)/tools/json_schema_compiler', | 14 'api_gen_dir': '<(DEPTH)/tools/json_schema_compiler', |
13 'api_gen': '<(api_gen_dir)/compiler.py', | 15 'api_gen': '<(api_gen_dir)/compiler.py', |
| 16 'impl_dir%': 'chrome/browser/extensions/api', |
14 }, | 17 }, |
15 'actions': [ | 18 'actions': [ |
16 { | 19 { |
17 'action_name': 'genapi_bundle', | 20 'action_name': 'genapi_bundle', |
18 'inputs': [ | 21 'inputs': [ |
19 '<(api_gen_dir)/cc_generator.py', | 22 '<(api_gen_dir)/cc_generator.py', |
20 '<(api_gen_dir)/code.py', | 23 '<(api_gen_dir)/code.py', |
21 '<(api_gen_dir)/compiler.py', | 24 '<(api_gen_dir)/compiler.py', |
22 '<(api_gen_dir)/cpp_bundle_generator.py', | 25 '<(api_gen_dir)/cpp_bundle_generator.py', |
23 '<(api_gen_dir)/cpp_type_generator.py', | 26 '<(api_gen_dir)/cpp_type_generator.py', |
(...skipping 12 matching lines...) Expand all Loading... |
36 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/generated_schemas.h', | 39 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/generated_schemas.h', |
37 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/generated_schemas.cc', | 40 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/generated_schemas.cc', |
38 ], | 41 ], |
39 'action': [ | 42 'action': [ |
40 'python', | 43 'python', |
41 '<(api_gen)', | 44 '<(api_gen)', |
42 '--root=<(DEPTH)', | 45 '--root=<(DEPTH)', |
43 '--destdir=<(SHARED_INTERMEDIATE_DIR)', | 46 '--destdir=<(SHARED_INTERMEDIATE_DIR)', |
44 '--namespace=<(root_namespace)', | 47 '--namespace=<(root_namespace)', |
45 '--generator=cpp-bundle', | 48 '--generator=cpp-bundle', |
| 49 '--impl-dir=<(impl_dir)', |
46 '<@(schema_files)', | 50 '<@(schema_files)', |
47 '<@(non_compiled_schema_files)', | 51 '<@(non_compiled_schema_files)', |
48 ], | 52 ], |
49 'message': 'Generating C++ API bundle code', | 53 'message': 'Generating C++ API bundle code', |
50 'process_outputs_as_sources': 1, | 54 'process_outputs_as_sources': 1, |
51 } | 55 } |
52 ], | 56 ], |
53 'include_dirs': [ | 57 'include_dirs': [ |
54 '<(SHARED_INTERMEDIATE_DIR)', | 58 '<(SHARED_INTERMEDIATE_DIR)', |
55 '<(DEPTH)', | 59 '<(DEPTH)', |
56 ], | 60 ], |
57 'direct_dependent_settings': { | 61 'direct_dependent_settings': { |
58 'include_dirs': [ | 62 'include_dirs': [ |
59 '<(SHARED_INTERMEDIATE_DIR)', | 63 '<(SHARED_INTERMEDIATE_DIR)', |
60 ] | 64 ] |
61 }, | 65 }, |
62 # This target exports a hard dependency because it generates header | 66 # This target exports a hard dependency because it generates header |
63 # files. | 67 # files. |
64 'hard_dependency': 1, | 68 'hard_dependency': 1, |
65 } | 69 } |
OLD | NEW |