summaryrefslogtreecommitdiffstats
path: root/build/json_schema_compile.gypi
diff options
context:
space:
mode:
authormiket@chromium.org <miket@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-19 22:24:35 +0000
committermiket@chromium.org <miket@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-19 22:24:35 +0000
commitae33d3293bfb954bae710a31f401b0d833ba7be4 (patch)
tree7f7da014d0e47a89313f815d4cb42a80efba4144 /build/json_schema_compile.gypi
parent558a9746b8245f7bf8f162709755a373566bcf65 (diff)
downloadchromium_src-ae33d3293bfb954bae710a31f401b0d833ba7be4.zip
chromium_src-ae33d3293bfb954bae710a31f401b0d833ba7be4.tar.gz
chromium_src-ae33d3293bfb954bae710a31f401b0d833ba7be4.tar.bz2
Reapply 127159 (http://codereview.chromium.org/9666059) plus important fixes.
Refactor extension_function_dispatcher to extract ExtensionFunctionRegistry. This allows us to generate an additional code block that takes an ExtensionFunctionRegistry and asks it to register generated API functions. Then switch DnsResolve over to get registered this way. Along the way, notice that DNSResolve is capitalized using an untenable style. Fix that. Fixes since original 127159: - change name of build rule to gen_bundle_api - actually add per-file dependencies to .gyp (this was why clean builds failed) - change 'outputs' to match the emitted filename, fixing a needless rebuild problem. - split the top-level build action that was a part of json_schema_compile.gypi, and include it only in api.gyp, thus fixing the problem where json_schema_compiler_tests.gyp was asking it to create outputs in the tools/json_schema_compiler_test directory, again causing needless work during the build process. BUG=none (essential plumbing work) TEST=same as before. Review URL: https://chromiumcodereview.appspot.com/9716003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127555 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build/json_schema_compile.gypi')
-rw-r--r--build/json_schema_compile.gypi6
1 files changed, 4 insertions, 2 deletions
diff --git a/build/json_schema_compile.gypi b/build/json_schema_compile.gypi
index b44fe91..6c8f69c 100644
--- a/build/json_schema_compile.gypi
+++ b/build/json_schema_compile.gypi
@@ -5,7 +5,8 @@
{
'variables': {
# When including this gypi, the following variables must be set:
- # json_schema_files: an array of json files that comprise the api model.
+ # json_schema_files: a list of json files that comprise the api model.
+ # idl_schema_files: a list of IDL files that comprise the api model.
# cc_dir: path to generated files
# root_namespace: the C++ namespace that all generated files go under
# Functions and namespaces can be excluded by setting "nocompile" to true.
@@ -53,6 +54,7 @@
},
{
'rule_name': 'genapi_idl',
+ 'msvs_external_rule': 1,
'extension': 'idl',
'inputs': [
'<(api_gen_dir)/any.cc',
@@ -72,7 +74,7 @@
# TODO(calamity): uncomment this when gyp on windows behaves like other
# platforms. List expansions of filepaths in inputs expand to different
# things.
- # '<@(json_schema_files)',
+ # '<@(idl_schema_files)',
],
'outputs': [
'<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_ROOT).cc',