summaryrefslogtreecommitdiffstats
path: root/third_party
diff options
context:
space:
mode:
authorkushi.p@gmail.com <kushi.p@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-28 05:17:48 +0000
committerkushi.p@gmail.com <kushi.p@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-28 05:17:48 +0000
commit3eda89f734a06b1de1d85d615b8ace04341c4ad2 (patch)
tree867f2eb1f08048b93f7f665074b9f41e55d1ac1b /third_party
parentda1a469fe3a4b506df79ab57eb7670048905cadd (diff)
downloadchromium_src-3eda89f734a06b1de1d85d615b8ace04341c4ad2.zip
chromium_src-3eda89f734a06b1de1d85d615b8ace04341c4ad2.tar.gz
chromium_src-3eda89f734a06b1de1d85d615b8ace04341c4ad2.tar.bz2
Remove hand-rolled protobufs generation; enable rel paths in protoc.gypi
protoc.gypi now accepts a relative path to handle the way that protoc_out_dir is applied to build the generated path. Remove the 'cacheinvalidation_proto_cpp' target and instead generate a static_library to begin with. Simplify all steps by removing the actions and including the protoc.gypi file. BUG=113339 Review URL: http://codereview.chromium.org/9378041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123894 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party')
-rw-r--r--third_party/cacheinvalidation/cacheinvalidation.gyp86
1 files changed, 14 insertions, 72 deletions
diff --git a/third_party/cacheinvalidation/cacheinvalidation.gyp b/third_party/cacheinvalidation/cacheinvalidation.gyp
index dce6f6e..061c4cc 100644
--- a/third_party/cacheinvalidation/cacheinvalidation.gyp
+++ b/third_party/cacheinvalidation/cacheinvalidation.gyp
@@ -15,17 +15,13 @@
# we don't need this variable.
# TODO(ghc): Remove v2/ dir and move all files up a level.
'proto_dir_relpath': 'google/cacheinvalidation/v2',
- # 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)',
},
'targets': [
# The rule/action to generate files from the cacheinvalidation proto
- # files.
+ # files and package them into a static library.
{
'target_name': 'cacheinvalidation_proto',
- 'type': 'none',
+ 'type': 'static_library',
'sources': [
'<(proto_dir_root)/<(proto_dir_relpath)/client.proto',
'<(proto_dir_root)/<(proto_dir_relpath)/client_gateway.proto',
@@ -33,68 +29,18 @@
'<(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)',
- ],
- 'direct_dependent_settings': {
- 'include_dirs': [
- '<(protoc_out_dir)',
- ],
+ 'variables': {
+ 'proto_in_dir': '<(proto_dir_root)',
+ 'proto_out_dir': '',
+ 'proto_relpath': '<(proto_dir_relpath)/',
+ # This is necessary because these protos import with
+ # qualified paths, such as:
+ # #import "google/cacheinvalidation/v2/client_protocol.proto"
+ # rather than the more common form of:
+ # #import "client_protocol.proto"
+ # NOTE: The trailing slash is required, see build/protoc.gypi
},
- '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,
+ 'includes': [ '../../build/protoc.gypi' ],
},
# The main cache invalidation library. External clients should depend
# only on this.
@@ -170,11 +116,7 @@
'dependencies': [
'../../base/base.gyp:base',
'cacheinvalidation_proto',
- 'cacheinvalidation_proto_cpp',
],
- # This target exports a hard dependency because its include files
- # include generated header files from cache_invalidation_proto_cpp.
- 'hard_dependency': 1,
'direct_dependent_settings': {
'include_dirs': [
'./overrides',
@@ -183,7 +125,7 @@
},
'export_dependent_settings': [
'../../base/base.gyp:base',
- 'cacheinvalidation_proto_cpp',
+ 'cacheinvalidation_proto',
],
},
# Unittests for the cache invalidation library.