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: | 8 # schema_files: |
9 # An array of json or idl files that comprise the api model. | 9 # An array of json or idl files that comprise the api model. |
10 # schema_include_rules (optional): | 10 # schema_include_rules (optional): |
11 # An array of paths to include when searching for referenced objects, | 11 # An array of paths to include when searching for referenced objects, |
12 # with the namespace separated by a :. | 12 # with the namespace separated by a :. |
13 # Example: | 13 # Example: |
14 # [ '/foo/bar:Foo::Bar::%(namespace)s' ] | 14 # [ '/foo/bar:Foo::Bar::%(namespace)s' ] |
15 # cc_dir: | 15 # cc_dir: |
16 # The directory to put the generated code in. | 16 # The directory to put the generated code in. |
17 # root_namespace: | 17 # root_namespace: |
18 # A Python string substituion pattern used to generate the C++ | 18 # A Python string substituion pattern used to generate the C++ |
19 # namespace for each API. Use %(namespace)s to replace with the API | 19 # namespace for each API. Use %(namespace)s to replace with the API |
20 # namespace, like "toplevel::%(namespace)s_api". | 20 # namespace, like "toplevel::%(namespace)s_api". |
| 21 # bundle_name: |
| 22 # A string to prepend to generated bundle class names, so that multiple |
| 23 # bundle rules can be used without conflicting. Only used with one of |
| 24 # the cpp-bundle generators. |
21 # | 25 # |
22 # Functions and namespaces can be excluded by setting "nocompile" to true. | 26 # Functions and namespaces can be excluded by setting "nocompile" to true. |
23 # The default root path of API implementation sources is | 27 # The default root path of API implementation sources is |
24 # chrome/browser/extensions/api and can be overridden by setting "impl_dir". | 28 # chrome/browser/extensions/api and can be overridden by setting "impl_dir". |
25 'api_gen_dir': '<(DEPTH)/tools/json_schema_compiler', | 29 'api_gen_dir': '<(DEPTH)/tools/json_schema_compiler', |
26 'api_gen': '<(api_gen_dir)/compiler.py', | 30 'api_gen': '<(api_gen_dir)/compiler.py', |
27 'generator_files': [ | 31 'generator_files': [ |
28 '<(api_gen_dir)/cc_generator.py', | 32 '<(api_gen_dir)/cc_generator.py', |
29 '<(api_gen_dir)/code.py', | 33 '<(api_gen_dir)/code.py', |
30 '<(api_gen_dir)/compiler.py', | 34 '<(api_gen_dir)/compiler.py', |
(...skipping 19 matching lines...) Expand all Loading... |
50 'outputs': [ | 54 'outputs': [ |
51 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/generated_schemas.h', | 55 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/generated_schemas.h', |
52 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/generated_schemas.cc', | 56 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/generated_schemas.cc', |
53 ], | 57 ], |
54 'action': [ | 58 'action': [ |
55 'python', | 59 'python', |
56 '<(api_gen)', | 60 '<(api_gen)', |
57 '--root=<(DEPTH)', | 61 '--root=<(DEPTH)', |
58 '--destdir=<(SHARED_INTERMEDIATE_DIR)', | 62 '--destdir=<(SHARED_INTERMEDIATE_DIR)', |
59 '--namespace=<(root_namespace)', | 63 '--namespace=<(root_namespace)', |
| 64 '--bundle-name=<(bundle_name)', |
60 '--generator=cpp-bundle-schema', | 65 '--generator=cpp-bundle-schema', |
61 '--include-rules=<(schema_include_rules)', | 66 '--include-rules=<(schema_include_rules)', |
62 '<@(schema_files)', | 67 '<@(schema_files)', |
63 '<@(non_compiled_schema_files)', | 68 '<@(non_compiled_schema_files)', |
64 ], | 69 ], |
65 'message': 'Generating C++ API bundle code for schemas', | 70 'message': 'Generating C++ API bundle code for schemas', |
66 'process_outputs_as_sources': 1, | 71 'process_outputs_as_sources': 1, |
67 # Avoid running MIDL compiler on IDL input files. | 72 # Avoid running MIDL compiler on IDL input files. |
68 'explicit_idl_action': 1, | 73 'explicit_idl_action': 1, |
69 }, | 74 }, |
70 ], | 75 ], |
71 'include_dirs': [ | 76 'include_dirs': [ |
72 '<(SHARED_INTERMEDIATE_DIR)', | 77 '<(SHARED_INTERMEDIATE_DIR)', |
73 '<(DEPTH)', | 78 '<(DEPTH)', |
74 ], | 79 ], |
75 'direct_dependent_settings': { | 80 'direct_dependent_settings': { |
76 'include_dirs': [ | 81 'include_dirs': [ |
77 '<(SHARED_INTERMEDIATE_DIR)', | 82 '<(SHARED_INTERMEDIATE_DIR)', |
78 ] | 83 ] |
79 }, | 84 }, |
80 # This target exports a hard dependency because it generates header | 85 # This target exports a hard dependency because it generates header |
81 # files. | 86 # files. |
82 'hard_dependency': 1, | 87 'hard_dependency': 1, |
83 } | 88 } |
OLD | NEW |