| Index: third_party/cacheinvalidation/cacheinvalidation.gyp
|
| ===================================================================
|
| --- third_party/cacheinvalidation/cacheinvalidation.gyp (revision 123895)
|
| +++ third_party/cacheinvalidation/cacheinvalidation.gyp (working copy)
|
| @@ -15,13 +15,17 @@
|
| # 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 and package them into a static library.
|
| + # files.
|
| {
|
| 'target_name': 'cacheinvalidation_proto',
|
| - 'type': 'static_library',
|
| + 'type': 'none',
|
| 'sources': [
|
| '<(proto_dir_root)/<(proto_dir_relpath)/client.proto',
|
| '<(proto_dir_root)/<(proto_dir_relpath)/client_gateway.proto',
|
| @@ -29,18 +33,68 @@
|
| '<(proto_dir_root)/<(proto_dir_relpath)/client_test_internal.proto',
|
| '<(proto_dir_root)/<(proto_dir_relpath)/types.proto',
|
| ],
|
| - '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
|
| + # 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)',
|
| + ],
|
| },
|
| - 'includes': [ '../../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,
|
| },
|
| # The main cache invalidation library. External clients should depend
|
| # only on this.
|
| @@ -116,7 +170,11 @@
|
| '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',
|
| @@ -125,7 +183,7 @@
|
| },
|
| 'export_dependent_settings': [
|
| '../../base/base.gyp:base',
|
| - 'cacheinvalidation_proto',
|
| + 'cacheinvalidation_proto_cpp',
|
| ],
|
| },
|
| # Unittests for the cache invalidation library.
|
|
|