OLD | NEW |
---|---|
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 'variables': { | |
7 'use_system_protobuf%': 0, | |
8 }, | |
6 'conditions': [ | 9 'conditions': [ |
7 ['OS!="win"', { | 10 ['use_system_protobuf==0', { |
8 'variables': { | 11 'conditions': [ |
9 'config_h_dir': | 12 ['OS!="win"', { |
10 '.', # crafted for gcc/linux. | 13 'variables': { |
11 }, | 14 'config_h_dir': |
12 }, { # else, OS=="win" | 15 '.', # crafted for gcc/linux. |
13 'variables': { | 16 }, |
14 'config_h_dir': | 17 }, { # else, OS=="win" |
15 'vsprojects', # crafted for msvc. | 18 'variables': { |
16 }, | 19 'config_h_dir': |
17 'target_defaults': { | 20 'vsprojects', # crafted for msvc. |
18 'msvs_disabled_warnings': [ | 21 }, |
19 4018, # signed/unsigned mismatch in comparison | 22 'target_defaults': { |
20 4244, # implicit conversion, possible loss of data | 23 'msvs_disabled_warnings': [ |
21 4355, # 'this' used in base member initializer list | 24 4018, # signed/unsigned mismatch in comparison |
22 ], | 25 4244, # implicit conversion, possible loss of data |
23 'defines!': [ | 26 4355, # 'this' used in base member initializer list |
24 'WIN32_LEAN_AND_MEAN', # Protobuf defines this itself. | 27 ], |
25 ], | 28 'defines!': [ |
26 }, | 29 'WIN32_LEAN_AND_MEAN', # Protobuf defines this itself. |
27 }] | 30 ], |
28 ], | 31 }, |
29 'targets': [ | 32 }] |
30 # The "lite" lib is about 1/7th the size of the heavy lib, | 33 ], |
31 # but it doesn't support some of the more exotic features of | 34 'targets': [ |
32 # protobufs, like reflection. To generate C++ code that can link | 35 # The "lite" lib is about 1/7th the size of the heavy lib, |
33 # against the lite version of the library, add the option line: | 36 # but it doesn't support some of the more exotic features of |
34 # | 37 # protobufs, like reflection. To generate C++ code that can link |
35 # option optimize_for = LITE_RUNTIME; | 38 # against the lite version of the library, add the option line: |
36 # | 39 # |
37 # to your .proto file. | 40 # option optimize_for = LITE_RUNTIME; |
38 { | 41 # |
39 'target_name': 'protobuf_lite', | 42 # to your .proto file. |
40 'type': 'static_library', | 43 { |
41 'toolsets': ['host', 'target'], | 44 'target_name': 'protobuf_lite', |
42 'sources': [ | 45 'type': 'static_library', |
43 'src/google/protobuf/stubs/atomicops.h', | 46 'toolsets': ['host', 'target'], |
44 'src/google/protobuf/stubs/atomicops_internals_arm_gcc.h', | 47 'sources': [ |
45 'src/google/protobuf/stubs/atomicops_internals_atomicword_compat.h', | 48 'src/google/protobuf/stubs/atomicops.h', |
46 'src/google/protobuf/stubs/atomicops_internals_macosx.h', | 49 'src/google/protobuf/stubs/atomicops_internals_arm_gcc.h', |
47 'src/google/protobuf/stubs/atomicops_internals_mips_gcc.h', | 50 'src/google/protobuf/stubs/atomicops_internals_atomicword_compat.h', |
48 'src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc', | 51 'src/google/protobuf/stubs/atomicops_internals_macosx.h', |
49 'src/google/protobuf/stubs/atomicops_internals_x86_gcc.h', | 52 'src/google/protobuf/stubs/atomicops_internals_mips_gcc.h', |
50 'src/google/protobuf/stubs/atomicops_internals_x86_msvc.cc', | 53 'src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc', |
51 'src/google/protobuf/stubs/atomicops_internals_x86_msvc.h', | 54 'src/google/protobuf/stubs/atomicops_internals_x86_gcc.h', |
52 'src/google/protobuf/stubs/common.h', | 55 'src/google/protobuf/stubs/atomicops_internals_x86_msvc.cc', |
53 'src/google/protobuf/stubs/once.h', | 56 'src/google/protobuf/stubs/atomicops_internals_x86_msvc.h', |
54 'src/google/protobuf/stubs/platform_macros.h', | 57 'src/google/protobuf/stubs/common.h', |
55 'src/google/protobuf/extension_set.h', | 58 'src/google/protobuf/stubs/once.h', |
56 'src/google/protobuf/generated_message_util.h', | 59 'src/google/protobuf/stubs/platform_macros.h', |
57 'src/google/protobuf/message_lite.h', | 60 'src/google/protobuf/extension_set.h', |
58 'src/google/protobuf/repeated_field.h', | 61 'src/google/protobuf/generated_message_util.h', |
59 'src/google/protobuf/unknown_field_set.cc', | 62 'src/google/protobuf/message_lite.h', |
60 'src/google/protobuf/unknown_field_set.h', | 63 'src/google/protobuf/repeated_field.h', |
61 'src/google/protobuf/wire_format_lite.h', | 64 'src/google/protobuf/unknown_field_set.cc', |
62 'src/google/protobuf/wire_format_lite_inl.h', | 65 'src/google/protobuf/unknown_field_set.h', |
63 'src/google/protobuf/io/coded_stream.h', | 66 'src/google/protobuf/wire_format_lite.h', |
64 'src/google/protobuf/io/zero_copy_stream.h', | 67 'src/google/protobuf/wire_format_lite_inl.h', |
65 'src/google/protobuf/io/zero_copy_stream_impl_lite.h', | 68 'src/google/protobuf/io/coded_stream.h', |
69 'src/google/protobuf/io/zero_copy_stream.h', | |
70 'src/google/protobuf/io/zero_copy_stream_impl_lite.h', | |
66 | 71 |
67 'src/google/protobuf/stubs/common.cc', | 72 'src/google/protobuf/stubs/common.cc', |
68 'src/google/protobuf/stubs/once.cc', | 73 'src/google/protobuf/stubs/once.cc', |
69 'src/google/protobuf/stubs/hash.h', | 74 'src/google/protobuf/stubs/hash.h', |
70 'src/google/protobuf/stubs/map-util.h', | 75 'src/google/protobuf/stubs/map-util.h', |
71 'src/google/protobuf/stubs/stl_util-inl.h', | 76 'src/google/protobuf/stubs/stl_util-inl.h', |
72 'src/google/protobuf/extension_set.cc', | 77 'src/google/protobuf/extension_set.cc', |
73 'src/google/protobuf/generated_message_util.cc', | 78 'src/google/protobuf/generated_message_util.cc', |
74 'src/google/protobuf/message_lite.cc', | 79 'src/google/protobuf/message_lite.cc', |
75 'src/google/protobuf/repeated_field.cc', | 80 'src/google/protobuf/repeated_field.cc', |
76 'src/google/protobuf/wire_format_lite.cc', | 81 'src/google/protobuf/wire_format_lite.cc', |
77 'src/google/protobuf/io/coded_stream.cc', | 82 'src/google/protobuf/io/coded_stream.cc', |
78 'src/google/protobuf/io/coded_stream_inl.h', | 83 'src/google/protobuf/io/coded_stream_inl.h', |
79 'src/google/protobuf/io/zero_copy_stream.cc', | 84 'src/google/protobuf/io/zero_copy_stream.cc', |
80 'src/google/protobuf/io/zero_copy_stream_impl_lite.cc', | 85 'src/google/protobuf/io/zero_copy_stream_impl_lite.cc', |
81 '<(config_h_dir)/config.h', | 86 '<(config_h_dir)/config.h', |
82 ], | |
83 'include_dirs': [ | |
84 '<(config_h_dir)', | |
85 'src', | |
86 ], | |
87 # This macro must be defined to suppress the use of dynamic_cast<>, | |
88 # which requires RTTI. | |
89 'defines': [ | |
90 'GOOGLE_PROTOBUF_NO_RTTI', | |
91 'GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER', | |
92 ], | |
93 | |
94 'direct_dependent_settings': { | |
95 'include_dirs': [ | |
96 '<(config_h_dir)', | |
97 'src', | |
98 ], | |
99 'defines': [ | |
100 'GOOGLE_PROTOBUF_NO_RTTI', | |
101 'GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER', | |
102 ], | |
103 }, | |
104 }, | |
105 # This is the full, heavy protobuf lib that's needed for c++ .proto's | |
106 # that don't specify the LITE_RUNTIME option. The protocol | |
107 # compiler itself (protoc) falls into that category. | |
108 # | |
109 # DO NOT LINK AGAINST THIS TARGET IN CHROME CODE --agl | |
110 { | |
111 'target_name': 'protobuf_full_do_not_use', | |
112 'type': 'static_library', | |
113 'toolsets': ['host','target'], | |
114 'sources': [ | |
115 'src/google/protobuf/descriptor.h', | |
116 'src/google/protobuf/descriptor.pb.h', | |
117 'src/google/protobuf/descriptor_database.h', | |
118 'src/google/protobuf/dynamic_message.h', | |
119 'src/google/protobuf/generated_message_reflection.h', | |
120 'src/google/protobuf/message.h', | |
121 'src/google/protobuf/reflection_ops.h', | |
122 'src/google/protobuf/service.h', | |
123 'src/google/protobuf/text_format.h', | |
124 'src/google/protobuf/wire_format.h', | |
125 'src/google/protobuf/io/gzip_stream.h', | |
126 'src/google/protobuf/io/printer.h', | |
127 'src/google/protobuf/io/tokenizer.h', | |
128 'src/google/protobuf/io/zero_copy_stream_impl.h', | |
129 'src/google/protobuf/compiler/code_generator.h', | |
130 'src/google/protobuf/compiler/command_line_interface.h', | |
131 'src/google/protobuf/compiler/importer.h', | |
132 'src/google/protobuf/compiler/parser.h', | |
133 | |
134 'src/google/protobuf/stubs/strutil.cc', | |
135 'src/google/protobuf/stubs/strutil.h', | |
136 'src/google/protobuf/stubs/substitute.cc', | |
137 'src/google/protobuf/stubs/substitute.h', | |
138 'src/google/protobuf/stubs/structurally_valid.cc', | |
139 'src/google/protobuf/descriptor.cc', | |
140 'src/google/protobuf/descriptor.pb.cc', | |
141 'src/google/protobuf/descriptor_database.cc', | |
142 'src/google/protobuf/dynamic_message.cc', | |
143 'src/google/protobuf/extension_set_heavy.cc', | |
144 'src/google/protobuf/generated_message_reflection.cc', | |
145 'src/google/protobuf/message.cc', | |
146 'src/google/protobuf/reflection_ops.cc', | |
147 'src/google/protobuf/service.cc', | |
148 'src/google/protobuf/text_format.cc', | |
149 'src/google/protobuf/wire_format.cc', | |
150 # This file pulls in zlib, but it's not actually used by protoc, so | |
151 # instead of compiling zlib for the host, let's just exclude this. | |
152 # 'src/src/google/protobuf/io/gzip_stream.cc', | |
153 'src/google/protobuf/io/printer.cc', | |
154 'src/google/protobuf/io/tokenizer.cc', | |
155 'src/google/protobuf/io/zero_copy_stream_impl.cc', | |
156 'src/google/protobuf/compiler/importer.cc', | |
157 'src/google/protobuf/compiler/parser.cc', | |
158 ], | |
159 'dependencies': [ | |
160 'protobuf_lite', | |
161 ], | |
162 'export_dependent_settings': [ | |
163 'protobuf_lite', | |
164 ], | |
165 }, | |
166 { | |
167 'target_name': 'protoc', | |
168 'conditions': [ | |
169 ['OS!="ios"', { | |
170 'type': 'executable', | |
171 'toolsets': ['host'], | |
172 'sources': [ | |
173 'src/google/protobuf/compiler/code_generator.cc', | |
174 'src/google/protobuf/compiler/command_line_interface.cc', | |
175 'src/google/protobuf/compiler/plugin.cc', | |
176 'src/google/protobuf/compiler/plugin.pb.cc', | |
177 'src/google/protobuf/compiler/subprocess.cc', | |
178 'src/google/protobuf/compiler/subprocess.h', | |
179 'src/google/protobuf/compiler/zip_writer.cc', | |
180 'src/google/protobuf/compiler/zip_writer.h', | |
181 'src/google/protobuf/compiler/cpp/cpp_enum.cc', | |
182 'src/google/protobuf/compiler/cpp/cpp_enum.h', | |
183 'src/google/protobuf/compiler/cpp/cpp_enum_field.cc', | |
184 'src/google/protobuf/compiler/cpp/cpp_enum_field.h', | |
185 'src/google/protobuf/compiler/cpp/cpp_extension.cc', | |
186 'src/google/protobuf/compiler/cpp/cpp_extension.h', | |
187 'src/google/protobuf/compiler/cpp/cpp_field.cc', | |
188 'src/google/protobuf/compiler/cpp/cpp_field.h', | |
189 'src/google/protobuf/compiler/cpp/cpp_file.cc', | |
190 'src/google/protobuf/compiler/cpp/cpp_file.h', | |
191 'src/google/protobuf/compiler/cpp/cpp_generator.cc', | |
192 'src/google/protobuf/compiler/cpp/cpp_helpers.cc', | |
193 'src/google/protobuf/compiler/cpp/cpp_helpers.h', | |
194 'src/google/protobuf/compiler/cpp/cpp_message.cc', | |
195 'src/google/protobuf/compiler/cpp/cpp_message.h', | |
196 'src/google/protobuf/compiler/cpp/cpp_message_field.cc', | |
197 'src/google/protobuf/compiler/cpp/cpp_message_field.h', | |
198 'src/google/protobuf/compiler/cpp/cpp_primitive_field.cc', | |
199 'src/google/protobuf/compiler/cpp/cpp_primitive_field.h', | |
200 'src/google/protobuf/compiler/cpp/cpp_service.cc', | |
201 'src/google/protobuf/compiler/cpp/cpp_service.h', | |
202 'src/google/protobuf/compiler/cpp/cpp_string_field.cc', | |
203 'src/google/protobuf/compiler/cpp/cpp_string_field.h', | |
204 'src/google/protobuf/compiler/java/java_enum.cc', | |
205 'src/google/protobuf/compiler/java/java_enum.h', | |
206 'src/google/protobuf/compiler/java/java_enum_field.cc', | |
207 'src/google/protobuf/compiler/java/java_enum_field.h', | |
208 'src/google/protobuf/compiler/java/java_extension.cc', | |
209 'src/google/protobuf/compiler/java/java_extension.h', | |
210 'src/google/protobuf/compiler/java/java_field.cc', | |
211 'src/google/protobuf/compiler/java/java_field.h', | |
212 'src/google/protobuf/compiler/java/java_file.cc', | |
213 'src/google/protobuf/compiler/java/java_file.h', | |
214 'src/google/protobuf/compiler/java/java_generator.cc', | |
215 'src/google/protobuf/compiler/java/java_helpers.cc', | |
216 'src/google/protobuf/compiler/java/java_helpers.h', | |
217 'src/google/protobuf/compiler/java/java_message.cc', | |
218 'src/google/protobuf/compiler/java/java_message.h', | |
219 'src/google/protobuf/compiler/java/java_message_field.cc', | |
220 'src/google/protobuf/compiler/java/java_message_field.h', | |
221 'src/google/protobuf/compiler/java/java_primitive_field.cc', | |
222 'src/google/protobuf/compiler/java/java_primitive_field.h', | |
223 'src/google/protobuf/compiler/java/java_service.cc', | |
224 'src/google/protobuf/compiler/java/java_service.h', | |
225 'src/google/protobuf/compiler/java/java_string_field.cc', | |
226 'src/google/protobuf/compiler/java/java_string_field.h', | |
227 'src/google/protobuf/compiler/python/python_generator.cc', | |
228 'src/google/protobuf/compiler/main.cc', | |
229 ], | |
230 'dependencies': [ | |
231 'protobuf_full_do_not_use', | |
232 ], | 87 ], |
233 'include_dirs': [ | 88 'include_dirs': [ |
234 '<(config_h_dir)', | 89 '<(config_h_dir)', |
235 'src/src', | 90 'src', |
236 ], | 91 ], |
237 }, { # else, OS=="ios" | 92 # This macro must be defined to suppress the use of dynamic_cast<>, |
93 # which requires RTTI. | |
94 'defines': [ | |
95 'GOOGLE_PROTOBUF_NO_RTTI', | |
96 'GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER', | |
97 ], | |
98 | |
99 'direct_dependent_settings': { | |
100 'include_dirs': [ | |
101 '<(config_h_dir)', | |
102 'src', | |
103 ], | |
104 'defines': [ | |
105 'GOOGLE_PROTOBUF_NO_RTTI', | |
106 'GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER', | |
107 ], | |
108 }, | |
109 }, | |
110 # This is the full, heavy protobuf lib that's needed for c++ .proto's | |
111 # that don't specify the LITE_RUNTIME option. The protocol | |
112 # compiler itself (protoc) falls into that category. | |
113 # | |
114 # DO NOT LINK AGAINST THIS TARGET IN CHROME CODE --agl | |
115 { | |
116 'target_name': 'protobuf_full_do_not_use', | |
117 'type': 'static_library', | |
118 'toolsets': ['host','target'], | |
119 'sources': [ | |
120 'src/google/protobuf/descriptor.h', | |
121 'src/google/protobuf/descriptor.pb.h', | |
122 'src/google/protobuf/descriptor_database.h', | |
123 'src/google/protobuf/dynamic_message.h', | |
124 'src/google/protobuf/generated_message_reflection.h', | |
125 'src/google/protobuf/message.h', | |
126 'src/google/protobuf/reflection_ops.h', | |
127 'src/google/protobuf/service.h', | |
128 'src/google/protobuf/text_format.h', | |
129 'src/google/protobuf/wire_format.h', | |
130 'src/google/protobuf/io/gzip_stream.h', | |
131 'src/google/protobuf/io/printer.h', | |
132 'src/google/protobuf/io/tokenizer.h', | |
133 'src/google/protobuf/io/zero_copy_stream_impl.h', | |
134 'src/google/protobuf/compiler/code_generator.h', | |
135 'src/google/protobuf/compiler/command_line_interface.h', | |
136 'src/google/protobuf/compiler/importer.h', | |
137 'src/google/protobuf/compiler/parser.h', | |
138 | |
139 'src/google/protobuf/stubs/strutil.cc', | |
140 'src/google/protobuf/stubs/strutil.h', | |
141 'src/google/protobuf/stubs/substitute.cc', | |
142 'src/google/protobuf/stubs/substitute.h', | |
143 'src/google/protobuf/stubs/structurally_valid.cc', | |
144 'src/google/protobuf/descriptor.cc', | |
145 'src/google/protobuf/descriptor.pb.cc', | |
146 'src/google/protobuf/descriptor_database.cc', | |
147 'src/google/protobuf/dynamic_message.cc', | |
148 'src/google/protobuf/extension_set_heavy.cc', | |
149 'src/google/protobuf/generated_message_reflection.cc', | |
150 'src/google/protobuf/message.cc', | |
151 'src/google/protobuf/reflection_ops.cc', | |
152 'src/google/protobuf/service.cc', | |
153 'src/google/protobuf/text_format.cc', | |
154 'src/google/protobuf/wire_format.cc', | |
155 # This file pulls in zlib, but it's not actually used by protoc, so | |
156 # instead of compiling zlib for the host, let's just exclude this. | |
157 # 'src/src/google/protobuf/io/gzip_stream.cc', | |
158 'src/google/protobuf/io/printer.cc', | |
159 'src/google/protobuf/io/tokenizer.cc', | |
160 'src/google/protobuf/io/zero_copy_stream_impl.cc', | |
161 'src/google/protobuf/compiler/importer.cc', | |
162 'src/google/protobuf/compiler/parser.cc', | |
163 ], | |
164 'dependencies': [ | |
165 'protobuf_lite', | |
166 ], | |
167 'export_dependent_settings': [ | |
168 'protobuf_lite', | |
169 ], | |
170 }, | |
171 { | |
172 'target_name': 'protoc', | |
173 'conditions': [ | |
174 ['OS!="ios"', { | |
175 'type': 'executable', | |
176 'toolsets': ['host'], | |
177 'sources': [ | |
178 'src/google/protobuf/compiler/code_generator.cc', | |
179 'src/google/protobuf/compiler/command_line_interface.cc', | |
180 'src/google/protobuf/compiler/plugin.cc', | |
181 'src/google/protobuf/compiler/plugin.pb.cc', | |
182 'src/google/protobuf/compiler/subprocess.cc', | |
183 'src/google/protobuf/compiler/subprocess.h', | |
184 'src/google/protobuf/compiler/zip_writer.cc', | |
185 'src/google/protobuf/compiler/zip_writer.h', | |
186 'src/google/protobuf/compiler/cpp/cpp_enum.cc', | |
187 'src/google/protobuf/compiler/cpp/cpp_enum.h', | |
188 'src/google/protobuf/compiler/cpp/cpp_enum_field.cc', | |
189 'src/google/protobuf/compiler/cpp/cpp_enum_field.h', | |
190 'src/google/protobuf/compiler/cpp/cpp_extension.cc', | |
191 'src/google/protobuf/compiler/cpp/cpp_extension.h', | |
192 'src/google/protobuf/compiler/cpp/cpp_field.cc', | |
193 'src/google/protobuf/compiler/cpp/cpp_field.h', | |
194 'src/google/protobuf/compiler/cpp/cpp_file.cc', | |
195 'src/google/protobuf/compiler/cpp/cpp_file.h', | |
196 'src/google/protobuf/compiler/cpp/cpp_generator.cc', | |
197 'src/google/protobuf/compiler/cpp/cpp_helpers.cc', | |
198 'src/google/protobuf/compiler/cpp/cpp_helpers.h', | |
199 'src/google/protobuf/compiler/cpp/cpp_message.cc', | |
200 'src/google/protobuf/compiler/cpp/cpp_message.h', | |
201 'src/google/protobuf/compiler/cpp/cpp_message_field.cc', | |
202 'src/google/protobuf/compiler/cpp/cpp_message_field.h', | |
203 'src/google/protobuf/compiler/cpp/cpp_primitive_field.cc', | |
204 'src/google/protobuf/compiler/cpp/cpp_primitive_field.h', | |
205 'src/google/protobuf/compiler/cpp/cpp_service.cc', | |
206 'src/google/protobuf/compiler/cpp/cpp_service.h', | |
207 'src/google/protobuf/compiler/cpp/cpp_string_field.cc', | |
208 'src/google/protobuf/compiler/cpp/cpp_string_field.h', | |
209 'src/google/protobuf/compiler/java/java_enum.cc', | |
210 'src/google/protobuf/compiler/java/java_enum.h', | |
211 'src/google/protobuf/compiler/java/java_enum_field.cc', | |
212 'src/google/protobuf/compiler/java/java_enum_field.h', | |
213 'src/google/protobuf/compiler/java/java_extension.cc', | |
214 'src/google/protobuf/compiler/java/java_extension.h', | |
215 'src/google/protobuf/compiler/java/java_field.cc', | |
216 'src/google/protobuf/compiler/java/java_field.h', | |
217 'src/google/protobuf/compiler/java/java_file.cc', | |
218 'src/google/protobuf/compiler/java/java_file.h', | |
219 'src/google/protobuf/compiler/java/java_generator.cc', | |
220 'src/google/protobuf/compiler/java/java_helpers.cc', | |
221 'src/google/protobuf/compiler/java/java_helpers.h', | |
222 'src/google/protobuf/compiler/java/java_message.cc', | |
223 'src/google/protobuf/compiler/java/java_message.h', | |
224 'src/google/protobuf/compiler/java/java_message_field.cc', | |
225 'src/google/protobuf/compiler/java/java_message_field.h', | |
226 'src/google/protobuf/compiler/java/java_primitive_field.cc', | |
227 'src/google/protobuf/compiler/java/java_primitive_field.h', | |
228 'src/google/protobuf/compiler/java/java_service.cc', | |
229 'src/google/protobuf/compiler/java/java_service.h', | |
230 'src/google/protobuf/compiler/java/java_string_field.cc', | |
231 'src/google/protobuf/compiler/java/java_string_field.h', | |
232 'src/google/protobuf/compiler/python/python_generator.cc', | |
233 'src/google/protobuf/compiler/main.cc', | |
234 ], | |
235 'dependencies': [ | |
236 'protobuf_full_do_not_use', | |
237 ], | |
238 'include_dirs': [ | |
239 '<(config_h_dir)', | |
240 'src/src', | |
241 ], | |
242 }, { # else, OS=="ios" | |
243 'type': 'none', | |
244 'variables': { | |
245 'ninja_output_dir': 'ninja-protoc', | |
246 # Gyp to rerun | |
247 're_run_targets': [ | |
248 'third_party/protobuf/protobuf.gyp', | |
249 ], | |
250 }, | |
251 'includes': ['../../build/ios/mac_build.gypi'], | |
252 'actions': [ | |
253 { | |
254 'action_name': 'compile protoc', | |
255 'inputs': [], | |
256 'outputs': [], | |
257 'action': [ | |
258 '<@(ninja_cmd)', | |
259 'protoc', | |
260 ], | |
261 'message': 'Generating the C++ protocol buffers compiler', | |
262 }, | |
263 { | |
264 'action_name': 'copy protoc', | |
265 'inputs': [ | |
266 '<(ninja_product_dir)/protoc', | |
267 ], | |
268 'outputs': [ | |
269 '<(PRODUCT_DIR)/protoc', | |
270 ], | |
271 'action': [ | |
272 'cp', | |
273 '<(ninja_product_dir)/protoc', | |
274 '<(PRODUCT_DIR)/protoc', | |
275 ], | |
276 }, | |
277 ], | |
278 }], | |
279 ], | |
280 }, | |
281 { | |
282 # Generate the python module needed by all protoc-generated Python cod e. | |
283 'target_name': 'py_proto', | |
238 'type': 'none', | 284 'type': 'none', |
239 'variables': { | 285 'copies': [ |
240 'ninja_output_dir': 'ninja-protoc', | |
241 # Gyp to rerun | |
242 're_run_targets': [ | |
243 'third_party/protobuf/protobuf.gyp', | |
244 ], | |
245 }, | |
246 'includes': ['../../build/ios/mac_build.gypi'], | |
247 'actions': [ | |
248 { | 286 { |
249 'action_name': 'compile protoc', | 287 'destination': '<(PRODUCT_DIR)/pyproto/google/', |
250 'inputs': [], | 288 'files': [ |
251 'outputs': [], | 289 # google/ module gets an empty __init__.py. |
252 'action': [ | 290 '__init__.py', |
253 '<@(ninja_cmd)', | 291 ], |
254 'protoc', | |
255 ], | |
256 'message': 'Generating the C++ protocol buffers compiler', | |
257 }, | 292 }, |
258 { | 293 { |
259 'action_name': 'copy protoc', | 294 'destination': '<(PRODUCT_DIR)/pyproto/google/protobuf', |
260 'inputs': [ | 295 'files': [ |
261 '<(ninja_product_dir)/protoc', | 296 'python/google/protobuf/__init__.py', |
262 ], | 297 'python/google/protobuf/descriptor.py', |
263 'outputs': [ | 298 'python/google/protobuf/message.py', |
264 '<(PRODUCT_DIR)/protoc', | 299 'python/google/protobuf/reflection.py', |
265 ], | 300 'python/google/protobuf/service.py', |
266 'action': [ | 301 'python/google/protobuf/service_reflection.py', |
267 'cp', | 302 'python/google/protobuf/text_format.py', |
268 '<(ninja_product_dir)/protoc', | 303 |
269 '<(PRODUCT_DIR)/protoc', | 304 # TODO(ncarter): protoc's python generator treats descriptor.pro to |
305 # specially, but it's not possible to trigger the special treatm ent | |
306 # unless you run protoc from ./src/src (the treatment is based | |
307 # on the path to the .proto file matching a constant exactly). | |
308 # I'm not sure how to convince gyp to execute a rule from a | |
309 # different directory. Until this is resolved, use a copy of | |
310 # descriptor_pb2.py that I manually generated. | |
311 'descriptor_pb2.py', | |
270 ], | 312 ], |
271 }, | 313 }, |
272 ], | 314 { |
273 }], | 315 'destination': '<(PRODUCT_DIR)/pyproto/google/protobuf/internal', |
316 'files': [ | |
317 'python/google/protobuf/internal/__init__.py', | |
318 'python/google/protobuf/internal/api_implementation.py', | |
319 'python/google/protobuf/internal/containers.py', | |
320 'python/google/protobuf/internal/cpp_message.py', | |
321 'python/google/protobuf/internal/decoder.py', | |
322 'python/google/protobuf/internal/encoder.py', | |
323 'python/google/protobuf/internal/generator_test.py', | |
324 'python/google/protobuf/internal/message_listener.py', | |
325 'python/google/protobuf/internal/python_message.py', | |
326 'python/google/protobuf/internal/type_checkers.py', | |
327 'python/google/protobuf/internal/wire_format.py', | |
328 ], | |
329 }, | |
330 ], | |
331 # # We can't generate a proper descriptor_pb2.py -- see earlier comment. | |
332 # 'rules': [ | |
333 # { | |
334 # 'rule_name': 'genproto', | |
335 # 'extension': 'proto', | |
336 # 'inputs': [ | |
337 # '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)', | |
338 # ], | |
339 # 'variables': { | |
340 # # The protoc compiler requires a proto_path argument with the | |
341 # # directory containing the .proto file. | |
342 # 'rule_input_relpath': 'src/google/protobuf', | |
343 # }, | |
344 # 'outputs': [ | |
345 # '<(PRODUCT_DIR)/pyproto/google/protobuf/<(RULE_INPUT_ROOT)_pb2 .py', | |
346 # ], | |
347 # 'action': [ | |
348 # '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX) ', | |
349 # '-I./src', | |
350 # '-I.', | |
351 # '--python_out=<(PRODUCT_DIR)/pyproto/google/protobuf', | |
352 # 'google/protobuf/descriptor.proto', | |
353 # ], | |
354 # 'message': 'Generating Python code from <(RULE_INPUT_PATH)', | |
355 # }, | |
356 # ], | |
357 # 'dependencies': [ | |
358 # 'protoc#host', | |
359 # ], | |
360 # 'sources': [ | |
361 # 'src/google/protobuf/descriptor.proto', | |
362 # ], | |
363 }, | |
274 ], | 364 ], |
275 }, | 365 }, { # use_system_protobuf==1 |
276 { | 366 'targets': [ |
277 # Generate the python module needed by all protoc-generated Python code. | 367 { |
278 'target_name': 'py_proto', | 368 'target_name': 'protobuf_lite', |
279 'type': 'none', | 369 'type': 'none', |
280 'copies': [ | 370 'direct_dependent_settings': { |
281 { | 371 'cflags': [ |
282 'destination': '<(PRODUCT_DIR)/pyproto/google/', | 372 '<!@(pkg-config --cflags protobuf-lite)', |
283 'files': [ | 373 ], |
284 # google/ module gets an empty __init__.py. | 374 'defines': [ |
285 '__init__.py', | 375 # This macro must be defined to suppress the use of dynamic_cast<> , |
agl
2012/10/23 13:58:44
This comment looks like it needs rewrapping, as do
| |
286 ], | 376 # which requires RTTI. |
287 }, | 377 'GOOGLE_PROTOBUF_NO_RTTI', |
288 { | 378 'GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER', |
289 'destination': '<(PRODUCT_DIR)/pyproto/google/protobuf', | 379 ], |
290 'files': [ | 380 }, |
291 'python/google/protobuf/__init__.py', | 381 'link_settings': { |
292 'python/google/protobuf/descriptor.py', | 382 'ldflags': [ |
293 'python/google/protobuf/message.py', | 383 '<!@(pkg-config --libs-only-L --libs-only-other protobuf-lite)', |
294 'python/google/protobuf/reflection.py', | 384 ], |
295 'python/google/protobuf/service.py', | 385 'libraries': [ |
296 'python/google/protobuf/service_reflection.py', | 386 '<!@(pkg-config --libs-only-l protobuf-lite)', |
297 'python/google/protobuf/text_format.py', | 387 ], |
298 | 388 }, |
299 # TODO(ncarter): protoc's python generator treats descriptor.proto | 389 }, |
300 # specially, but it's not possible to trigger the special treatment | 390 { |
301 # unless you run protoc from ./src/src (the treatment is based | 391 'target_name': 'protoc', |
302 # on the path to the .proto file matching a constant exactly). | 392 'type': 'none', |
303 # I'm not sure how to convince gyp to execute a rule from a | 393 'toolsets': ['host', 'target'], |
304 # different directory. Until this is resolved, use a copy of | 394 }, |
305 # descriptor_pb2.py that I manually generated. | 395 { |
306 'descriptor_pb2.py', | 396 'target_name': 'py_proto', |
307 ], | 397 'type': 'none', |
308 }, | |
309 { | |
310 'destination': '<(PRODUCT_DIR)/pyproto/google/protobuf/internal', | |
311 'files': [ | |
312 'python/google/protobuf/internal/__init__.py', | |
313 'python/google/protobuf/internal/api_implementation.py', | |
314 'python/google/protobuf/internal/containers.py', | |
315 'python/google/protobuf/internal/cpp_message.py', | |
316 'python/google/protobuf/internal/decoder.py', | |
317 'python/google/protobuf/internal/encoder.py', | |
318 'python/google/protobuf/internal/generator_test.py', | |
319 'python/google/protobuf/internal/message_listener.py', | |
320 'python/google/protobuf/internal/python_message.py', | |
321 'python/google/protobuf/internal/type_checkers.py', | |
322 'python/google/protobuf/internal/wire_format.py', | |
323 ], | |
324 }, | 398 }, |
325 ], | 399 ], |
326 # # We can't generate a proper descriptor_pb2.py -- see earlier comment. | 400 }], |
327 # 'rules': [ | |
328 # { | |
329 # 'rule_name': 'genproto', | |
330 # 'extension': 'proto', | |
331 # 'inputs': [ | |
332 # '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)', | |
333 # ], | |
334 # 'variables': { | |
335 # # The protoc compiler requires a proto_path argument with the | |
336 # # directory containing the .proto file. | |
337 # 'rule_input_relpath': 'src/google/protobuf', | |
338 # }, | |
339 # 'outputs': [ | |
340 # '<(PRODUCT_DIR)/pyproto/google/protobuf/<(RULE_INPUT_ROOT)_pb2.py' , | |
341 # ], | |
342 # 'action': [ | |
343 # '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)', | |
344 # '-I./src', | |
345 # '-I.', | |
346 # '--python_out=<(PRODUCT_DIR)/pyproto/google/protobuf', | |
347 # 'google/protobuf/descriptor.proto', | |
348 # ], | |
349 # 'message': 'Generating Python code from <(RULE_INPUT_PATH)', | |
350 # }, | |
351 # ], | |
352 # 'dependencies': [ | |
353 # 'protoc#host', | |
354 # ], | |
355 # 'sources': [ | |
356 # 'src/google/protobuf/descriptor.proto', | |
357 # ], | |
358 }, | |
359 ], | 401 ], |
360 } | 402 } |
OLD | NEW |