Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1705)

Unified Diff: mojo/public/tools/bindings/mojom_bindings_generator_explicit.gypi

Issue 665083008: Refactor bindings generation in GYP (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Rebase2 Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/public/mojo_public.gyp ('k') | mojo/public/tools/bindings/mojom_list_outputs.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/public/tools/bindings/mojom_bindings_generator_explicit.gypi
diff --git a/mojo/public/tools/bindings/mojom_bindings_generator.gypi b/mojo/public/tools/bindings/mojom_bindings_generator_explicit.gypi
similarity index 85%
copy from mojo/public/tools/bindings/mojom_bindings_generator.gypi
copy to mojo/public/tools/bindings/mojom_bindings_generator_explicit.gypi
index c6b10afaed818ad8f1eca474e7dd7dc442534fee..e7ad4bbbf17d4fdf88f1f938d9d23527be11b8d1 100644
--- a/mojo/public/tools/bindings/mojom_bindings_generator.gypi
+++ b/mojo/public/tools/bindings/mojom_bindings_generator_explicit.gypi
@@ -3,13 +3,17 @@
# found in the LICENSE file.
{
- 'rules': [
+ 'variables': {
+ 'mojom_base_output_dir':
+ '<!(python <(DEPTH)/build/inverse_depth.py <(DEPTH))',
+ 'mojom_generated_outputs': [
+ '<!@(python <(DEPTH)/mojo/public/tools/bindings/mojom_list_outputs.py --basedir <(mojom_base_output_dir) <@(mojom_files))',
+ ],
+ },
+ 'actions': [
{
- 'rule_name': '<(_target_name)_mojom_bindings_generator',
- 'extension': 'mojom',
+ 'action_name': '<(_target_name)_mojom_bindings_generator',
'variables': {
- 'mojom_base_output_dir':
- '<!(python <(DEPTH)/build/inverse_depth.py <(DEPTH))',
'mojom_bindings_generator':
'<(DEPTH)/mojo/public/tools/bindings/mojom_bindings_generator.py',
'java_out_dir': '<(PRODUCT_DIR)/java_mojo/<(_target_name)/src',
@@ -75,39 +79,42 @@
'<(DEPTH)/mojo/public/tools/bindings/pylib/mojom/parse/translate.py',
],
'outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).mojom.cc',
- '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).mojom.h',
- '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).mojom.js',
- '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT)_mojom.py',
- '<(SHARED_INTERMEDIATE_DIR)/<(mojom_base_output_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).mojom-internal.h',
+ '<@(mojom_generated_outputs)',
],
'action': [
'python', '<@(mojom_bindings_generator)',
- './<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).mojom',
+ '<@(mojom_files)',
'--use_chromium_bundled_pylibs',
'-d', '<(DEPTH)',
'<@(mojom_import_args)',
'-o', '<(SHARED_INTERMEDIATE_DIR)',
'--java_output_directory=<(java_out_dir)',
],
- 'message': 'Generating Mojo bindings from <(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).mojom',
- 'process_outputs_as_sources': 1,
+ 'message': 'Generating Mojo bindings from <@(mojom_files)',
}
],
- 'include_dirs': [
- '<(DEPTH)',
- '<(SHARED_INTERMEDIATE_DIR)',
- ],
'direct_dependent_settings': {
- 'include_dirs': [
- '<(DEPTH)',
- '<(SHARED_INTERMEDIATE_DIR)',
- ],
'variables': {
'generated_src_dirs': [
'<(PRODUCT_DIR)/java_mojo/<(_target_name)/src',
],
},
+ 'sources': [
+ '<@(mojom_generated_outputs)',
+ ],
+ # Include paths needed to compile the generated sources into a library.
+ 'include_dirs': [
+ '<(DEPTH)',
+ '<(SHARED_INTERMEDIATE_DIR)',
+ ],
+ 'direct_dependent_settings': {
+ # Include paths needed to find the generated header files and their transitive
bradn 2014/11/11 23:48:22 >80
+ # dependancies when using the library.
+ 'include_dirs': [
+ '<(DEPTH)',
+ '<(SHARED_INTERMEDIATE_DIR)',
+ ],
+ }
},
'hard_dependency': 1,
}
« no previous file with comments | « mojo/public/mojo_public.gyp ('k') | mojo/public/tools/bindings/mojom_list_outputs.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698