summaryrefslogtreecommitdiffstats
path: root/third_party/cacheinvalidation/cacheinvalidation.gyp
diff options
context:
space:
mode:
authoriannucci@chromium.org <iannucci@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-31 01:07:32 +0000
committeriannucci@chromium.org <iannucci@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-31 01:07:32 +0000
commit69e1c46004ad506b2a7cfbce218f4cd20ba76bfe (patch)
treea888a9aa5dde202f123e8faba2defc569fceb1c7 /third_party/cacheinvalidation/cacheinvalidation.gyp
parent9c5620d351e6f8f384de2b3c8a3d2ec34101e21e (diff)
downloadchromium_src-69e1c46004ad506b2a7cfbce218f4cd20ba76bfe.zip
chromium_src-69e1c46004ad506b2a7cfbce218f4cd20ba76bfe.tar.gz
chromium_src-69e1c46004ad506b2a7cfbce218f4cd20ba76bfe.tar.bz2
Change protoc build rule to not use cygwin bash.
Now protoc.exe will be directly invoked. This rolls cacheinvalidation from r218:r219 ------------------------------------------------------------------------ r219 | ghcooper@gmail.com | 2012-07-20 17:44:14 -0700 (Fri, 20 Jul 2012) | 1 line move protos out of v2/; use relative paths for proto imports ------------------------------------------------------------------------ This also rolls gyp from r1440:r1441 ------------------------------------------------------------------------ r1441 | iannucci@chromium.org | 2012-07-26 17:54:17 -0700 (Thu, 26 Jul 2012) | 8 lines Fix bug: non-cygwin actions incorrectly run options through _FixPath. This adds an additional heuristic to the existing one. Now if an option begins with either a '/' OR a '-', it assumes it's not a strict path. Added a TODO which notes that the existing (and new) behavior will miss options such as '--opt=a/posix/path', and '/opt:a/posix/path'. Review URL: https://chromiumcodereview.appspot.com/10829049 ------------------------------------------------------------------------ BUG=123026,113339 R=scottmg@chromium.org,cmp@chromium.org,nsylvain@chromium.org,jar@chromium.org,akalin@chromium.org,maruel@chromium.org TEST= Review URL: https://chromiumcodereview.appspot.com/10796051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149100 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/cacheinvalidation/cacheinvalidation.gyp')
-rw-r--r--third_party/cacheinvalidation/cacheinvalidation.gyp83
1 files changed, 11 insertions, 72 deletions
diff --git a/third_party/cacheinvalidation/cacheinvalidation.gyp b/third_party/cacheinvalidation/cacheinvalidation.gyp
index 6e4c03e..77e3c52 100644
--- a/third_party/cacheinvalidation/cacheinvalidation.gyp
+++ b/third_party/cacheinvalidation/cacheinvalidation.gyp
@@ -7,94 +7,33 @@
# This library should build cleanly with the extra warnings turned on
# for Chromium.
'chromium_code': 1,
- # The root directory for the proto files.
- 'proto_dir_root': 'files/src',
# The relative path of the cacheinvalidation proto files from
- # proto_dir_root.
+ # 'files/src'.
# TODO(akalin): Add a RULE_INPUT_DIR predefined variable to gyp so
# we don't need this variable.
- # TODO(ghc): Remove v2/ dir and move all files up a level.
- 'proto_dir_relpath': 'google/cacheinvalidation/v2',
+ 'proto_dir_relpath': 'google/cacheinvalidation',
# Where files generated from proto files are put.
- 'protoc_out_dir': '<(SHARED_INTERMEDIATE_DIR)/protoc_out',
- # The path to the protoc executable.
- 'protoc': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)',
+ 'proto_in_dir': 'files/src/<(proto_dir_relpath)',
+ 'proto_out_dir': '<(proto_dir_relpath)',
},
'targets': [
- # The rule/action to generate files from the cacheinvalidation proto
- # files.
- {
- 'target_name': 'cacheinvalidation_proto',
- 'type': 'none',
- 'sources': [
- '<(proto_dir_root)/<(proto_dir_relpath)/client.proto',
- '<(proto_dir_root)/<(proto_dir_relpath)/client_gateway.proto',
- '<(proto_dir_root)/<(proto_dir_relpath)/client_protocol.proto',
- '<(proto_dir_root)/<(proto_dir_relpath)/client_test_internal.proto',
- '<(proto_dir_root)/<(proto_dir_relpath)/types.proto',
- ],
- # TODO(akalin): This block was copied from the sync_proto target
- # from chrome.gyp. Decomp the shared blocks out somehow.
- 'rules': [
- {
- 'rule_name': 'genproto',
- 'extension': 'proto',
- 'inputs': [
- '<(protoc)',
- ],
- 'outputs': [
- '<(protoc_out_dir)/<(proto_dir_relpath)/<(RULE_INPUT_ROOT).pb.h',
- '<(protoc_out_dir)/<(proto_dir_relpath)/<(RULE_INPUT_ROOT).pb.cc',
- ],
- 'action': [
- '<(protoc)',
- '--proto_path=<(proto_dir_root)',
- # This path needs to be prefixed by proto_path, so we can't
- # use RULE_INPUT_PATH (which is an absolute path).
- '<(proto_dir_root)/<(proto_dir_relpath)/<(RULE_INPUT_NAME)',
- '--cpp_out=<(protoc_out_dir)',
- ],
- 'message': 'Generating C++ code from <(RULE_INPUT_PATH)',
- },
- ],
- 'dependencies': [
- '../../third_party/protobuf/protobuf.gyp:protoc#host',
- ],
- },
# The C++ files generated from the cache invalidation protocol buffers.
{
'target_name': 'cacheinvalidation_proto_cpp',
'type': 'static_library',
'sources': [
- '<(protoc_out_dir)/<(proto_dir_relpath)/client.pb.h',
- '<(protoc_out_dir)/<(proto_dir_relpath)/client.pb.cc',
- '<(protoc_out_dir)/<(proto_dir_relpath)/client_gateway.pb.h',
- '<(protoc_out_dir)/<(proto_dir_relpath)/client_gateway.pb.cc',
- '<(protoc_out_dir)/<(proto_dir_relpath)/client_protocol.pb.h',
- '<(protoc_out_dir)/<(proto_dir_relpath)/client_protocol.pb.cc',
- '<(protoc_out_dir)/<(proto_dir_relpath)/client_test_internal.pb.h',
- '<(protoc_out_dir)/<(proto_dir_relpath)/client_test_internal.pb.cc',
- '<(protoc_out_dir)/<(proto_dir_relpath)/types.pb.h',
- '<(protoc_out_dir)/<(proto_dir_relpath)/types.pb.cc',
- ],
- 'dependencies': [
- '../../third_party/protobuf/protobuf.gyp:protobuf_lite',
- 'cacheinvalidation_proto',
- ],
- 'include_dirs': [
- '<(protoc_out_dir)',
+ '<(proto_in_dir)/client.proto',
+ '<(proto_in_dir)/client_gateway.proto',
+ '<(proto_in_dir)/client_protocol.proto',
+ '<(proto_in_dir)/client_test_internal.proto',
+ '<(proto_in_dir)/types.proto',
],
+ 'includes': [ '../../build/protoc.gypi' ],
'direct_dependent_settings': {
'include_dirs': [
- '<(protoc_out_dir)',
+ '<(proto_out_dir)',
],
},
- 'export_dependent_settings': [
- '../../third_party/protobuf/protobuf.gyp:protobuf_lite',
- ],
- # This target exports a hard dependency because it contains generated
- # header files.
- 'hard_dependency': 1,
},
# The main cache invalidation library. External clients should depend
# only on this.