Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 1 | ## Process this file with automake to produce Makefile.in |
| 2 | |
| 3 | conformance_protoc_inputs = \ |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 4 | conformance.proto \ |
| 5 | $(top_srcdir)/src/google/protobuf/test_messages_proto3.proto |
| 6 | |
| 7 | # proto2 input files, should be separated with proto3, as we |
| 8 | # can't generate proto2 files for ruby, php and objc |
| 9 | conformance_proto2_protoc_inputs = \ |
| 10 | $(top_srcdir)/src/google/protobuf/test_messages_proto2.proto |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 11 | |
| 12 | well_known_type_protoc_inputs = \ |
| 13 | $(top_srcdir)/src/google/protobuf/any.proto \ |
| 14 | $(top_srcdir)/src/google/protobuf/duration.proto \ |
| 15 | $(top_srcdir)/src/google/protobuf/field_mask.proto \ |
| 16 | $(top_srcdir)/src/google/protobuf/struct.proto \ |
| 17 | $(top_srcdir)/src/google/protobuf/timestamp.proto \ |
| 18 | $(top_srcdir)/src/google/protobuf/wrappers.proto |
| 19 | |
| 20 | |
| 21 | protoc_outputs = \ |
| 22 | conformance.pb.cc \ |
| 23 | conformance.pb.h |
| 24 | |
| 25 | other_language_protoc_outputs = \ |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 26 | conformance_pb2.py \ |
| 27 | Conformance.pbobjc.h \ |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 28 | Conformance.pbobjc.m \ |
| 29 | conformance_pb.js \ |
| 30 | conformance_pb.rb \ |
| 31 | com/google/protobuf/Any.java \ |
| 32 | com/google/protobuf/AnyOrBuilder.java \ |
| 33 | com/google/protobuf/AnyProto.java \ |
| 34 | com/google/protobuf/BoolValue.java \ |
| 35 | com/google/protobuf/BoolValueOrBuilder.java \ |
| 36 | com/google/protobuf/BytesValue.java \ |
| 37 | com/google/protobuf/BytesValueOrBuilder.java \ |
| 38 | com/google/protobuf/conformance/Conformance.java \ |
| 39 | com/google/protobuf/DoubleValue.java \ |
| 40 | com/google/protobuf/DoubleValueOrBuilder.java \ |
| 41 | com/google/protobuf/Duration.java \ |
| 42 | com/google/protobuf/DurationOrBuilder.java \ |
| 43 | com/google/protobuf/DurationProto.java \ |
| 44 | com/google/protobuf/FieldMask.java \ |
| 45 | com/google/protobuf/FieldMaskOrBuilder.java \ |
| 46 | com/google/protobuf/FieldMaskProto.java \ |
| 47 | com/google/protobuf/FloatValue.java \ |
| 48 | com/google/protobuf/FloatValueOrBuilder.java \ |
| 49 | com/google/protobuf/Int32Value.java \ |
| 50 | com/google/protobuf/Int32ValueOrBuilder.java \ |
| 51 | com/google/protobuf/Int64Value.java \ |
| 52 | com/google/protobuf/Int64ValueOrBuilder.java \ |
| 53 | com/google/protobuf/ListValue.java \ |
| 54 | com/google/protobuf/ListValueOrBuilder.java \ |
| 55 | com/google/protobuf/NullValue.java \ |
| 56 | com/google/protobuf/StringValue.java \ |
| 57 | com/google/protobuf/StringValueOrBuilder.java \ |
| 58 | com/google/protobuf/Struct.java \ |
| 59 | com/google/protobuf/StructOrBuilder.java \ |
| 60 | com/google/protobuf/StructProto.java \ |
| 61 | com/google/protobuf/Timestamp.java \ |
| 62 | com/google/protobuf/TimestampOrBuilder.java \ |
| 63 | com/google/protobuf/TimestampProto.java \ |
| 64 | com/google/protobuf/UInt32Value.java \ |
| 65 | com/google/protobuf/UInt32ValueOrBuilder.java \ |
| 66 | com/google/protobuf/UInt64Value.java \ |
| 67 | com/google/protobuf/UInt64ValueOrBuilder.java \ |
| 68 | com/google/protobuf/Value.java \ |
| 69 | com/google/protobuf/ValueOrBuilder.java \ |
| 70 | com/google/protobuf/WrappersProto.java \ |
| 71 | com/google/protobuf_test_messages/proto3/TestMessagesProto3.java \ |
| 72 | com/google/protobuf_test_messages/proto2/TestMessagesProto2.java \ |
| 73 | google/protobuf/any.pb.cc \ |
| 74 | google/protobuf/any.pb.h \ |
| 75 | google/protobuf/any.rb \ |
| 76 | google/protobuf/any_pb2.py \ |
| 77 | google/protobuf/duration.pb.cc \ |
| 78 | google/protobuf/duration.pb.h \ |
| 79 | google/protobuf/duration.rb \ |
| 80 | google/protobuf/duration_pb2.py \ |
| 81 | google/protobuf/field_mask.pb.cc \ |
| 82 | google/protobuf/field_mask.pb.h \ |
| 83 | google/protobuf/field_mask.rb \ |
| 84 | google/protobuf/field_mask_pb2.py \ |
| 85 | google/protobuf/struct.pb.cc \ |
| 86 | google/protobuf/struct.pb.h \ |
| 87 | google/protobuf/struct.rb \ |
| 88 | google/protobuf/struct_pb2.py \ |
| 89 | google/protobuf/TestMessagesProto2.pbobjc.h \ |
| 90 | google/protobuf/TestMessagesProto2.pbobjc.m \ |
| 91 | google/protobuf/TestMessagesProto3.pbobjc.h \ |
| 92 | google/protobuf/TestMessagesProto3.pbobjc.m \ |
| 93 | google/protobuf/test_messages_proto3.pb.cc \ |
| 94 | google/protobuf/test_messages_proto3.pb.h \ |
| 95 | google/protobuf/test_messages_proto2.pb.cc \ |
| 96 | google/protobuf/test_messages_proto2.pb.h \ |
| 97 | google/protobuf/test_messages_proto3_pb.rb \ |
| 98 | google/protobuf/test_messages_proto3_pb2.py \ |
| 99 | google/protobuf/test_messages_proto2_pb2.py \ |
| 100 | google/protobuf/timestamp.pb.cc \ |
| 101 | google/protobuf/timestamp.pb.h \ |
| 102 | google/protobuf/timestamp.rb \ |
| 103 | google/protobuf/timestamp_pb2.py \ |
| 104 | google/protobuf/wrappers.pb.cc \ |
| 105 | google/protobuf/wrappers.pb.h \ |
| 106 | google/protobuf/wrappers.rb \ |
| 107 | google/protobuf/wrappers_pb2.py \ |
| 108 | Conformance/ConformanceRequest.php \ |
| 109 | Conformance/ConformanceResponse.php \ |
| 110 | Conformance/WireFormat.php \ |
| 111 | GPBMetadata/Conformance.php \ |
| 112 | GPBMetadata/Google/Protobuf/Any.php \ |
| 113 | GPBMetadata/Google/Protobuf/Duration.php \ |
| 114 | GPBMetadata/Google/Protobuf/FieldMask.php \ |
| 115 | GPBMetadata/Google/Protobuf/Struct.php \ |
| 116 | GPBMetadata/Google/Protobuf/TestMessagesProto3.php \ |
| 117 | GPBMetadata/Google/Protobuf/Timestamp.php \ |
| 118 | GPBMetadata/Google/Protobuf/Wrappers.php \ |
| 119 | Google/Protobuf/Any.php \ |
| 120 | Google/Protobuf/BoolValue.php \ |
| 121 | Google/Protobuf/BytesValue.php \ |
| 122 | Google/Protobuf/DoubleValue.php \ |
| 123 | Google/Protobuf/Duration.php \ |
| 124 | Google/Protobuf/FieldMask.php \ |
| 125 | Google/Protobuf/FloatValue.php \ |
| 126 | Google/Protobuf/Int32Value.php \ |
| 127 | Google/Protobuf/Int64Value.php \ |
| 128 | Google/Protobuf/ListValue.php \ |
| 129 | Google/Protobuf/NullValue.php \ |
| 130 | Google/Protobuf/StringValue.php \ |
| 131 | Google/Protobuf/Struct.php \ |
| 132 | Google/Protobuf/Timestamp.php \ |
| 133 | Google/Protobuf/UInt32Value.php \ |
| 134 | Google/Protobuf/UInt64Value.php \ |
| 135 | Google/Protobuf/Value.php \ |
| 136 | Protobuf_test_messages/Proto3/ForeignEnum.php \ |
| 137 | Protobuf_test_messages/Proto3/ForeignMessage.php \ |
| 138 | Protobuf_test_messages/Proto3/TestAllTypes_NestedEnum.php \ |
| 139 | Protobuf_test_messages/Proto3/TestAllTypes_NestedMessage.php \ |
| 140 | Protobuf_test_messages/Proto3/TestAllTypes.php |
| 141 | # lite/com/google/protobuf/Any.java \ |
| 142 | # lite/com/google/protobuf/AnyOrBuilder.java \ |
| 143 | # lite/com/google/protobuf/AnyProto.java \ |
| 144 | # lite/com/google/protobuf/BoolValue.java \ |
| 145 | # lite/com/google/protobuf/BoolValueOrBuilder.java \ |
| 146 | # lite/com/google/protobuf/BytesValue.java \ |
| 147 | # lite/com/google/protobuf/BytesValueOrBuilder.java \ |
| 148 | # lite/com/google/protobuf/conformance/Conformance.java \ |
| 149 | # lite/com/google/protobuf/DoubleValue.java \ |
| 150 | # lite/com/google/protobuf/DoubleValueOrBuilder.java \ |
| 151 | # lite/com/google/protobuf/Duration.java \ |
| 152 | # lite/com/google/protobuf/DurationOrBuilder.java \ |
| 153 | # lite/com/google/protobuf/DurationProto.java \ |
| 154 | # lite/com/google/protobuf/FieldMask.java \ |
| 155 | # lite/com/google/protobuf/FieldMaskOrBuilder.java \ |
| 156 | # lite/com/google/protobuf/FieldMaskProto.java \ |
| 157 | # lite/com/google/protobuf/FloatValue.java \ |
| 158 | # lite/com/google/protobuf/FloatValueOrBuilder.java \ |
| 159 | # lite/com/google/protobuf/Int32Value.java \ |
| 160 | # lite/com/google/protobuf/Int32ValueOrBuilder.java \ |
| 161 | # lite/com/google/protobuf/Int64Value.java \ |
| 162 | # lite/com/google/protobuf/Int64ValueOrBuilder.java \ |
| 163 | # lite/com/google/protobuf/ListValue.java \ |
| 164 | # lite/com/google/protobuf/ListValueOrBuilder.java \ |
| 165 | # lite/com/google/protobuf/NullValue.java \ |
| 166 | # lite/com/google/protobuf/StringValue.java \ |
| 167 | # lite/com/google/protobuf/StringValueOrBuilder.java \ |
| 168 | # lite/com/google/protobuf/Struct.java \ |
| 169 | # lite/com/google/protobuf/StructOrBuilder.java \ |
| 170 | # lite/com/google/protobuf/StructProto.java \ |
| 171 | # lite/com/google/protobuf/Timestamp.java \ |
| 172 | # lite/com/google/protobuf/TimestampOrBuilder.java \ |
| 173 | # lite/com/google/protobuf/TimestampProto.java \ |
| 174 | # lite/com/google/protobuf/UInt32Value.java \ |
| 175 | # lite/com/google/protobuf/UInt32ValueOrBuilder.java \ |
| 176 | # lite/com/google/protobuf/UInt64Value.java \ |
| 177 | # lite/com/google/protobuf/UInt64ValueOrBuilder.java \ |
| 178 | # lite/com/google/protobuf/Value.java \ |
| 179 | # lite/com/google/protobuf/ValueOrBuilder.java \ |
| 180 | # lite/com/google/protobuf/WrappersProto.java |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 181 | |
| 182 | bin_PROGRAMS = conformance-test-runner conformance-cpp |
| 183 | |
| 184 | # All source files excepet C++/Objective-C ones should be explicitly listed |
| 185 | # here because the autoconf tools don't include files of other languages |
| 186 | # automatically. |
| 187 | EXTRA_DIST = \ |
| 188 | ConformanceJava.java \ |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 189 | ConformanceJavaLite.java \ |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 190 | README.md \ |
| 191 | conformance.proto \ |
| 192 | conformance_python.py \ |
| 193 | conformance_ruby.rb \ |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 194 | conformance_php.php \ |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 195 | failure_list_cpp.txt \ |
| 196 | failure_list_csharp.txt \ |
| 197 | failure_list_java.txt \ |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 198 | failure_list_js.txt \ |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 199 | failure_list_objc.txt \ |
| 200 | failure_list_python.txt \ |
| 201 | failure_list_python_cpp.txt \ |
| 202 | failure_list_python-post26.txt \ |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 203 | failure_list_ruby.txt \ |
| 204 | failure_list_php.txt \ |
| 205 | failure_list_php_c.txt |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 206 | |
| 207 | conformance_test_runner_LDADD = $(top_srcdir)/src/libprotobuf.la |
| 208 | conformance_test_runner_SOURCES = conformance_test.h conformance_test.cc \ |
| 209 | conformance_test_runner.cc \ |
| 210 | third_party/jsoncpp/json.h \ |
| 211 | third_party/jsoncpp/jsoncpp.cpp |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 212 | nodist_conformance_test_runner_SOURCES = conformance.pb.cc google/protobuf/test_messages_proto3.pb.cc google/protobuf/test_messages_proto2.pb.cc |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 213 | conformance_test_runner_CPPFLAGS = -I$(top_srcdir)/src -I$(srcdir) |
| 214 | conformance_test_runner_CXXFLAGS = -std=c++11 |
| 215 | # Explicit deps beacuse BUILT_SOURCES are only done before a "make all/check" |
| 216 | # so a direct "make test_cpp" could fail if parallel enough. |
| 217 | conformance_test_runner-conformance_test.$(OBJEXT): conformance.pb.h |
| 218 | conformance_test_runner-conformance_test_runner.$(OBJEXT): conformance.pb.h |
| 219 | |
| 220 | conformance_cpp_LDADD = $(top_srcdir)/src/libprotobuf.la |
| 221 | conformance_cpp_SOURCES = conformance_cpp.cc |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 222 | nodist_conformance_cpp_SOURCES = conformance.pb.cc google/protobuf/test_messages_proto3.pb.cc google/protobuf/test_messages_proto2.pb.cc |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 223 | conformance_cpp_CPPFLAGS = -I$(top_srcdir)/src |
| 224 | # Explicit dep beacuse BUILT_SOURCES are only done before a "make all/check" |
| 225 | # so a direct "make test_cpp" could fail if parallel enough. |
| 226 | conformance_cpp-conformance_cpp.$(OBJEXT): conformance.pb.h |
| 227 | |
| 228 | if OBJC_CONFORMANCE_TEST |
| 229 | |
| 230 | bin_PROGRAMS += conformance-objc |
| 231 | |
| 232 | conformance_objc_SOURCES = conformance_objc.m ../objectivec/GPBProtocolBuffers.m |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 233 | nodist_conformance_objc_SOURCES = Conformance.pbobjc.m google/protobuf/TestMessagesProto2.pbobjc.m google/protobuf/TestMessagesProto3.pbobjc.m |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 234 | # On travis, the build fails without the isysroot because whatever system |
| 235 | # headers are being found don't include generics support for |
| 236 | # NSArray/NSDictionary, the only guess is their image at one time had an odd |
| 237 | # setup for Xcode and old frameworks are being found. |
| 238 | conformance_objc_CPPFLAGS = -I$(top_srcdir)/objectivec -isysroot `xcrun --sdk macosx --show-sdk-path` |
| 239 | conformance_objc_LDFLAGS = -framework Foundation |
| 240 | # Explicit dep beacuse BUILT_SOURCES are only done before a "make all/check" |
| 241 | # so a direct "make test_objc" could fail if parallel enough. |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 242 | conformance_objc-conformance_objc.$(OBJEXT): Conformance.pbobjc.h google/protobuf/TestMessagesProto2.pbobjc.h google/protobuf/TestMessagesProto3.pbobjc.h |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 243 | |
| 244 | endif |
| 245 | |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 246 | # JavaScript well-known types are expected to be in a directory called |
| 247 | # google-protobuf, because they are usually in the google-protobuf npm |
| 248 | # package. But we want to use the sources from our tree, so we recreate |
| 249 | # that directory structure here. |
| 250 | google-protobuf: |
| 251 | mkdir google-protobuf |
| 252 | |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 253 | if USE_EXTERNAL_PROTOC |
| 254 | |
| 255 | # Some implementations include pre-generated versions of well-known types. |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 256 | protoc_middleman: $(conformance_protoc_inputs) $(conformance_proto2_protoc_inputs) $(well_known_type_protoc_inputs) google-protobuf |
| 257 | $(PROTOC) -I$(srcdir) -I$(top_srcdir) --cpp_out=. --java_out=. --ruby_out=. --objc_out=. --python_out=. --php_out=. --js_out=import_style=commonjs,binary:. $(conformance_protoc_inputs) |
| 258 | $(PROTOC) -I$(srcdir) -I$(top_srcdir) --cpp_out=. --java_out=. --objc_out=. --python_out=. --js_out=import_style=commonjs,binary:. $(conformance_proto2_protoc_inputs) |
| 259 | $(PROTOC) -I$(srcdir) -I$(top_srcdir) --cpp_out=. --java_out=. --ruby_out=. --python_out=. --js_out=import_style=commonjs,binary:google-protobuf $(well_known_type_protoc_inputs) |
| 260 | ## $(PROTOC) -I$(srcdir) -I$(top_srcdir) --java_out=lite:lite $(conformance_protoc_inputs) $(well_known_type_protoc_inputs) |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 261 | touch protoc_middleman |
| 262 | |
| 263 | else |
| 264 | |
| 265 | # We have to cd to $(srcdir) before executing protoc because $(protoc_inputs) is |
| 266 | # relative to srcdir, which may not be the same as the current directory when |
| 267 | # building out-of-tree. |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 268 | protoc_middleman: $(top_srcdir)/src/protoc$(EXEEXT) $(conformance_protoc_inputs) $(conformance_proto2_protoc_inputs) $(well_known_type_protoc_inputs) google-protobuf |
| 269 | 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 --php_out=$$oldpwd --js_out=import_style=commonjs,binary:$$oldpwd $(conformance_protoc_inputs) ) |
| 270 | oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. -I$(top_srcdir)/src --cpp_out=$$oldpwd --java_out=$$oldpwd --objc_out=. --python_out=$$oldpwd --js_out=import_style=commonjs,binary:$$oldpwd $(conformance_proto2_protoc_inputs) ) |
| 271 | 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 --js_out=import_style=commonjs,binary:$$oldpwd/google-protobuf $(well_known_type_protoc_inputs) ) |
| 272 | ## @mkdir -p lite |
| 273 | ## 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) ) |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 274 | touch protoc_middleman |
| 275 | |
| 276 | endif |
| 277 | |
| 278 | $(protoc_outputs): protoc_middleman |
| 279 | |
| 280 | $(other_language_protoc_outputs): protoc_middleman |
| 281 | |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 282 | CLEANFILES = $(protoc_outputs) protoc_middleman javac_middleman conformance-java javac_middleman_lite conformance-java-lite conformance-csharp conformance-php conformance-php-c $(other_language_protoc_outputs) |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 283 | |
| 284 | MAINTAINERCLEANFILES = \ |
| 285 | Makefile.in |
| 286 | |
| 287 | javac_middleman: ConformanceJava.java protoc_middleman $(other_language_protoc_outputs) |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 288 | jar=`ls ../java/util/target/*jar-with-dependencies.jar` && javac -classpath ../java/target/classes:$$jar ConformanceJava.java com/google/protobuf/conformance/Conformance.java com/google/protobuf_test_messages/proto3/TestMessagesProto3.java com/google/protobuf_test_messages/proto2/TestMessagesProto2.java |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 289 | @touch javac_middleman |
| 290 | |
| 291 | conformance-java: javac_middleman |
| 292 | @echo "Writing shortcut script conformance-java..." |
| 293 | @echo '#! /bin/sh' > conformance-java |
| 294 | @jar=`ls ../java/util/target/*jar-with-dependencies.jar` && echo java -classpath .:../java/target/classes:$$jar ConformanceJava '$$@' >> conformance-java |
| 295 | @chmod +x conformance-java |
| 296 | |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 297 | javac_middleman_lite: ConformanceJavaLite.java protoc_middleman $(other_language_protoc_outputs) |
| 298 | javac -classpath ../java/lite/target/classes:lite ConformanceJavaLite.java lite/com/google/protobuf/conformance/Conformance.java |
| 299 | @touch javac_middleman_lite |
| 300 | |
| 301 | conformance-java-lite: javac_middleman_lite |
| 302 | @echo "Writing shortcut script conformance-java-lite..." |
| 303 | @echo '#! /bin/sh' > conformance-java-lite |
| 304 | @echo java -classpath .:../java/lite/target/classes:lite ConformanceJavaLite '$$@' >> conformance-java-lite |
| 305 | @chmod +x conformance-java-lite |
| 306 | |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 307 | # Currently the conformance code is alongside the rest of the C# |
| 308 | # source, as it's easier to maintain there. We assume we've already |
| 309 | # built that, so we just need a script to run it. |
| 310 | conformance-csharp: $(other_language_protoc_outputs) |
| 311 | @echo "Writing shortcut script conformance-csharp..." |
| 312 | @echo '#! /bin/sh' > conformance-csharp |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 313 | @echo 'dotnet ../csharp/src/Google.Protobuf.Conformance/bin/Release/netcoreapp1.0/Google.Protobuf.Conformance.dll "$$@"' >> conformance-csharp |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 314 | @chmod +x conformance-csharp |
| 315 | |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 316 | conformance-php: |
| 317 | @echo "Writing shortcut script conformance-php..." |
| 318 | @echo '#! /bin/sh' > conformance-php |
| 319 | @echo 'php -d auto_prepend_file=autoload.php ./conformance_php.php' >> conformance-php |
| 320 | @chmod +x conformance-php |
| 321 | |
| 322 | conformance-php-c: |
| 323 | @echo "Writing shortcut script conformance-php-c..." |
| 324 | @echo '#! /bin/sh' > conformance-php-c |
| 325 | @echo 'php -dextension=../php/ext/google/protobuf/modules/protobuf.so ./conformance_php.php' >> conformance-php-c |
| 326 | @chmod +x conformance-php-c |
| 327 | |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 328 | # Targets for actually running tests. |
| 329 | test_cpp: protoc_middleman conformance-test-runner conformance-cpp |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 330 | ./conformance-test-runner --enforce_recommended --failure_list failure_list_cpp.txt ./conformance-cpp |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 331 | |
| 332 | test_java: protoc_middleman conformance-test-runner conformance-java |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 333 | ./conformance-test-runner --enforce_recommended --failure_list failure_list_java.txt ./conformance-java |
| 334 | |
| 335 | test_java_lite: protoc_middleman conformance-test-runner conformance-java-lite |
| 336 | ./conformance-test-runner --enforce_recommended ./conformance-java-lite |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 337 | |
| 338 | test_csharp: protoc_middleman conformance-test-runner conformance-csharp |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 339 | ./conformance-test-runner --enforce_recommended --failure_list failure_list_csharp.txt ./conformance-csharp |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 340 | |
| 341 | test_ruby: protoc_middleman conformance-test-runner $(other_language_protoc_outputs) |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 342 | RUBYLIB=../ruby/lib:. ./conformance-test-runner --enforce_recommended --failure_list failure_list_ruby.txt ./conformance_ruby.rb |
| 343 | |
| 344 | test_php: protoc_middleman conformance-test-runner conformance-php $(other_language_protoc_outputs) |
| 345 | ./conformance-test-runner --enforce_recommended --failure_list failure_list_php.txt ./conformance-php |
| 346 | |
| 347 | test_php_c: protoc_middleman conformance-test-runner conformance-php-c $(other_language_protoc_outputs) |
| 348 | ./conformance-test-runner --enforce_recommended --failure_list failure_list_php_c.txt ./conformance-php-c |
| 349 | |
| 350 | test_php_zts_c: protoc_middleman conformance-test-runner conformance-php-c $(other_language_protoc_outputs) |
| 351 | ./conformance-test-runner --enforce_recommended --failure_list failure_list_php_zts_c.txt ./conformance-php-c |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 352 | |
| 353 | # These depend on library paths being properly set up. The easiest way to |
| 354 | # run them is to just use "tox" from the python dir. |
| 355 | test_python: protoc_middleman conformance-test-runner |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 356 | ./conformance-test-runner --enforce_recommended --failure_list failure_list_python.txt ./conformance_python.py |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 357 | |
| 358 | test_python_cpp: protoc_middleman conformance-test-runner |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 359 | ./conformance-test-runner --enforce_recommended --failure_list failure_list_python_cpp.txt ./conformance_python.py |
| 360 | |
| 361 | test_nodejs: protoc_middleman conformance-test-runner $(other_language_protoc_outputs) |
| 362 | NODE_PATH=../js:. ./conformance-test-runner --enforce_recommended --failure_list failure_list_js.txt ./conformance_nodejs.js |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 363 | |
| 364 | if OBJC_CONFORMANCE_TEST |
| 365 | |
| 366 | test_objc: protoc_middleman conformance-test-runner conformance-objc |
Austin Schuh | 40c1652 | 2018-10-28 20:27:54 -0700 | [diff] [blame] | 367 | ./conformance-test-runner --enforce_recommended --failure_list failure_list_objc.txt ./conformance-objc |
Brian Silverman | 9c614bc | 2016-02-15 20:20:02 -0500 | [diff] [blame] | 368 | |
| 369 | endif |