15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# **EXPERIMENTAL** 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# See http://sebs.googlecode.com 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# This is an experimental build definition file using the SEBS build system. 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# I (Kenton Varda, maintainer of Protocol Buffers) happen to be the author of 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# SEBS, though SEBS is not a Google project. I'm sticking this file in 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# protobuf's SVN because that's the easiest place for me to put it, and it 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# shouldn't harm anyone. This file is not included in the distribution. 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Currently, to use this file, you must generate config.h and put it at the 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# top level of the source tree. 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)_cpp = sebs.import_("//sebs/cpp.sebs") 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# ==================================================================== 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Public targets 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)protobuf_lite = _cpp.Library( 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) name = "protobuf-lite", 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) srcs = [ "stubs/common.cc", 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "stubs/once.cc", 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "stubs/hash.cc", 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "stubs/hash.h", 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "stubs/map-util.h", 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "stubs/stl_util-inl.h", 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "extension_set.cc", 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "generated_message_util.cc", 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "message_lite.cc", 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "repeated_field.cc", 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "wire_format_lite.cc", 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "io/coded_stream.cc", 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "io/zero_copy_stream.cc", 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "io/zero_copy_stream_impl_lite.cc" ], 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) deps = [ _cpp.SystemLibrary(name = "pthread") ]) 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)protobuf = _cpp.Library( 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) name = "protobuf", 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) srcs = [ "stubs/strutil.cc", 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "stubs/strutil.h", 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "stubs/substitute.cc", 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "stubs/substitute.h", 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "stubs/structurally_valid.cc", 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "descriptor.cc", 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "descriptor.pb.cc", 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "descriptor_database.cc", 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "dynamic_message.cc", 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "extension_set_heavy.cc", 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "generated_message_reflection.cc", 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "message.cc", 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "reflection_ops.cc", 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "service.cc", 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "text_format.cc", 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "unknown_field_set.cc", 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "wire_format.cc", 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "io/gzip_stream.cc", 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "io/printer.cc", 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "io/tokenizer.cc", 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "io/zero_copy_stream_impl.cc", 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/importer.cc", 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/parser.cc" ], 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) deps = [ protobuf_lite, 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) _cpp.SystemLibrary(name = "z") ]) 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)libprotoc = _cpp.Library( 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) name = "protoc", 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) srcs = [ "compiler/code_generator.cc", 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/command_line_interface.cc", 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_enum.cc", 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_enum.h", 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_enum_field.cc", 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_enum_field.h", 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_extension.cc", 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_extension.h", 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_field.cc", 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_field.h", 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_file.cc", 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_file.h", 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_generator.cc", 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_helpers.cc", 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_helpers.h", 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_message.cc", 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_message.h", 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_message_field.cc", 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_message_field.h", 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_primitive_field.cc", 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_primitive_field.h", 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_service.cc", 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_service.h", 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_string_field.cc", 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_string_field.h", 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_enum.cc", 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_enum.h", 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_enum_field.cc", 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_enum_field.h", 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_extension.cc", 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_extension.h", 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_field.cc", 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_field.h", 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_file.cc", 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_file.h", 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_generator.cc", 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_helpers.cc", 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_helpers.h", 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_message.cc", 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_message.h", 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_message_field.cc", 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_message_field.h", 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_primitive_field.cc", 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_primitive_field.h", 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_service.cc", 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/java/java_service.h", 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/python/python_generator.cc" ], 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) deps = [ protobuf ]) 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)protoc = _cpp.Binary( 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) name = "protoc", 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) srcs = [ "compiler/main.cc" ], 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) deps = [ libprotoc ]) 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# ==================================================================== 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# ProtobufLibrary rule class 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class ProtobufLibrary(sebs.Rule): 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) argument_spec = sebs.ArgumentSpec(srcs = [sebs.Artifact], 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) deps = ([sebs.Rule], []), 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) lite = (bool, False)) 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) def _expand(self, args): 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for dep in args.deps: 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if not isinstance(dep, ProtobufLibrary): 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) raise sebs.DefinitionError( 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Dependency of ProtobufLibrary is not a ProtobufLibrary: %s" % dep) 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) protoc.expand_once() 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) # We must build protoc for the host configuration to allow cross-compiling. 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) host_protoc = self.context.configured_artifact(protoc.binary, "host") 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) protoc_action = self.context.action(self, "protobuf") 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) protoc_args = [host_protoc, "-Isrc", "-Itmp", "-Iinclude","--cpp_out=tmp"] 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) cpp_srcs = [] 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for src in args.srcs: 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) protoc_args.append(src) 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) # We cannot build .proto files from other packages because the .pb.cc 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) # and .pb.h files would be written to that package, and we aren't allowed 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) # to write to other packages. 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if self.context.local_filename(src) is None: 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) raise sebs.DefinitionError( 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Source file is not in this package: %s" % src) 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) cc_artifact = self.context.derived_artifact(src, ".pb.cc", protoc_action) 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) header_artifact = self.context.derived_artifact( 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) src, ".pb.h", protoc_action) 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) cpp_srcs.append(cc_artifact) 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) cpp_srcs.append(header_artifact) 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) protoc_action.set_command( 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) sebs.SubprocessCommand(protoc_action, protoc_args, implicit = cpp_srcs)) 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) deps = list(args.deps) 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if args.lite: 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) deps.append(protobuf_lite) 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) else: 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) deps.append(protobuf) 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) self.__cpp_library = _cpp.Library(srcs = cpp_srcs, deps = deps, 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) context = self.context) 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) self.__cpp_library.label = self.label 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) self.outputs = [] 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) def as_cpp_library(self): 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) self.expand_once() 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return self.__cpp_library 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# ==================================================================== 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Tests 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)_lite_test_protos = ProtobufLibrary( 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) srcs = [ "unittest_lite.proto", 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "unittest_import_lite.proto" ], 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) lite = True) 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)_test_protos = ProtobufLibrary( 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) srcs = [ "unittest.proto", 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "unittest_empty.proto", 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "unittest_import.proto", 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "unittest_mset.proto", 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "unittest_optimize_for.proto", 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "unittest_embed_optimize_for.proto", 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "unittest_custom_options.proto", 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "unittest_lite_imports_nonlite.proto", 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_test_bad_identifiers.proto" ], 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) deps = [ _lite_test_protos ]) 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)_test_util = _cpp.Library( 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) name = "test_util", 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) srcs = [ "test_util.cc", 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "test_util.h", 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "testing/googletest.cc", 2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "testing/googletest.h", 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "testing/file.cc", 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "testing/file.h" ], 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) deps = [ protobuf, _test_protos, _cpp.SystemLibrary(name = "gtest")] ) 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)protobuf_lite_test = _cpp.Test( 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) srcs = [ "lite_unittest.cc", 2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "test_util_lite.cc", 2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "test_util_lite.h" ], 2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) deps = [ _lite_test_protos ]) 2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)protobuf_test = _cpp.Test( 2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) srcs = [ "stubs/common_unittest.cc", 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "stubs/once_unittest.cc", 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "stubs/strutil_unittest.cc", 2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "stubs/structurally_valid_unittest.cc", 2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "descriptor_database_unittest.cc", 2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "descriptor_unittest.cc", 2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "dynamic_message_unittest.cc", 2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "extension_set_unittest.cc", 2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "generated_message_reflection_unittest.cc", 2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "message_unittest.cc", 2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "reflection_ops_unittest.cc", 2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "repeated_field_unittest.cc", 2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "text_format_unittest.cc", 2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "unknown_field_set_unittest.cc", 2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "wire_format_unittest.cc", 2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "io/coded_stream_unittest.cc", 2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "io/printer_unittest.cc", 2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "io/tokenizer_unittest.cc", 2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "io/zero_copy_stream_unittest.cc", 2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/command_line_interface_unittest.cc", 2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/importer_unittest.cc", 2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/parser_unittest.cc", 2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_bootstrap_unittest.cc", 2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "compiler/cpp/cpp_unittest.cc" ], 2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) deps = [ protobuf, libprotoc, _test_util, 2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) _cpp.SystemLibrary(name = "gtest_main") ]) 241