1b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer## Process this file with automake to produce Makefile.in
2b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
3b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance_protoc_inputs =                                    \
4b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  conformance.proto
5b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
6b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerwell_known_type_protoc_inputs =                                \
7b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  $(top_srcdir)/src/google/protobuf/any.proto                  \
8b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  $(top_srcdir)/src/google/protobuf/duration.proto             \
9b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  $(top_srcdir)/src/google/protobuf/field_mask.proto           \
10b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  $(top_srcdir)/src/google/protobuf/struct.proto               \
11b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  $(top_srcdir)/src/google/protobuf/timestamp.proto            \
12b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  $(top_srcdir)/src/google/protobuf/wrappers.proto
13b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
14b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
15b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerprotoc_outputs =                                               \
16b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  conformance.pb.cc                                            \
17b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  conformance.pb.h
18b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
19b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerother_language_protoc_outputs =                                \
20b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  conformance_pb2.py                                           \
21b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  Conformance.pbobjc.h                                         \
22b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  Conformance.pbobjc.m                                         \
23b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  conformance.rb                                               \
24b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/Any.java                                 \
25b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/AnyOrBuilder.java                        \
26b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/AnyProto.java                            \
27b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/BoolValue.java                           \
28b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/BoolValueOrBuilder.java                  \
29b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/BytesValue.java                          \
30b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/BytesValueOrBuilder.java                 \
31b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/conformance/Conformance.java             \
32b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/DoubleValue.java                         \
33b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/DoubleValueOrBuilder.java                \
34b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/Duration.java                            \
35b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/DurationOrBuilder.java                   \
36b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/DurationProto.java                       \
37b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/FieldMask.java                           \
38b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/FieldMaskOrBuilder.java                  \
39b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/FieldMaskProto.java                      \
40b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/FloatValue.java                          \
41b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/FloatValueOrBuilder.java                 \
42b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/Int32Value.java                          \
43b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/Int32ValueOrBuilder.java                 \
44b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/Int64Value.java                          \
45b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/Int64ValueOrBuilder.java                 \
46b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/ListValue.java                           \
47b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/ListValueOrBuilder.java                  \
48b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/NullValue.java                           \
49b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/StringValue.java                         \
50b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/StringValueOrBuilder.java                \
51b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/Struct.java                              \
52b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/StructOrBuilder.java                     \
53b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/StructProto.java                         \
54b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/Timestamp.java                           \
55b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/TimestampOrBuilder.java                  \
56b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/TimestampProto.java                      \
57b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/UInt32Value.java                         \
58b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/UInt32ValueOrBuilder.java                \
59b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/UInt64Value.java                         \
60b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/UInt64ValueOrBuilder.java                \
61b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/Value.java                               \
62b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/ValueOrBuilder.java                      \
63b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  com/google/protobuf/WrappersProto.java                       \
64b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/any.pb.cc                                    \
65b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/any.pb.h                                     \
66b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/any.rb                                       \
67b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/any_pb2.py                                   \
68b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/duration.pb.cc                               \
69b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/duration.pb.h                                \
70b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/duration.rb                                  \
71b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/duration_pb2.py                              \
72b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/field_mask.pb.cc                             \
73b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/field_mask.pb.h                              \
74b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/field_mask.rb                                \
75b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/field_mask_pb2.py                            \
76b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/struct.pb.cc                                 \
77b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/struct.pb.h                                  \
78b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/struct.rb                                    \
79b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/struct_pb2.py                                \
80b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/timestamp.pb.cc                              \
81b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/timestamp.pb.h                               \
82b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/timestamp.rb                                 \
83b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/timestamp_pb2.py                             \
84b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/wrappers.pb.cc                               \
85b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/wrappers.pb.h                                \
86b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/wrappers.rb                                  \
87b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  google/protobuf/wrappers_pb2.py                              \
88b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/Any.java                            \
89b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/AnyOrBuilder.java                   \
90b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/AnyProto.java                       \
91b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/BoolValue.java                      \
92b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/BoolValueOrBuilder.java             \
93b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/BytesValue.java                     \
94b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/BytesValueOrBuilder.java            \
95b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/conformance/Conformance.java        \
96b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/DoubleValue.java                    \
97b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/DoubleValueOrBuilder.java           \
98b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/Duration.java                       \
99b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/DurationOrBuilder.java              \
100b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/DurationProto.java                  \
101b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/FieldMask.java                      \
102b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/FieldMaskOrBuilder.java             \
103b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/FieldMaskProto.java                 \
104b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/FloatValue.java                     \
105b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/FloatValueOrBuilder.java            \
106b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/Int32Value.java                     \
107b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/Int32ValueOrBuilder.java            \
108b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/Int64Value.java                     \
109b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/Int64ValueOrBuilder.java            \
110b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/ListValue.java                      \
111b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/ListValueOrBuilder.java             \
112b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/NullValue.java                      \
113b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/StringValue.java                    \
114b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/StringValueOrBuilder.java           \
115b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/Struct.java                         \
116b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/StructOrBuilder.java                \
117b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/StructProto.java                    \
118b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/Timestamp.java                      \
119b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/TimestampOrBuilder.java             \
120b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/TimestampProto.java                 \
121b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/UInt32Value.java                    \
122b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/UInt32ValueOrBuilder.java           \
123b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/UInt64Value.java                    \
124b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/UInt64ValueOrBuilder.java           \
125b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/Value.java                          \
126b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/ValueOrBuilder.java                 \
127b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  lite/com/google/protobuf/WrappersProto.java
128b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
129b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerbin_PROGRAMS = conformance-test-runner conformance-cpp
130b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
131b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# All source files excepet C++/Objective-C ones should be explicitly listed
132b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# here because the autoconf tools don't include files of other languages
133b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# automatically.
134b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas BerghammerEXTRA_DIST =                  \
135b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  ConformanceJava.java        \
136b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  ConformanceJavaLite.java    \
137b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  README.md                   \
138b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  conformance.proto           \
139b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  conformance_python.py       \
140b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  conformance_ruby.rb         \
141b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  failure_list_cpp.txt        \
142b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  failure_list_csharp.txt     \
143b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  failure_list_java.txt       \
144b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  failure_list_objc.txt       \
145b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  failure_list_python.txt     \
146b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  failure_list_python_cpp.txt \
147b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  failure_list_python-post26.txt \
148b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  failure_list_ruby.txt
149b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
150b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance_test_runner_LDADD = $(top_srcdir)/src/libprotobuf.la
151b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance_test_runner_SOURCES = conformance_test.h conformance_test.cc \
152b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer                                  conformance_test_runner.cc             \
153b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer                                  third_party/jsoncpp/json.h             \
154b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer                                  third_party/jsoncpp/jsoncpp.cpp
155b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammernodist_conformance_test_runner_SOURCES = conformance.pb.cc
156b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance_test_runner_CPPFLAGS = -I$(top_srcdir)/src -I$(srcdir)
157b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance_test_runner_CXXFLAGS = -std=c++11
158b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# Explicit deps beacuse BUILT_SOURCES are only done before a "make all/check"
159b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# so a direct "make test_cpp" could fail if parallel enough.
160b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance_test_runner-conformance_test.$(OBJEXT): conformance.pb.h
161b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance_test_runner-conformance_test_runner.$(OBJEXT): conformance.pb.h
162b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
163b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance_cpp_LDADD = $(top_srcdir)/src/libprotobuf.la
164b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance_cpp_SOURCES = conformance_cpp.cc
165b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammernodist_conformance_cpp_SOURCES = conformance.pb.cc
166b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance_cpp_CPPFLAGS = -I$(top_srcdir)/src
167b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# Explicit dep beacuse BUILT_SOURCES are only done before a "make all/check"
168b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# so a direct "make test_cpp" could fail if parallel enough.
169b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance_cpp-conformance_cpp.$(OBJEXT): conformance.pb.h
170b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
171b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerif OBJC_CONFORMANCE_TEST
172b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
173b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerbin_PROGRAMS += conformance-objc
174b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
175b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance_objc_SOURCES = conformance_objc.m ../objectivec/GPBProtocolBuffers.m
176b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammernodist_conformance_objc_SOURCES = Conformance.pbobjc.m
177b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# On travis, the build fails without the isysroot because whatever system
178b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# headers are being found don't include generics support for
179b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# NSArray/NSDictionary, the only guess is their image at one time had an odd
180b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# setup for Xcode and old frameworks are being found.
181b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance_objc_CPPFLAGS = -I$(top_srcdir)/objectivec -isysroot `xcrun --sdk macosx --show-sdk-path`
182b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance_objc_LDFLAGS = -framework Foundation
183b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# Explicit dep beacuse BUILT_SOURCES are only done before a "make all/check"
184b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# so a direct "make test_objc" could fail if parallel enough.
185b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance_objc-conformance_objc.$(OBJEXT): Conformance.pbobjc.h
186b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
187b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerendif
188b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
189b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerif USE_EXTERNAL_PROTOC
190b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
191b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# Some implementations include pre-generated versions of well-known types.
192b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerprotoc_middleman: $(conformance_protoc_inputs) $(well_known_type_protoc_inputs)
193b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	$(PROTOC) -I$(srcdir) -I$(top_srcdir) --cpp_out=. --java_out=. --ruby_out=. --objc_out=. --python_out=. $(conformance_protoc_inputs)
194b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	$(PROTOC) -I$(srcdir) -I$(top_srcdir) --cpp_out=. --java_out=. --ruby_out=. --python_out=. $(well_known_type_protoc_inputs)
195b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	$(PROTOC) -I$(srcdir) -I$(top_srcdir) --java_out=lite:lite $(conformance_protoc_inputs) $(well_known_type_protoc_inputs)
196b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	touch protoc_middleman
197b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
198b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerelse
199b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
200b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# We have to cd to $(srcdir) before executing protoc because $(protoc_inputs) is
201b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# relative to srcdir, which may not be the same as the current directory when
202b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# building out-of-tree.
203b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerprotoc_middleman: $(top_srcdir)/src/protoc$(EXEEXT) $(conformance_protoc_inputs) $(well_known_type_protoc_inputs)
204b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. -I$(top_srcdir)/src --cpp_out=$$oldpwd --java_out=$$oldpwd --ruby_out=$$oldpwd --objc_out=$$oldpwd --python_out=$$oldpwd $(conformance_protoc_inputs) )
205b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. -I$(top_srcdir)/src --cpp_out=$$oldpwd --java_out=$$oldpwd --ruby_out=$$oldpwd --python_out=$$oldpwd $(well_known_type_protoc_inputs) )
206b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	@mkdir -p lite
207b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. -I$(top_srcdir)/src --java_out=lite:$$oldpwd/lite $(conformance_protoc_inputs) $(well_known_type_protoc_inputs) )
208b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	touch protoc_middleman
209b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
210b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerendif
211b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
212b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer$(protoc_outputs): protoc_middleman
213b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
214b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer$(other_language_protoc_outputs): protoc_middleman
215b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
216b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas BerghammerBUILT_SOURCES = $(protoc_outputs) $(other_language_protoc_outputs)
217b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
218b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas BerghammerCLEANFILES = $(protoc_outputs) protoc_middleman javac_middleman conformance-java javac_middleman_lite conformance-java-lite conformance-csharp $(other_language_protoc_outputs)
219b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
220b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas BerghammerMAINTAINERCLEANFILES =   \
221b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer  Makefile.in
222b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
223b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerjavac_middleman: ConformanceJava.java protoc_middleman $(other_language_protoc_outputs)
224b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	jar=`ls ../java/util/target/*jar-with-dependencies.jar` && javac -classpath ../java/target/classes:$$jar ConformanceJava.java com/google/protobuf/conformance/Conformance.java
225b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	@touch javac_middleman
226b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
227b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance-java: javac_middleman
228b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	@echo "Writing shortcut script conformance-java..."
229b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	@echo '#! /bin/sh' > conformance-java
230b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	@jar=`ls ../java/util/target/*jar-with-dependencies.jar` && echo java -classpath .:../java/target/classes:$$jar ConformanceJava '$$@' >> conformance-java
231b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	@chmod +x conformance-java
232b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
233b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerjavac_middleman_lite: ConformanceJavaLite.java protoc_middleman $(other_language_protoc_outputs)
234b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	javac -classpath ../java/lite/target/classes:lite ConformanceJavaLite.java lite/com/google/protobuf/conformance/Conformance.java
235b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	@touch javac_middleman_lite
236b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
237b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance-java-lite: javac_middleman_lite
238b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	@echo "Writing shortcut script conformance-java-lite..."
239b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	@echo '#! /bin/sh' > conformance-java-lite
240b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	@echo java -classpath .:../java/lite/target/classes:lite ConformanceJavaLite '$$@' >> conformance-java-lite
241b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	@chmod +x conformance-java-lite
242b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
243b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# Currently the conformance code is alongside the rest of the C#
244b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# source, as it's easier to maintain there. We assume we've already
245b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# built that, so we just need a script to run it.
246b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerconformance-csharp: $(other_language_protoc_outputs)
247b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	@echo "Writing shortcut script conformance-csharp..."
248b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	@echo '#! /bin/sh' > conformance-csharp
249b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	@echo 'mono ../csharp/src/Google.Protobuf.Conformance/bin/Release/Google.Protobuf.Conformance.exe "$$@"' >> conformance-csharp
250b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	@chmod +x conformance-csharp
251b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
252b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# Targets for actually running tests.
253b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammertest_cpp: protoc_middleman conformance-test-runner conformance-cpp
254b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	./conformance-test-runner --failure_list failure_list_cpp.txt ./conformance-cpp
255b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
256b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammertest_java: protoc_middleman conformance-test-runner conformance-java
257b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	./conformance-test-runner --failure_list failure_list_java.txt ./conformance-java
258b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
259b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammertest_java_lite: protoc_middleman conformance-test-runner conformance-java-lite
260b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	./conformance-test-runner ./conformance-java-lite
261b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
262b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammertest_csharp: protoc_middleman conformance-test-runner conformance-csharp
263b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	./conformance-test-runner --failure_list failure_list_csharp.txt ./conformance-csharp
264b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
265b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammertest_ruby: protoc_middleman conformance-test-runner $(other_language_protoc_outputs)
266b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	RUBYLIB=../ruby/lib:. ./conformance-test-runner --failure_list failure_list_ruby.txt ./conformance_ruby.rb
267b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
268b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# These depend on library paths being properly set up.  The easiest way to
269b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer# run them is to just use "tox" from the python dir.
270b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammertest_python: protoc_middleman conformance-test-runner
271b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	./conformance-test-runner --failure_list failure_list_python.txt $(CONFORMANCE_PYTHON_EXTRA_FAILURES) ./conformance_python.py
272b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
273b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammertest_python_cpp: protoc_middleman conformance-test-runner
274b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	./conformance-test-runner --failure_list failure_list_python_cpp.txt $(CONFORMANCE_PYTHON_EXTRA_FAILURES) ./conformance_python.py
275b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
276b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerif OBJC_CONFORMANCE_TEST
277b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
278b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammertest_objc: protoc_middleman conformance-test-runner conformance-objc
279b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer	./conformance-test-runner --failure_list failure_list_objc.txt ./conformance-objc
280b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer
281b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerendif
282