diff options
author | beaudoin@chromium.org <beaudoin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-15 00:37:34 +0000 |
---|---|---|
committer | beaudoin@chromium.org <beaudoin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-15 00:37:34 +0000 |
commit | e02d8e288c3f4be8220c21b3936e484892e39095 (patch) | |
tree | 65ec2f5c688fe0570fe607f0a2ea78f1adaa9ada /build | |
parent | 63931bd97ba41089edb259b906e0869b3de96c70 (diff) | |
download | chromium_src-e02d8e288c3f4be8220c21b3936e484892e39095.zip chromium_src-e02d8e288c3f4be8220c21b3936e484892e39095.tar.gz chromium_src-e02d8e288c3f4be8220c21b3936e484892e39095.tar.bz2 |
Moving prepopulated search engines to a JSON file.
This CL also includes the python script required to convert the JSON file to a .cc/.h pair. The generated .cc/.h are not generated by the build process and must be committed to the repository.
BUG=159990
Review URL: https://chromiumcodereview.appspot.com/11377049
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167793 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
-rw-r--r-- | build/json_to_struct.gypi | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/build/json_to_struct.gypi b/build/json_to_struct.gypi new file mode 100644 index 0000000..17b0ba47 --- /dev/null +++ b/build/json_to_struct.gypi @@ -0,0 +1,48 @@ +# Copyright 2012 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'variables': { + # When including this gypi, the following variables must be set: + # schema_file: a json file that comprise the structure model. + # namespace: the C++ namespace that all generated files go under + # cc_dir: path to generated files + # Functions and namespaces can be excluded by setting "nocompile" to true. + 'struct_gen_dir': '<(DEPTH)/tools/json_to_struct', + 'struct_gen': '<(struct_gen_dir)/json_to_struct.py', + }, + 'rules': [ + { + 'rule_name': 'genstaticinit', + 'extension': 'json', + 'inputs': [ + '<(struct_gen_dir)/element_generator.py', + '<(struct_gen_dir)/json_to_struct.py', + '<(struct_gen_dir)/struct_generator.py', + '<(schema_file)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_ROOT).cc', + '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_ROOT).h', + ], + 'action': [ + 'python', + '<(struct_gen)', + '<(RULE_INPUT_PATH)', + '--destdir=<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)', + '--namespace=<(namespace)', + '--schema=<(schema_file)', + ], + 'message': 'Generating C++ static initializers from <(RULE_INPUT_PATH)', + 'process_outputs_as_sources': 1, + }, + ], + 'include_dirs': [ + '<(SHARED_INTERMEDIATE_DIR)', + '<(DEPTH)', + ], + # This target exports a hard dependency because it generates header + # files. + 'hard_dependency': 1, +} |