OLD | NEW |
(Empty) | |
| 1 # Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. |
| 4 |
| 5 { |
| 6 'variables': { |
| 7 # The root directory for the proto files. |
| 8 'proto_dir_root': 'files/src', |
| 9 # The relative path of the cacheinvalidation proto files from |
| 10 # proto_dir_root. |
| 11 # TODO(akalin): Add a RULE_INPUT_DIR predefined variable to gyp so |
| 12 # we don't need this variable. |
| 13 'proto_dir_relpath': 'google/cacheinvalidation', |
| 14 # Where files generated from proto files are put. |
| 15 'protoc_out_dir': '<(SHARED_INTERMEDIATE_DIR)/protoc_out', |
| 16 }, |
| 17 'targets': [ |
| 18 # The rule/action to generate files from the cacheinvalidation proto |
| 19 # files. |
| 20 { |
| 21 'target_name': 'cacheinvalidation_proto', |
| 22 'type': 'none', |
| 23 'sources': [ |
| 24 '<(proto_dir_root)/google/cacheinvalidation/types.proto', |
| 25 ], |
| 26 # TODO(akalin): This block was copied from the sync_proto target |
| 27 # from chrome.gyp. Decomp the shared blocks out somehow. |
| 28 'rules': [ |
| 29 { |
| 30 'rule_name': 'genproto', |
| 31 'extension': 'proto', |
| 32 'inputs': [ |
| 33 '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)', |
| 34 ], |
| 35 'outputs': [ |
| 36 '<(protoc_out_dir)/<(proto_dir_relpath)/<(RULE_INPUT_ROOT).pb.h', |
| 37 '<(protoc_out_dir)/<(proto_dir_relpath)/<(RULE_INPUT_ROOT).pb.cc', |
| 38 ], |
| 39 'action': [ |
| 40 '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)', |
| 41 '--proto_path=<(proto_dir_root)', |
| 42 '<(RULE_INPUT_PATH)', |
| 43 '--cpp_out=<(protoc_out_dir)', |
| 44 ], |
| 45 'message': 'Generating C++ code from <(RULE_INPUT_PATH)', |
| 46 }, |
| 47 ], |
| 48 'dependencies': [ |
| 49 '../../third_party/protobuf2/protobuf.gyp:protoc#host', |
| 50 ], |
| 51 }, |
| 52 # The library created from the generated c++ cacheinvalidation proto |
| 53 # files. |
| 54 { |
| 55 'target_name': 'cacheinvalidation_proto_cc', |
| 56 'type': '<(library)', |
| 57 'sources': [ |
| 58 '<(protoc_out_dir)/<(proto_dir_relpath)/types.pb.h', |
| 59 '<(protoc_out_dir)/<(proto_dir_relpath)/types.pb.cc', |
| 60 ], |
| 61 'include_dirs': [ |
| 62 '<(protoc_out_dir)', |
| 63 ], |
| 64 'dependencies': [ |
| 65 '../../third_party/protobuf2/protobuf.gyp:protobuf_lite', |
| 66 'cacheinvalidation_proto', |
| 67 ], |
| 68 'direct_dependent_settings': { |
| 69 'include_dirs': [ |
| 70 '<(protoc_out_dir)', |
| 71 ], |
| 72 }, |
| 73 'export_dependent_settings': [ |
| 74 '../../third_party/protobuf2/protobuf.gyp:protobuf_lite', |
| 75 ], |
| 76 }, |
| 77 # The main cache invalidation library. External clients should depend |
| 78 # only on this. |
| 79 { |
| 80 'target_name': 'cacheinvalidation', |
| 81 'type': '<(library)', |
| 82 'sources': [ |
| 83 'overrides/google/cacheinvalidation/callback.h', |
| 84 'overrides/google/cacheinvalidation/googletest.h', |
| 85 'overrides/google/cacheinvalidation/logging.h', |
| 86 'overrides/google/cacheinvalidation/mutex.h', |
| 87 'overrides/google/cacheinvalidation/stl-namespace.h' |
| 88 'overrides/google/cacheinvalidation/string_util.h' |
| 89 'overrides/google/cacheinvalidation/time.h', |
| 90 'files/src/google/cacheinvalidation/invalidation-client-impl.cc', |
| 91 'files/src/google/cacheinvalidation/invalidation-client-impl.h', |
| 92 'files/src/google/cacheinvalidation/invalidation-client.cc', |
| 93 'files/src/google/cacheinvalidation/invalidation-client.h', |
| 94 'files/src/google/cacheinvalidation/log-macro.h', |
| 95 'files/src/google/cacheinvalidation/network-manager.cc', |
| 96 'files/src/google/cacheinvalidation/network-manager.h', |
| 97 'files/src/google/cacheinvalidation/registration-update-manager.cc', |
| 98 'files/src/google/cacheinvalidation/registration-update-manager.h', |
| 99 'files/src/google/cacheinvalidation/session-manager.cc', |
| 100 'files/src/google/cacheinvalidation/session-manager.h', |
| 101 ], |
| 102 'include_dirs': [ |
| 103 './overrides', |
| 104 './files/src', |
| 105 ], |
| 106 'dependencies': [ |
| 107 '../../base/base.gyp:base', |
| 108 'cacheinvalidation_proto_cc', |
| 109 ], |
| 110 'direct_dependent_settings': { |
| 111 'include_dirs': [ |
| 112 './overrides', |
| 113 './files/src', |
| 114 ], |
| 115 }, |
| 116 'export_dependent_settings': [ |
| 117 'cacheinvalidation_proto_cc', |
| 118 ], |
| 119 }, |
| 120 # Unittests for the cache invalidation library. |
| 121 # TODO(akalin): Add these to build/all.gyp. |
| 122 { |
| 123 'target_name': 'cacheinvalidation_unittests', |
| 124 'type': 'executable', |
| 125 'sources': [ |
| 126 'files/src/google/cacheinvalidation/system-resources-for-test.h', |
| 127 'files/src/google/cacheinvalidation/invalidation-client-impl_test.cc', |
| 128 ], |
| 129 'dependencies': [ |
| 130 '../../base/base.gyp:base', |
| 131 '../../testing/gtest.gyp:gtest', |
| 132 '../../testing/gtest.gyp:gtestmain', |
| 133 'cacheinvalidation', |
| 134 ], |
| 135 }, |
| 136 ], |
| 137 } |
| 138 |
| 139 # Local Variables: |
| 140 # tab-width:2 |
| 141 # indent-tabs-mode:nil |
| 142 # End: |
| 143 # vim: set expandtab tabstop=2 shiftwidth=2: |
OLD | NEW |