OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'conditions': [ | 6 'conditions': [ |
7 ['use_system_protobuf==0', { | 7 ['use_system_protobuf==0', { |
8 'conditions': [ | 8 'conditions': [ |
9 ['OS!="win"', { | 9 ['OS!="win"', { |
10 'variables': { | 10 'variables': { |
11 'config_h_dir': | 11 'config_h_dir': |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 'include_dirs': [ | 187 'include_dirs': [ |
188 '<(config_h_dir)', | 188 '<(config_h_dir)', |
189 'src', | 189 'src', |
190 ], | 190 ], |
191 'defines': [ | 191 'defines': [ |
192 'GOOGLE_PROTOBUF_NO_RTTI', | 192 'GOOGLE_PROTOBUF_NO_RTTI', |
193 'GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER', | 193 'GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER', |
194 ], | 194 ], |
195 # TODO(jschuh): http://crbug.com/167187 size_t -> int. | 195 # TODO(jschuh): http://crbug.com/167187 size_t -> int. |
196 'msvs_disabled_warnings': [ 4267 ], | 196 'msvs_disabled_warnings': [ 4267 ], |
| 197 # On Win component builds, we must dynamically link protobuf_lite |
| 198 # to targets that directly depend on it in order to avoid linker |
| 199 # warning C4275: "non dll-interface class used as base for |
| 200 # dll-interface class". See the "DLLs vs. static linking" section in |
| 201 # third_party/protobuf/vsprojects/readme.txt. |
| 202 'conditions': [ |
| 203 ['OS=="win" and component=="shared_library"', { |
| 204 'defines': [ |
| 205 'LIBPROTOBUF_EXPORTS', |
| 206 'LIBPROTOC_EXPORTS', |
| 207 'PROTOBUF_USE_DLLS', |
| 208 ], |
| 209 }], |
| 210 ], |
197 }, | 211 }, |
198 }, | 212 }, |
199 # This is the full, heavy protobuf lib that's needed for c++ .proto's | 213 # This is the full, heavy protobuf lib that's needed for c++ .proto's |
200 # that don't specify the LITE_RUNTIME option. The protocol | 214 # that don't specify the LITE_RUNTIME option. The protocol |
201 # compiler itself (protoc) falls into that category. | 215 # compiler itself (protoc) falls into that category. |
202 # | 216 # |
203 # DO NOT LINK AGAINST THIS TARGET IN CHROME CODE --agl | 217 # DO NOT LINK AGAINST THIS TARGET IN CHROME CODE --agl |
204 { | 218 { |
205 'target_name': 'protobuf_full_do_not_use', | 219 'target_name': 'protobuf_full_do_not_use', |
206 'type': 'static_library', | 220 'type': 'static_library', |
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
474 'toolsets': ['host', 'target'], | 488 'toolsets': ['host', 'target'], |
475 }, | 489 }, |
476 { | 490 { |
477 'target_name': 'py_proto', | 491 'target_name': 'py_proto', |
478 'type': 'none', | 492 'type': 'none', |
479 }, | 493 }, |
480 ], | 494 ], |
481 }], | 495 }], |
482 ], | 496 ], |
483 } | 497 } |
OLD | NEW |