Makefile.am 48.9 KB
Newer Older
temporal's avatar
temporal committed
1 2
## Process this file with automake to produce Makefile.in

3 4 5 6
if HAVE_ZLIB
GZCHECKPROGRAMS = zcgzip zcgunzip
GZHEADERS = google/protobuf/io/gzip_stream.h
GZTESTS = google/protobuf/io/gzip_stream_unittest.sh
7
ZLIB_DEF = -DHAVE_ZLIB=1
8 9 10 11
else
GZCHECKPROGRAMS =
GZHEADERS =
GZTESTS =
12 13 14 15 16 17 18
ZLIB_DEF =
endif

if HAVE_PTHREAD
PTHREAD_DEF = -DHAVE_PTHREAD=1
else
PTHREAD_DEF =
19 20
endif

temporal's avatar
temporal committed
21 22
if GCC
# These are good warnings to turn on by default
23
NO_OPT_CXXFLAGS = $(PTHREAD_CFLAGS) $(PTHREAD_DEF) $(ZLIB_DEF) -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare
temporal's avatar
temporal committed
24
else
25
NO_OPT_CXXFLAGS = $(PTHREAD_CFLAGS) $(PTHREAD_DEF) $(ZLIB_DEF)
temporal's avatar
temporal committed
26 27
endif

28 29
AM_CXXFLAGS = $(NO_OPT_CXXFLAGS) $(PROTOBUF_OPT_FLAG)

temporal's avatar
temporal committed
30 31 32 33 34
AM_LDFLAGS = $(PTHREAD_CFLAGS)

# If I say "dist_include_DATA", automake complains that $(includedir) is not
# a "legitimate" directory for DATA.  Screw you, automake.
protodir = $(includedir)
35 36 37 38 39 40 41 42 43 44 45
nobase_dist_proto_DATA = google/protobuf/descriptor.proto     \
                         google/protobuf/any.proto            \
                         google/protobuf/api.proto            \
                         google/protobuf/duration.proto       \
                         google/protobuf/empty.proto          \
                         google/protobuf/field_mask.proto     \
                         google/protobuf/source_context.proto \
                         google/protobuf/struct.proto         \
                         google/protobuf/timestamp.proto      \
                         google/protobuf/type.proto           \
                         google/protobuf/wrappers.proto       \
46
                         google/protobuf/compiler/plugin.proto
temporal's avatar
temporal committed
47 48 49 50 51

# Not sure why these don't get cleaned automatically.
clean-local:
	rm -f *.loT

52
CLEANFILES = $(protoc_outputs) unittest_proto_middleman \
53
             testzip.jar testzip.list testzip.proto testzip.zip
temporal's avatar
temporal committed
54 55 56 57

MAINTAINERCLEANFILES =   \
  Makefile.in

58
nobase_include_HEADERS =                                        \
59
  google/protobuf/stubs/atomic_sequence_num.h                   \
60
  google/protobuf/stubs/atomicops.h                             \
61
  google/protobuf/stubs/atomicops_internals_power.h             \
62
  google/protobuf/stubs/atomicops_internals_arm64_gcc.h         \
63
  google/protobuf/stubs/atomicops_internals_arm_gcc.h           \
64
  google/protobuf/stubs/atomicops_internals_arm_qnx.h           \
65
  google/protobuf/stubs/atomicops_internals_atomicword_compat.h \
66
  google/protobuf/stubs/atomicops_internals_generic_gcc.h       \
67 68
  google/protobuf/stubs/atomicops_internals_macosx.h            \
  google/protobuf/stubs/atomicops_internals_mips_gcc.h          \
69
  google/protobuf/stubs/atomicops_internals_pnacl.h             \
70
  google/protobuf/stubs/atomicops_internals_solaris.h           \
71
  google/protobuf/stubs/atomicops_internals_tsan.h              \
72 73
  google/protobuf/stubs/atomicops_internals_x86_gcc.h           \
  google/protobuf/stubs/atomicops_internals_x86_msvc.h          \
74
  google/protobuf/stubs/callback.h                              \
Rob Earhart's avatar
Rob Earhart committed
75
  google/protobuf/stubs/bytestream.h                            \
76
  google/protobuf/stubs/casts.h                                 \
77
  google/protobuf/stubs/common.h                                \
78
  google/protobuf/stubs/fastmem.h                               \
79
  google/protobuf/stubs/hash.h                                  \
80 81 82
  google/protobuf/stubs/logging.h                               \
  google/protobuf/stubs/macros.h                                \
  google/protobuf/stubs/mutex.h                                 \
83
  google/protobuf/stubs/once.h                                  \
84
  google/protobuf/stubs/platform_macros.h                       \
85 86
  google/protobuf/stubs/port.h                                  \
  google/protobuf/stubs/scoped_ptr.h                            \
87
  google/protobuf/stubs/shared_ptr.h                            \
88
  google/protobuf/stubs/singleton.h                             \
Rob Earhart's avatar
Rob Earhart committed
89
  google/protobuf/stubs/status.h                                \
90
  google/protobuf/stubs/stl_util.h                              \
Rob Earhart's avatar
Rob Earhart committed
91
  google/protobuf/stubs/stringpiece.h                           \
92 93
  google/protobuf/stubs/template_util.h                         \
  google/protobuf/stubs/type_traits.h                           \
94 95
  google/protobuf/any.pb.h                                      \
  google/protobuf/api.pb.h                                      \
96
  google/protobuf/any.h                                         \
97 98 99
  google/protobuf/arena.h                                       \
  google/protobuf/arenastring.h                                 \
  google/protobuf/descriptor_database.h                         \
100 101
  google/protobuf/descriptor.h                                  \
  google/protobuf/descriptor.pb.h                               \
102
  google/protobuf/duration.pb.h                                 \
103
  google/protobuf/dynamic_message.h                             \
104
  google/protobuf/empty.pb.h                                    \
105
  google/protobuf/extension_set.h                               \
106
  google/protobuf/field_mask.pb.h                               \
107
  google/protobuf/generated_enum_reflection.h                   \
108
  google/protobuf/generated_enum_util.h                         \
109
  google/protobuf/generated_message_reflection.h                \
110
  google/protobuf/generated_message_util.h                      \
111
  google/protobuf/map_entry.h                                   \
112
  google/protobuf/map_entry_lite.h                              \
113 114
  google/protobuf/map_field.h                                   \
  google/protobuf/map_field_inl.h                               \
115
  google/protobuf/map_field_lite.h                              \
116 117
  google/protobuf/map.h                                         \
  google/protobuf/map_type_handler.h                            \
118 119
  google/protobuf/message.h                                     \
  google/protobuf/message_lite.h                                \
120 121
  google/protobuf/metadata.h                                    \
  google/protobuf/reflection.h                                  \
122 123
  google/protobuf/reflection_ops.h                              \
  google/protobuf/repeated_field.h                              \
124
  google/protobuf/repeated_field_reflection.h                   \
125
  google/protobuf/service.h                                     \
126 127
  google/protobuf/source_context.pb.h                           \
  google/protobuf/struct.pb.h                                   \
128
  google/protobuf/text_format.h                                 \
129 130
  google/protobuf/timestamp.pb.h                                \
  google/protobuf/type.pb.h                                     \
131 132 133 134
  google/protobuf/unknown_field_set.h                           \
  google/protobuf/wire_format.h                                 \
  google/protobuf/wire_format_lite.h                            \
  google/protobuf/wire_format_lite_inl.h                        \
135
  google/protobuf/wrappers.pb.h                                 \
136 137 138
  google/protobuf/io/coded_stream.h                             \
  $(GZHEADERS)                                                  \
  google/protobuf/io/printer.h                                  \
139
  google/protobuf/io/strtod.h                                   \
140 141 142 143 144 145 146 147 148 149 150
  google/protobuf/io/tokenizer.h                                \
  google/protobuf/io/zero_copy_stream.h                         \
  google/protobuf/io/zero_copy_stream_impl.h                    \
  google/protobuf/io/zero_copy_stream_impl_lite.h               \
  google/protobuf/compiler/code_generator.h                     \
  google/protobuf/compiler/command_line_interface.h             \
  google/protobuf/compiler/importer.h                           \
  google/protobuf/compiler/parser.h                             \
  google/protobuf/compiler/plugin.h                             \
  google/protobuf/compiler/plugin.pb.h                          \
  google/protobuf/compiler/cpp/cpp_generator.h                  \
151 152
  google/protobuf/compiler/csharp/csharp_generator.h            \
  google/protobuf/compiler/csharp/csharp_names.h                \
153
  google/protobuf/compiler/java/java_generator.h                \
zhangkun83's avatar
zhangkun83 committed
154
  google/protobuf/compiler/java/java_names.h                    \
155
  google/protobuf/compiler/javanano/javanano_generator.h        \
156
  google/protobuf/compiler/js/js_generator.h                    \
157
  google/protobuf/compiler/objectivec/objectivec_generator.h    \
158
  google/protobuf/compiler/objectivec/objectivec_helpers.h      \
159
  google/protobuf/compiler/python/python_generator.h            \
160
  google/protobuf/compiler/ruby/ruby_generator.h                \
161 162
  google/protobuf/util/type_resolver.h                          \
  google/protobuf/util/field_comparator.h                       \
163 164 165 166
  google/protobuf/util/field_mask_util.h                        \
  google/protobuf/util/json_util.h                              \
  google/protobuf/util/time_util.h                              \
  google/protobuf/util/type_resolver_util.h                     \
167
  google/protobuf/util/message_differencer.h
temporal's avatar
temporal committed
168

169
lib_LTLIBRARIES = libprotobuf-lite.la libprotobuf.la libprotoc.la
temporal's avatar
temporal committed
170

171
libprotobuf_lite_la_LIBADD = $(PTHREAD_LIBS)
172
libprotobuf_lite_la_LDFLAGS = -version-info 10:0:0 -export-dynamic -no-undefined
173
libprotobuf_lite_la_SOURCES =                                  \
174
  google/protobuf/stubs/atomicops_internals_x86_gcc.cc         \
175
  google/protobuf/stubs/atomicops_internals_x86_msvc.cc        \
176 177
  google/protobuf/stubs/bytestream.cc                          \
  google/protobuf/stubs/bytestream.h                           \
temporal's avatar
temporal committed
178 179
  google/protobuf/stubs/common.cc                              \
  google/protobuf/stubs/hash.h                                 \
180 181
  google/protobuf/stubs/int128.cc                              \
  google/protobuf/stubs/int128.h                               \
182
  google/protobuf/stubs/map_util.h                             \
183 184
  google/protobuf/stubs/mathutil.h                             \
  google/protobuf/stubs/once.cc                                \
185
  google/protobuf/stubs/shared_ptr.h                           \
186 187 188 189 190 191 192
  google/protobuf/stubs/status.cc                              \
  google/protobuf/stubs/status.h                               \
  google/protobuf/stubs/status_macros.h                        \
  google/protobuf/stubs/statusor.cc                            \
  google/protobuf/stubs/statusor.h                             \
  google/protobuf/stubs/stringpiece.cc                         \
  google/protobuf/stubs/stringpiece.h                          \
193 194
  google/protobuf/stubs/stringprintf.cc                        \
  google/protobuf/stubs/stringprintf.h                         \
195
  google/protobuf/stubs/structurally_valid.cc                  \
Feng Xiao's avatar
Feng Xiao committed
196 197
  google/protobuf/stubs/strutil.cc                             \
  google/protobuf/stubs/strutil.h                              \
198 199
  google/protobuf/stubs/time.cc                                \
  google/protobuf/stubs/time.h                                 \
200 201
  google/protobuf/arena.cc                                     \
  google/protobuf/arenastring.cc                               \
202 203 204 205 206 207
  google/protobuf/extension_set.cc                             \
  google/protobuf/generated_message_util.cc                    \
  google/protobuf/message_lite.cc                              \
  google/protobuf/repeated_field.cc                            \
  google/protobuf/wire_format_lite.cc                          \
  google/protobuf/io/coded_stream.cc                           \
208
  google/protobuf/io/coded_stream_inl.h                        \
209
  google/protobuf/io/zero_copy_stream.cc                       \
210
  google/protobuf/io/zero_copy_stream_impl_lite.cc
211 212

libprotobuf_la_LIBADD = $(PTHREAD_LIBS)
213
libprotobuf_la_LDFLAGS = -version-info 10:0:0 -export-dynamic -no-undefined
214 215
libprotobuf_la_SOURCES =                                       \
  $(libprotobuf_lite_la_SOURCES)                               \
216 217
  google/protobuf/any.pb.cc                                    \
  google/protobuf/api.pb.cc                                    \
218
  google/protobuf/stubs/mathlimits.cc                          \
219
  google/protobuf/stubs/mathlimits.h                           \
220
  google/protobuf/any.cc                                       \
temporal's avatar
temporal committed
221 222
  google/protobuf/descriptor.cc                                \
  google/protobuf/descriptor_database.cc                       \
223
  google/protobuf/descriptor.pb.cc                             \
224
  google/protobuf/duration.pb.cc                               \
temporal's avatar
temporal committed
225
  google/protobuf/dynamic_message.cc                           \
226
  google/protobuf/empty.pb.cc                                  \
227
  google/protobuf/extension_set_heavy.cc                       \
228
  google/protobuf/field_mask.pb.cc                             \
temporal's avatar
temporal committed
229
  google/protobuf/generated_message_reflection.cc              \
230
  google/protobuf/map_field.cc                                 \
temporal's avatar
temporal committed
231
  google/protobuf/message.cc                                   \
232
  google/protobuf/reflection_internal.h                        \
temporal's avatar
temporal committed
233 234
  google/protobuf/reflection_ops.cc                            \
  google/protobuf/service.cc                                   \
235 236 237 238
  google/protobuf/source_context.pb.cc                         \
  google/protobuf/struct.pb.cc                                 \
  google/protobuf/stubs/substitute.cc                          \
  google/protobuf/stubs/substitute.h                           \
temporal's avatar
temporal committed
239
  google/protobuf/text_format.cc                               \
240 241
  google/protobuf/timestamp.pb.cc                              \
  google/protobuf/type.pb.cc                                   \
temporal's avatar
temporal committed
242 243
  google/protobuf/unknown_field_set.cc                         \
  google/protobuf/wire_format.cc                               \
244
  google/protobuf/wrappers.pb.cc                               \
245
  google/protobuf/io/gzip_stream.cc                            \
temporal's avatar
temporal committed
246
  google/protobuf/io/printer.cc                                \
247
  google/protobuf/io/strtod.cc                                 \
temporal's avatar
temporal committed
248 249 250
  google/protobuf/io/tokenizer.cc                              \
  google/protobuf/io/zero_copy_stream_impl.cc                  \
  google/protobuf/compiler/importer.cc                         \
251 252
  google/protobuf/compiler/parser.cc                           \
  google/protobuf/util/field_comparator.cc                     \
253
  google/protobuf/util/field_mask_util.cc                      \
254 255 256 257 258 259 260
  google/protobuf/util/internal/constants.h                    \
  google/protobuf/util/internal/datapiece.cc                   \
  google/protobuf/util/internal/datapiece.h                    \
  google/protobuf/util/internal/default_value_objectwriter.cc  \
  google/protobuf/util/internal/default_value_objectwriter.h   \
  google/protobuf/util/internal/error_listener.cc              \
  google/protobuf/util/internal/error_listener.h               \
Feng Xiao's avatar
Feng Xiao committed
261
  google/protobuf/util/internal/expecting_objectwriter.h       \
262 263 264 265 266 267 268 269 270
  google/protobuf/util/internal/field_mask_utility.cc          \
  google/protobuf/util/internal/field_mask_utility.h           \
  google/protobuf/util/internal/json_escaping.cc               \
  google/protobuf/util/internal/json_escaping.h                \
  google/protobuf/util/internal/json_objectwriter.cc           \
  google/protobuf/util/internal/json_objectwriter.h            \
  google/protobuf/util/internal/json_stream_parser.cc          \
  google/protobuf/util/internal/json_stream_parser.h           \
  google/protobuf/util/internal/location_tracker.h             \
Feng Xiao's avatar
Feng Xiao committed
271 272
  google/protobuf/util/internal/mock_error_listener.h          \
  google/protobuf/util/internal/object_location_tracker.h      \
273 274 275 276 277 278 279
  google/protobuf/util/internal/object_source.h                \
  google/protobuf/util/internal/object_writer.cc               \
  google/protobuf/util/internal/object_writer.h                \
  google/protobuf/util/internal/protostream_objectsource.cc    \
  google/protobuf/util/internal/protostream_objectsource.h     \
  google/protobuf/util/internal/protostream_objectwriter.cc    \
  google/protobuf/util/internal/protostream_objectwriter.h     \
280 281
  google/protobuf/util/internal/proto_writer.cc                \
  google/protobuf/util/internal/proto_writer.h                 \
Feng Xiao's avatar
Feng Xiao committed
282
  google/protobuf/util/internal/structured_objectwriter.h      \
283 284
  google/protobuf/util/internal/type_info.cc                   \
  google/protobuf/util/internal/type_info.h                    \
Feng Xiao's avatar
Feng Xiao committed
285 286
  google/protobuf/util/internal/type_info_test_helper.cc       \
  google/protobuf/util/internal/type_info_test_helper.h        \
287 288 289
  google/protobuf/util/internal/utility.cc                     \
  google/protobuf/util/internal/utility.h                      \
  google/protobuf/util/json_util.cc                            \
290 291 292 293
  google/protobuf/util/message_differencer.cc                  \
  google/protobuf/util/time_util.cc                            \
  google/protobuf/util/type_resolver_util.cc

294
nodist_libprotobuf_la_SOURCES = $(nodist_libprotobuf_lite_la_SOURCES)
temporal's avatar
temporal committed
295 296

libprotoc_la_LIBADD = $(PTHREAD_LIBS) libprotobuf.la
297
libprotoc_la_LDFLAGS = -version-info 10:0:0 -export-dynamic -no-undefined
temporal's avatar
temporal committed
298 299 300
libprotoc_la_SOURCES =                                         \
  google/protobuf/compiler/code_generator.cc                   \
  google/protobuf/compiler/command_line_interface.cc           \
301 302 303 304
  google/protobuf/compiler/plugin.cc                           \
  google/protobuf/compiler/plugin.pb.cc                        \
  google/protobuf/compiler/subprocess.cc                       \
  google/protobuf/compiler/subprocess.h                        \
305 306
  google/protobuf/compiler/zip_writer.cc                       \
  google/protobuf/compiler/zip_writer.h                        \
temporal's avatar
temporal committed
307 308 309 310 311 312 313 314 315 316 317 318 319
  google/protobuf/compiler/cpp/cpp_enum.cc                     \
  google/protobuf/compiler/cpp/cpp_enum.h                      \
  google/protobuf/compiler/cpp/cpp_enum_field.cc               \
  google/protobuf/compiler/cpp/cpp_enum_field.h                \
  google/protobuf/compiler/cpp/cpp_extension.cc                \
  google/protobuf/compiler/cpp/cpp_extension.h                 \
  google/protobuf/compiler/cpp/cpp_field.cc                    \
  google/protobuf/compiler/cpp/cpp_field.h                     \
  google/protobuf/compiler/cpp/cpp_file.cc                     \
  google/protobuf/compiler/cpp/cpp_file.h                      \
  google/protobuf/compiler/cpp/cpp_generator.cc                \
  google/protobuf/compiler/cpp/cpp_helpers.cc                  \
  google/protobuf/compiler/cpp/cpp_helpers.h                   \
320 321
  google/protobuf/compiler/cpp/cpp_map_field.cc                \
  google/protobuf/compiler/cpp/cpp_map_field.h                 \
temporal's avatar
temporal committed
322 323 324 325
  google/protobuf/compiler/cpp/cpp_message.cc                  \
  google/protobuf/compiler/cpp/cpp_message.h                   \
  google/protobuf/compiler/cpp/cpp_message_field.cc            \
  google/protobuf/compiler/cpp/cpp_message_field.h             \
326
  google/protobuf/compiler/cpp/cpp_options.h                   \
temporal's avatar
temporal committed
327 328 329 330 331 332
  google/protobuf/compiler/cpp/cpp_primitive_field.cc          \
  google/protobuf/compiler/cpp/cpp_primitive_field.h           \
  google/protobuf/compiler/cpp/cpp_service.cc                  \
  google/protobuf/compiler/cpp/cpp_service.h                   \
  google/protobuf/compiler/cpp/cpp_string_field.cc             \
  google/protobuf/compiler/cpp/cpp_string_field.h              \
333 334
  google/protobuf/compiler/java/java_context.cc                \
  google/protobuf/compiler/java/java_context.h                 \
temporal's avatar
temporal committed
335
  google/protobuf/compiler/java/java_enum.cc                   \
336
  google/protobuf/compiler/java/java_enum_lite.cc              \
temporal's avatar
temporal committed
337 338
  google/protobuf/compiler/java/java_enum_field.cc             \
  google/protobuf/compiler/java/java_enum_field.h              \
339 340
  google/protobuf/compiler/java/java_enum_field_lite.cc        \
  google/protobuf/compiler/java/java_enum_field_lite.h         \
341
  google/protobuf/compiler/java/java_enum.h                    \
342
  google/protobuf/compiler/java/java_enum_lite.h               \
temporal's avatar
temporal committed
343 344
  google/protobuf/compiler/java/java_extension.cc              \
  google/protobuf/compiler/java/java_extension.h               \
345 346
  google/protobuf/compiler/java/java_extension_lite.cc         \
  google/protobuf/compiler/java/java_extension_lite.h          \
temporal's avatar
temporal committed
347 348 349 350 351
  google/protobuf/compiler/java/java_field.cc                  \
  google/protobuf/compiler/java/java_field.h                   \
  google/protobuf/compiler/java/java_file.cc                   \
  google/protobuf/compiler/java/java_file.h                    \
  google/protobuf/compiler/java/java_generator.cc              \
352 353
  google/protobuf/compiler/java/java_generator_factory.cc      \
  google/protobuf/compiler/java/java_generator_factory.h       \
temporal's avatar
temporal committed
354 355
  google/protobuf/compiler/java/java_helpers.cc                \
  google/protobuf/compiler/java/java_helpers.h                 \
356 357
  google/protobuf/compiler/java/java_lazy_message_field.cc     \
  google/protobuf/compiler/java/java_lazy_message_field.h      \
358 359
  google/protobuf/compiler/java/java_lazy_message_field_lite.cc\
  google/protobuf/compiler/java/java_lazy_message_field_lite.h \
360 361
  google/protobuf/compiler/java/java_map_field.cc              \
  google/protobuf/compiler/java/java_map_field.h               \
362 363
  google/protobuf/compiler/java/java_map_field_lite.cc         \
  google/protobuf/compiler/java/java_map_field_lite.h          \
temporal's avatar
temporal committed
364
  google/protobuf/compiler/java/java_message.cc                \
365 366 367
  google/protobuf/compiler/java/java_message_lite.cc           \
  google/protobuf/compiler/java/java_message_builder.cc        \
  google/protobuf/compiler/java/java_message_builder_lite.cc   \
temporal's avatar
temporal committed
368 369
  google/protobuf/compiler/java/java_message_field.cc          \
  google/protobuf/compiler/java/java_message_field.h           \
370 371
  google/protobuf/compiler/java/java_message_field_lite.cc     \
  google/protobuf/compiler/java/java_message_field_lite.h      \
372
  google/protobuf/compiler/java/java_message.h                 \
373 374 375
  google/protobuf/compiler/java/java_message_lite.h            \
  google/protobuf/compiler/java/java_message_builder.h         \
  google/protobuf/compiler/java/java_message_builder_lite.h    \
376 377
  google/protobuf/compiler/java/java_name_resolver.cc          \
  google/protobuf/compiler/java/java_name_resolver.h           \
temporal's avatar
temporal committed
378 379
  google/protobuf/compiler/java/java_primitive_field.cc        \
  google/protobuf/compiler/java/java_primitive_field.h         \
380 381
  google/protobuf/compiler/java/java_primitive_field_lite.cc   \
  google/protobuf/compiler/java/java_primitive_field_lite.h    \
382 383
  google/protobuf/compiler/java/java_shared_code_generator.cc  \
  google/protobuf/compiler/java/java_shared_code_generator.h   \
temporal's avatar
temporal committed
384 385
  google/protobuf/compiler/java/java_service.cc                \
  google/protobuf/compiler/java/java_service.h                 \
386 387
  google/protobuf/compiler/java/java_string_field.cc           \
  google/protobuf/compiler/java/java_string_field.h            \
388 389
  google/protobuf/compiler/java/java_string_field_lite.cc      \
  google/protobuf/compiler/java/java_string_field_lite.h       \
390 391
  google/protobuf/compiler/java/java_doc_comment.cc            \
  google/protobuf/compiler/java/java_doc_comment.h             \
392
  google/protobuf/compiler/js/js_generator.cc                  \
393
  google/protobuf/compiler/javanano/javanano_enum.cc           \
394 395
  google/protobuf/compiler/javanano/javanano_enum.h            \
  google/protobuf/compiler/javanano/javanano_enum_field.cc     \
396 397
  google/protobuf/compiler/javanano/javanano_enum_field.h      \
  google/protobuf/compiler/javanano/javanano_extension.cc      \
398
  google/protobuf/compiler/javanano/javanano_extension.h       \
399
  google/protobuf/compiler/javanano/javanano_field.cc          \
400
  google/protobuf/compiler/javanano/javanano_field.h           \
401
  google/protobuf/compiler/javanano/javanano_file.cc           \
402
  google/protobuf/compiler/javanano/javanano_file.h            \
403
  google/protobuf/compiler/javanano/javanano_generator.cc      \
404
  google/protobuf/compiler/javanano/javanano_generator.h       \
405
  google/protobuf/compiler/javanano/javanano_helpers.cc        \
406 407 408
  google/protobuf/compiler/javanano/javanano_helpers.h         \
  google/protobuf/compiler/javanano/javanano_map_field.cc      \
  google/protobuf/compiler/javanano/javanano_map_field.h       \
409
  google/protobuf/compiler/javanano/javanano_message.cc        \
410 411
  google/protobuf/compiler/javanano/javanano_message.h         \
  google/protobuf/compiler/javanano/javanano_message_field.cc  \
412 413 414
  google/protobuf/compiler/javanano/javanano_message_field.h   \
  google/protobuf/compiler/javanano/javanano_params.h          \
  google/protobuf/compiler/javanano/javanano_primitive_field.cc \
415
  google/protobuf/compiler/javanano/javanano_primitive_field.h \
416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438
  google/protobuf/compiler/objectivec/objectivec_enum.cc       \
  google/protobuf/compiler/objectivec/objectivec_enum.h        \
  google/protobuf/compiler/objectivec/objectivec_enum_field.cc \
  google/protobuf/compiler/objectivec/objectivec_enum_field.h  \
  google/protobuf/compiler/objectivec/objectivec_extension.cc  \
  google/protobuf/compiler/objectivec/objectivec_extension.h   \
  google/protobuf/compiler/objectivec/objectivec_field.cc      \
  google/protobuf/compiler/objectivec/objectivec_field.h       \
  google/protobuf/compiler/objectivec/objectivec_file.cc       \
  google/protobuf/compiler/objectivec/objectivec_file.h        \
  google/protobuf/compiler/objectivec/objectivec_generator.cc  \
  google/protobuf/compiler/objectivec/objectivec_helpers.cc    \
  google/protobuf/compiler/objectivec/objectivec_helpers.h     \
  google/protobuf/compiler/objectivec/objectivec_map_field.cc  \
  google/protobuf/compiler/objectivec/objectivec_map_field.h   \
  google/protobuf/compiler/objectivec/objectivec_message.cc    \
  google/protobuf/compiler/objectivec/objectivec_message.h     \
  google/protobuf/compiler/objectivec/objectivec_message_field.cc \
  google/protobuf/compiler/objectivec/objectivec_message_field.h \
  google/protobuf/compiler/objectivec/objectivec_oneof.cc      \
  google/protobuf/compiler/objectivec/objectivec_oneof.h       \
  google/protobuf/compiler/objectivec/objectivec_primitive_field.cc \
  google/protobuf/compiler/objectivec/objectivec_primitive_field.h \
Chris Fallin's avatar
Chris Fallin committed
439
  google/protobuf/compiler/python/python_generator.cc          \
440
  google/protobuf/compiler/ruby/ruby_generator.cc              \
441 442
  google/protobuf/compiler/csharp/csharp_doc_comment.cc        \
  google/protobuf/compiler/csharp/csharp_doc_comment.h         \
443
  google/protobuf/compiler/csharp/csharp_enum.cc               \
444
  google/protobuf/compiler/csharp/csharp_enum.h                \
445
  google/protobuf/compiler/csharp/csharp_enum_field.cc         \
446
  google/protobuf/compiler/csharp/csharp_enum_field.h          \
447
  google/protobuf/compiler/csharp/csharp_field_base.cc         \
448
  google/protobuf/compiler/csharp/csharp_field_base.h          \
449 450
  google/protobuf/compiler/csharp/csharp_generator.cc          \
  google/protobuf/compiler/csharp/csharp_helpers.cc            \
451
  google/protobuf/compiler/csharp/csharp_helpers.h             \
Jon Skeet's avatar
Jon Skeet committed
452 453
  google/protobuf/compiler/csharp/csharp_map_field.cc          \
  google/protobuf/compiler/csharp/csharp_map_field.h           \
454
  google/protobuf/compiler/csharp/csharp_message.cc            \
455
  google/protobuf/compiler/csharp/csharp_message.h             \
456
  google/protobuf/compiler/csharp/csharp_message_field.cc      \
457
  google/protobuf/compiler/csharp/csharp_message_field.h       \
458
  google/protobuf/compiler/csharp/csharp_options.h             \
459
  google/protobuf/compiler/csharp/csharp_primitive_field.cc    \
460
  google/protobuf/compiler/csharp/csharp_primitive_field.h     \
461 462
  google/protobuf/compiler/csharp/csharp_reflection_class.cc     \
  google/protobuf/compiler/csharp/csharp_reflection_class.h      \
463
  google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc \
464
  google/protobuf/compiler/csharp/csharp_repeated_enum_field.h \
465
  google/protobuf/compiler/csharp/csharp_repeated_message_field.cc \
466
  google/protobuf/compiler/csharp/csharp_repeated_message_field.h \
467
  google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc \
468
  google/protobuf/compiler/csharp/csharp_repeated_primitive_field.h \
469
  google/protobuf/compiler/csharp/csharp_source_generator_base.cc \
470
  google/protobuf/compiler/csharp/csharp_source_generator_base.h \
471 472
  google/protobuf/compiler/csharp/csharp_wrapper_field.cc      \
  google/protobuf/compiler/csharp/csharp_wrapper_field.h
temporal's avatar
temporal committed
473 474 475 476 477 478 479

bin_PROGRAMS = protoc
protoc_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la
protoc_SOURCES = google/protobuf/compiler/main.cc

# Tests ==============================================================

480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498
protoc_inputs =                                                   \
  google/protobuf/any_test.proto                                  \
  google/protobuf/compiler/cpp/cpp_test_bad_identifiers.proto     \
  google/protobuf/map_lite_unittest.proto                         \
  google/protobuf/map_proto2_unittest.proto                       \
  google/protobuf/map_unittest.proto                              \
  google/protobuf/unittest_arena.proto                            \
  google/protobuf/unittest_custom_options.proto                   \
  google/protobuf/unittest_drop_unknown_fields.proto              \
  google/protobuf/unittest_embed_optimize_for.proto               \
  google/protobuf/unittest_empty.proto                            \
  google/protobuf/unittest_enormous_descriptor.proto              \
  google/protobuf/unittest_import_lite.proto                      \
  google/protobuf/unittest_import.proto                           \
  google/protobuf/unittest_import_public_lite.proto               \
  google/protobuf/unittest_import_public.proto                    \
  google/protobuf/unittest_lite_imports_nonlite.proto             \
  google/protobuf/unittest_lite.proto                             \
  google/protobuf/unittest_mset.proto                             \
499 500
  google/protobuf/unittest_mset_wire_format.proto                 \
  google/protobuf/unittest_no_arena_lite.proto                    \
501 502 503 504 505 506 507 508 509
  google/protobuf/unittest_no_arena_import.proto                  \
  google/protobuf/unittest_no_arena.proto                         \
  google/protobuf/unittest_no_field_presence.proto                \
  google/protobuf/unittest_no_generic_services.proto              \
  google/protobuf/unittest_optimize_for.proto                     \
  google/protobuf/unittest_preserve_unknown_enum2.proto           \
  google/protobuf/unittest_preserve_unknown_enum.proto            \
  google/protobuf/unittest.proto                                  \
  google/protobuf/unittest_proto3_arena.proto                     \
510 511
  google/protobuf/unittest_proto3_arena_lite.proto                     \
  google/protobuf/unittest_proto3_lite.proto                     \
512 513 514 515 516 517 518
  google/protobuf/unittest_well_known_types.proto                 \
  google/protobuf/util/internal/testdata/anys.proto               \
  google/protobuf/util/internal/testdata/books.proto              \
  google/protobuf/util/internal/testdata/default_value.proto      \
  google/protobuf/util/internal/testdata/default_value_test.proto \
  google/protobuf/util/internal/testdata/field_mask.proto         \
  google/protobuf/util/internal/testdata/maps.proto               \
519
  google/protobuf/util/internal/testdata/oneofs.proto             \
520 521 522
  google/protobuf/util/internal/testdata/struct.proto             \
  google/protobuf/util/internal/testdata/timestamp_duration.proto \
  google/protobuf/util/json_format_proto3.proto                   \
523
  google/protobuf/util/message_differencer_unittest.proto         \
524
  google/protobuf/compiler/cpp/cpp_test_large_enum_value.proto
temporal's avatar
temporal committed
525 526 527 528

EXTRA_DIST =                                                   \
  $(protoc_inputs)                                             \
  solaris/libstdc++.la                                         \
529 530
  google/protobuf/io/gzip_stream.h                             \
  google/protobuf/io/gzip_stream_unittest.sh                   \
temporal's avatar
temporal committed
531
  google/protobuf/testdata/golden_message                      \
532
  google/protobuf/testdata/golden_message_oneof_implemented    \
533
  google/protobuf/testdata/golden_message_proto3               \
534
  google/protobuf/testdata/golden_packed_fields_message        \
535
  google/protobuf/testdata/bad_utf8_string                     \
536
  google/protobuf/testdata/map_test_data.txt                   \
537
  google/protobuf/testdata/text_format_unittest_data.txt       \
538
  google/protobuf/testdata/text_format_unittest_data_oneof_implemented.txt  \
539
  google/protobuf/testdata/text_format_unittest_data_pointy.txt             \
540
  google/protobuf/testdata/text_format_unittest_data_pointy_oneof.txt       \
541
  google/protobuf/testdata/text_format_unittest_extensions_data.txt         \
542
  google/protobuf/testdata/text_format_unittest_extensions_data_pointy.txt  \
temporal's avatar
temporal committed
543 544
  google/protobuf/package_info.h                               \
  google/protobuf/io/package_info.h                            \
545 546
  google/protobuf/compiler/ruby/ruby_generated_code.proto      \
  google/protobuf/compiler/ruby/ruby_generated_code.rb         \
547
  google/protobuf/compiler/package_info.h                      \
548
  google/protobuf/compiler/zip_output_unittest.sh
temporal's avatar
temporal committed
549

550
protoc_lite_outputs =                                          \
551 552
  google/protobuf/map_lite_unittest.pb.cc                      \
  google/protobuf/map_lite_unittest.pb.h                       \
553 554
  google/protobuf/unittest_lite.pb.cc                          \
  google/protobuf/unittest_lite.pb.h                           \
555 556
  google/protobuf/unittest_no_arena_lite.pb.cc                 \
  google/protobuf/unittest_no_arena_lite.pb.h                  \
557
  google/protobuf/unittest_import_lite.pb.cc                   \
558 559 560
  google/protobuf/unittest_import_lite.pb.h                    \
  google/protobuf/unittest_import_public_lite.pb.cc            \
  google/protobuf/unittest_import_public_lite.pb.h
561

562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593
protoc_outputs =                                                  \
  $(protoc_lite_outputs)                                          \
  google/protobuf/any_test.pb.cc                                  \
  google/protobuf/any_test.pb.h                                   \
  google/protobuf/compiler/cpp/cpp_test_bad_identifiers.pb.cc     \
  google/protobuf/compiler/cpp/cpp_test_bad_identifiers.pb.h      \
  google/protobuf/compiler/cpp/cpp_test_large_enum_value.pb.cc    \
  google/protobuf/compiler/cpp/cpp_test_large_enum_value.pb.h     \
  google/protobuf/map_proto2_unittest.pb.cc                       \
  google/protobuf/map_proto2_unittest.pb.h                        \
  google/protobuf/map_unittest.pb.cc                              \
  google/protobuf/map_unittest.pb.h                               \
  google/protobuf/unittest_arena.pb.cc                            \
  google/protobuf/unittest_arena.pb.h                             \
  google/protobuf/unittest_custom_options.pb.cc                   \
  google/protobuf/unittest_custom_options.pb.h                    \
  google/protobuf/unittest_drop_unknown_fields.pb.cc              \
  google/protobuf/unittest_drop_unknown_fields.pb.h               \
  google/protobuf/unittest_embed_optimize_for.pb.cc               \
  google/protobuf/unittest_embed_optimize_for.pb.h                \
  google/protobuf/unittest_empty.pb.cc                            \
  google/protobuf/unittest_empty.pb.h                             \
  google/protobuf/unittest_enormous_descriptor.pb.cc              \
  google/protobuf/unittest_enormous_descriptor.pb.h               \
  google/protobuf/unittest_import.pb.cc                           \
  google/protobuf/unittest_import.pb.h                            \
  google/protobuf/unittest_import_public.pb.cc                    \
  google/protobuf/unittest_import_public.pb.h                     \
  google/protobuf/unittest_lite_imports_nonlite.pb.cc             \
  google/protobuf/unittest_lite_imports_nonlite.pb.h              \
  google/protobuf/unittest_mset.pb.cc                             \
  google/protobuf/unittest_mset.pb.h                              \
594 595
  google/protobuf/unittest_mset_wire_format.pb.cc                 \
  google/protobuf/unittest_mset_wire_format.pb.h                  \
596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613
  google/protobuf/unittest_no_arena_import.pb.cc                  \
  google/protobuf/unittest_no_arena_import.pb.h                   \
  google/protobuf/unittest_no_arena.pb.cc                         \
  google/protobuf/unittest_no_arena.pb.h                          \
  google/protobuf/unittest_no_field_presence.pb.cc                \
  google/protobuf/unittest_no_field_presence.pb.h                 \
  google/protobuf/unittest_no_generic_services.pb.cc              \
  google/protobuf/unittest_no_generic_services.pb.h               \
  google/protobuf/unittest_optimize_for.pb.cc                     \
  google/protobuf/unittest_optimize_for.pb.h                      \
  google/protobuf/unittest.pb.cc                                  \
  google/protobuf/unittest.pb.h                                   \
  google/protobuf/unittest_preserve_unknown_enum2.pb.cc           \
  google/protobuf/unittest_preserve_unknown_enum2.pb.h            \
  google/protobuf/unittest_preserve_unknown_enum.pb.cc            \
  google/protobuf/unittest_preserve_unknown_enum.pb.h             \
  google/protobuf/unittest_proto3_arena.pb.cc                     \
  google/protobuf/unittest_proto3_arena.pb.h                      \
614 615 616 617
  google/protobuf/unittest_proto3_arena_lite.pb.cc                     \
  google/protobuf/unittest_proto3_arena_lite.pb.h                      \
  google/protobuf/unittest_proto3_lite.pb.cc                     \
  google/protobuf/unittest_proto3_lite.pb.h                      \
618 619 620 621 622 623 624 625 626 627 628 629 630 631
  google/protobuf/unittest_well_known_types.pb.cc                 \
  google/protobuf/unittest_well_known_types.pb.h                  \
  google/protobuf/util/internal/testdata/anys.pb.cc               \
  google/protobuf/util/internal/testdata/anys.pb.h                \
  google/protobuf/util/internal/testdata/books.pb.cc              \
  google/protobuf/util/internal/testdata/books.pb.h               \
  google/protobuf/util/internal/testdata/default_value.pb.cc      \
  google/protobuf/util/internal/testdata/default_value.pb.h       \
  google/protobuf/util/internal/testdata/default_value_test.pb.cc \
  google/protobuf/util/internal/testdata/default_value_test.pb.h  \
  google/protobuf/util/internal/testdata/field_mask.pb.cc         \
  google/protobuf/util/internal/testdata/field_mask.pb.h          \
  google/protobuf/util/internal/testdata/maps.pb.cc               \
  google/protobuf/util/internal/testdata/maps.pb.h                \
632 633
  google/protobuf/util/internal/testdata/oneofs.pb.cc             \
  google/protobuf/util/internal/testdata/oneofs.pb.h              \
634 635 636 637 638
  google/protobuf/util/internal/testdata/struct.pb.cc             \
  google/protobuf/util/internal/testdata/struct.pb.h              \
  google/protobuf/util/internal/testdata/timestamp_duration.pb.cc \
  google/protobuf/util/internal/testdata/timestamp_duration.pb.h  \
  google/protobuf/util/json_format_proto3.pb.cc                   \
639 640 641
  google/protobuf/util/json_format_proto3.pb.h                    \
  google/protobuf/util/message_differencer_unittest.pb.cc         \
  google/protobuf/util/message_differencer_unittest.pb.h
temporal's avatar
temporal committed
642

643
BUILT_SOURCES = $(protoc_outputs)
temporal's avatar
temporal committed
644

645 646 647
if USE_EXTERNAL_PROTOC

unittest_proto_middleman: $(protoc_inputs)
648
	$(PROTOC) -I$(srcdir) --cpp_out=. $^
649 650 651 652
	touch unittest_proto_middleman

else

653 654 655
# We have to cd to $(srcdir) before executing protoc because $(protoc_inputs) is
# relative to srcdir, which may not be the same as the current directory when
# building out-of-tree.
temporal's avatar
temporal committed
656
unittest_proto_middleman: protoc$(EXEEXT) $(protoc_inputs)
657
	oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/protoc$(EXEEXT) -I. --cpp_out=$$oldpwd $(protoc_inputs) )
temporal's avatar
temporal committed
658 659
	touch unittest_proto_middleman

660 661
endif

temporal's avatar
temporal committed
662 663
$(protoc_outputs): unittest_proto_middleman

664
COMMON_TEST_SOURCES =                                          \
665 666
  google/protobuf/arena_test_util.cc                           \
  google/protobuf/arena_test_util.h                            \
667 668
  google/protobuf/map_test_util.cc                             \
  google/protobuf/map_test_util.h                              \
669
  google/protobuf/map_test_util_impl.h                         \
670 671 672 673 674 675 676
  google/protobuf/test_util.cc                                 \
  google/protobuf/test_util.h                                  \
  google/protobuf/testing/googletest.cc                        \
  google/protobuf/testing/googletest.h                         \
  google/protobuf/testing/file.cc                              \
  google/protobuf/testing/file.h

677
check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \
678 679
                 protobuf-lite-test test_plugin protobuf-lite-arena-test \
                 $(GZCHECKPROGRAMS)
680
protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
Feng Xiao's avatar
Feng Xiao committed
681 682 683 684 685
                      ../gmock/gtest/lib/libgtest.la              \
                      ../gmock/lib/libgmock.la                    \
                      ../gmock/lib/libgmock_main.la
protobuf_test_CPPFLAGS = -I$(srcdir)/../gmock/gtest/include \
                         -I$(srcdir)/../gmock/include
686 687 688 689
# Disable optimization for tests unless the user explicitly asked for it,
# since test_util.cc takes forever to compile with optimization (with GCC).
# See configure.ac for more info.
protobuf_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
temporal's avatar
temporal committed
690
protobuf_test_SOURCES =                                        \
691
  google/protobuf/stubs/bytestream_unittest.cc                 \
temporal's avatar
temporal committed
692
  google/protobuf/stubs/common_unittest.cc                     \
693
  google/protobuf/stubs/int128_unittest.cc                     \
694
  google/protobuf/stubs/once_unittest.cc                       \
695 696 697
  google/protobuf/stubs/statusor_test.cc                       \
  google/protobuf/stubs/status_test.cc                         \
  google/protobuf/stubs/stringpiece_unittest.cc                \
698
  google/protobuf/stubs/stringprintf_unittest.cc               \
699 700
  google/protobuf/stubs/structurally_valid_unittest.cc         \
  google/protobuf/stubs/strutil_unittest.cc                    \
701
  google/protobuf/stubs/template_util_unittest.cc              \
702
  google/protobuf/stubs/time_test.cc                           \
703
  google/protobuf/stubs/type_traits_unittest.cc                \
704
  google/protobuf/any_test.cc                                  \
705 706
  google/protobuf/arenastring_unittest.cc                      \
  google/protobuf/arena_unittest.cc                            \
temporal's avatar
temporal committed
707 708
  google/protobuf/descriptor_database_unittest.cc              \
  google/protobuf/descriptor_unittest.cc                       \
709
  google/protobuf/drop_unknown_fields_test.cc                  \
temporal's avatar
temporal committed
710 711 712
  google/protobuf/dynamic_message_unittest.cc                  \
  google/protobuf/extension_set_unittest.cc                    \
  google/protobuf/generated_message_reflection_unittest.cc     \
713 714
  google/protobuf/map_field_test.cc                            \
  google/protobuf/map_test.cc                                  \
temporal's avatar
temporal committed
715
  google/protobuf/message_unittest.cc                          \
716 717 718
  google/protobuf/no_field_presence_test.cc                    \
  google/protobuf/preserve_unknown_enum_test.cc                \
  google/protobuf/proto3_arena_unittest.cc                     \
719 720
  google/protobuf/proto3_arena_lite_unittest.cc                     \
  google/protobuf/proto3_lite_unittest.cc                     \
temporal's avatar
temporal committed
721
  google/protobuf/reflection_ops_unittest.cc                   \
722
  google/protobuf/repeated_field_reflection_unittest.cc        \
723
  google/protobuf/repeated_field_unittest.cc                   \
temporal's avatar
temporal committed
724 725
  google/protobuf/text_format_unittest.cc                      \
  google/protobuf/unknown_field_set_unittest.cc                \
726
  google/protobuf/well_known_types_unittest.cc                 \
temporal's avatar
temporal committed
727 728 729 730 731 732 733
  google/protobuf/wire_format_unittest.cc                      \
  google/protobuf/io/coded_stream_unittest.cc                  \
  google/protobuf/io/printer_unittest.cc                       \
  google/protobuf/io/tokenizer_unittest.cc                     \
  google/protobuf/io/zero_copy_stream_unittest.cc              \
  google/protobuf/compiler/command_line_interface_unittest.cc  \
  google/protobuf/compiler/importer_unittest.cc                \
734 735
  google/protobuf/compiler/mock_code_generator.cc              \
  google/protobuf/compiler/mock_code_generator.h               \
temporal's avatar
temporal committed
736 737
  google/protobuf/compiler/parser_unittest.cc                  \
  google/protobuf/compiler/cpp/cpp_bootstrap_unittest.cc       \
738
  google/protobuf/compiler/cpp/cpp_unittest.h                  \
temporal's avatar
temporal committed
739
  google/protobuf/compiler/cpp/cpp_unittest.cc                 \
740
  google/protobuf/compiler/cpp/cpp_plugin_unittest.cc          \
741
  google/protobuf/compiler/cpp/metadata_test.cc                \
742
  google/protobuf/compiler/java/java_plugin_unittest.cc        \
743
  google/protobuf/compiler/java/java_doc_comment_unittest.cc   \
744
  google/protobuf/compiler/objectivec/objectivec_helpers_unittest.cc \
745
  google/protobuf/compiler/python/python_plugin_unittest.cc    \
746
  google/protobuf/compiler/ruby/ruby_generator_unittest.cc     \
747
  google/protobuf/compiler/csharp/csharp_generator_unittest.cc \
748
  google/protobuf/util/field_comparator_test.cc                \
749
  google/protobuf/util/field_mask_util_test.cc                 \
750 751 752 753 754 755 756
  google/protobuf/util/internal/default_value_objectwriter_test.cc \
  google/protobuf/util/internal/json_objectwriter_test.cc      \
  google/protobuf/util/internal/json_stream_parser_test.cc     \
  google/protobuf/util/internal/protostream_objectsource_test.cc \
  google/protobuf/util/internal/protostream_objectwriter_test.cc \
  google/protobuf/util/internal/type_info_test_helper.cc       \
  google/protobuf/util/json_util_test.cc                       \
757
  google/protobuf/util/message_differencer_unittest.cc         \
758
  google/protobuf/util/time_util_test.cc                       \
759
  google/protobuf/util/type_resolver_util_test.cc              \
760
  $(COMMON_TEST_SOURCES)
761 762


763 764 765 766
nodist_protobuf_test_SOURCES = $(protoc_outputs)

# Run cpp_unittest again with PROTOBUF_TEST_NO_DESCRIPTORS defined.
protobuf_lazy_descriptor_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \
767
                      libprotoc.la                                   \
Feng Xiao's avatar
Feng Xiao committed
768 769 770 771 772
                      ../gmock/gtest/lib/libgtest.la                 \
                      ../gmock/lib/libgmock.la                       \
                      ../gmock/lib/libgmock_main.la
protobuf_lazy_descriptor_test_CPPFLAGS = -I$(srcdir)/../gmock/include       \
                                         -I$(srcdir)/../gmock/gtest/include \
773
                                         -DPROTOBUF_TEST_NO_DESCRIPTORS
774
protobuf_lazy_descriptor_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
775 776 777 778
protobuf_lazy_descriptor_test_SOURCES =                        \
  google/protobuf/compiler/cpp/cpp_unittest.cc                 \
  $(COMMON_TEST_SOURCES)
nodist_protobuf_lazy_descriptor_test_SOURCES = $(protoc_outputs)
temporal's avatar
temporal committed
779

780
COMMON_LITE_TEST_SOURCES =                                             \
781 782
  google/protobuf/arena_test_util.cc                                   \
  google/protobuf/arena_test_util.h                                    \
783 784
  google/protobuf/map_lite_test_util.cc                                \
  google/protobuf/map_lite_test_util.h                                 \
785 786
  google/protobuf/test_util_lite.cc                                    \
  google/protobuf/test_util_lite.h
787 788 789 790 791 792 793 794 795 796

# Build lite_unittest separately, since it doesn't use gtest. It can't
# depend on gtest because our internal version of gtest depend on proto
# full runtime and we want to make sure this test builds without full
# runtime.
protobuf_lite_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la
protobuf_lite_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
protobuf_lite_test_SOURCES =                                           \
  google/protobuf/lite_unittest.cc                                     \
  $(COMMON_LITE_TEST_SOURCES)
797 798
nodist_protobuf_lite_test_SOURCES = $(protoc_lite_outputs)

799 800 801 802 803 804 805 806 807 808 809 810 811 812 813
# lite_arena_unittest depends on gtest because teboring@ found that without
# gtest when building the test internally our memory sanitizer doesn't detect
# memory leaks (don't know why).
protobuf_lite_arena_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \
                      ../gmock/gtest/lib/libgtest.la                 \
                      ../gmock/lib/libgmock.la                       \
                      ../gmock/lib/libgmock_main.la
protobuf_lite_arena_test_CPPFLAGS = -I$(srcdir)/../gmock/include       \
                                    -I$(srcdir)/../gmock/gtest/include
protobuf_lite_arena_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
protobuf_lite_arena_test_SOURCES =       \
  google/protobuf/lite_arena_unittest.cc \
  $(COMMON_LITE_TEST_SOURCES)
nodist_protobuf_lite_arena_test_SOURCES = $(protoc_lite_outputs)

814 815
# Test plugin binary.
test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
Feng Xiao's avatar
Feng Xiao committed
816 817
                    ../gmock/gtest/lib/libgtest.la
test_plugin_CPPFLAGS = -I$(srcdir)/../gmock/gtest/include
818 819 820 821 822 823
test_plugin_SOURCES =                                          \
  google/protobuf/compiler/mock_code_generator.cc              \
  google/protobuf/testing/file.cc                              \
  google/protobuf/testing/file.h                               \
  google/protobuf/compiler/test_plugin.cc

824 825 826 827 828 829 830 831
if HAVE_ZLIB
zcgzip_LDADD = $(PTHREAD_LIBS) libprotobuf.la
zcgzip_SOURCES = google/protobuf/testing/zcgzip.cc

zcgunzip_LDADD = $(PTHREAD_LIBS) libprotobuf.la
zcgunzip_SOURCES = google/protobuf/testing/zcgunzip.cc
endif

832
TESTS = protobuf-test protobuf-lazy-descriptor-test protobuf-lite-test \
833 834
        google/protobuf/compiler/zip_output_unittest.sh $(GZTESTS)     \
        protobuf-lite-arena-test