protoc 2.6.1.1 → 2.6.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/protoc/Makefile.in +10 -13
- data/ext/protoc/extconf.rb +0 -1
- data/ext/protoc/protobuf/CHANGES.txt +593 -0
- data/ext/protoc/protobuf/CONTRIBUTORS.txt +93 -0
- data/ext/protoc/protobuf/INSTALL.txt +237 -0
- data/ext/protoc/protobuf/LICENSE +33 -0
- data/ext/protoc/protobuf/Makefile.am +267 -0
- data/ext/protoc/protobuf/README.md +167 -0
- data/ext/protoc/protobuf/autogen.sh +41 -0
- data/ext/protoc/protobuf/benchmarks/ProtoBench.java +203 -0
- data/ext/protoc/protobuf/benchmarks/google_message1.dat +0 -0
- data/ext/protoc/protobuf/benchmarks/google_message2.dat +0 -0
- data/ext/protoc/protobuf/benchmarks/google_size.proto +136 -0
- data/ext/protoc/protobuf/benchmarks/google_speed.proto +136 -0
- data/ext/protoc/protobuf/benchmarks/readme.txt +50 -0
- data/ext/protoc/protobuf/configure.ac +159 -0
- data/ext/protoc/protobuf/editors/README.txt +5 -0
- data/ext/protoc/protobuf/editors/proto.vim +105 -0
- data/ext/protoc/protobuf/editors/protobuf-mode.el +220 -0
- data/ext/protoc/protobuf/examples/AddPerson.java +95 -0
- data/ext/protoc/protobuf/examples/ListPeople.java +50 -0
- data/ext/protoc/protobuf/examples/Makefile +58 -0
- data/ext/protoc/protobuf/examples/README.txt +29 -0
- data/ext/protoc/protobuf/examples/add_person.cc +95 -0
- data/ext/protoc/protobuf/examples/add_person.py +58 -0
- data/ext/protoc/protobuf/examples/addressbook.proto +30 -0
- data/ext/protoc/protobuf/examples/list_people.cc +68 -0
- data/ext/protoc/protobuf/examples/list_people.py +38 -0
- data/ext/protoc/protobuf/generate_descriptor_proto.sh +33 -0
- data/ext/protoc/protobuf/java/README.txt +96 -0
- data/ext/protoc/protobuf/java/pom.xml +217 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/AbstractMessage.java +466 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/AbstractMessageLite.java +355 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/AbstractParser.java +253 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/BlockingRpcChannel.java +51 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/BlockingService.java +64 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/BoundedByteString.java +163 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ByteString.java +1022 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/CodedInputStream.java +1311 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/CodedOutputStream.java +1297 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Descriptors.java +2238 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/DynamicMessage.java +622 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Extension.java +96 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ExtensionRegistry.java +392 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ExtensionRegistryLite.java +185 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/FieldSet.java +907 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/GeneratedMessage.java +2213 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/GeneratedMessageLite.java +949 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Internal.java +391 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/InvalidProtocolBufferException.java +122 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/LazyField.java +154 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/LazyFieldLite.java +176 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/LazyStringArrayList.java +367 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/LazyStringList.java +163 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/LiteralByteString.java +362 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Message.java +244 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/MessageLite.java +320 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/MessageLiteOrBuilder.java +60 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/MessageOrBuilder.java +143 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/MessageReflection.java +931 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Parser.java +261 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ProtocolMessageEnum.java +58 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ProtocolStringList.java +48 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RepeatedFieldBuilder.java +696 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RopeByteString.java +957 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RpcCallback.java +47 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RpcChannel.java +71 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RpcController.java +118 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/RpcUtil.java +134 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Service.java +117 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/ServiceException.java +52 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/SingleFieldBuilder.java +241 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/SmallSortedMap.java +618 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/TextFormat.java +1984 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/UninitializedMessageException.java +99 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/UnknownFieldSet.java +995 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/UnmodifiableLazyStringList.java +205 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/Utf8.java +349 -0
- data/ext/protoc/protobuf/java/src/main/java/com/google/protobuf/WireFormat.java +163 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/AbstractMessageTest.java +527 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/BoundedByteStringTest.java +68 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/ByteStringTest.java +759 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/CheckUtf8Test.java +141 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/CodedInputStreamTest.java +769 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/CodedOutputStreamTest.java +401 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/DeprecatedFieldTest.java +80 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/DescriptorsTest.java +735 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/DynamicMessageTest.java +326 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/ForceFieldBuildersPreRun.java +48 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/GeneratedMessageTest.java +1515 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/IsValidUtf8Test.java +180 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/IsValidUtf8TestUtil.java +421 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LazyFieldLiteTest.java +134 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LazyFieldTest.java +121 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LazyMessageLiteTest.java +319 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LazyStringArrayListTest.java +174 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LazyStringEndToEndTest.java +143 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LiteEqualsAndHashTest.java +85 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LiteTest.java +148 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/LiteralByteStringTest.java +396 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/MessageTest.java +353 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/NestedBuildersTest.java +185 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/ParserTest.java +381 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/RepeatedFieldBuilderTest.java +190 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/RopeByteStringSubstringTest.java +97 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/RopeByteStringTest.java +115 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/ServiceTest.java +320 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/SingleFieldBuilderTest.java +155 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/SmallSortedMapTest.java +420 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/TestBadIdentifiers.java +96 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/TestUtil.java +4124 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/TextFormatTest.java +994 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/UnknownFieldSetTest.java +653 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/UnmodifiableLazyStringListTest.java +227 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/WireFormatTest.java +606 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/lazy_fields_lite.proto +61 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/lite_equals_and_hash.proto +55 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/multiple_files_test.proto +77 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/nested_builders_test.proto +53 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/nested_extension.proto +46 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/nested_extension_lite.proto +48 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/non_nested_extension.proto +49 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/non_nested_extension_lite.proto +50 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/outer_class_name_test.proto +38 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/outer_class_name_test2.proto +42 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/outer_class_name_test3.proto +43 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/test_bad_identifiers.proto +157 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/test_check_utf8.proto +50 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/test_check_utf8_size.proto +51 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/test_custom_options.proto +43 -0
- data/ext/protoc/protobuf/java/src/test/java/com/google/protobuf/test_extra_interfaces.proto +60 -0
- data/ext/protoc/protobuf/m4/ac_system_extensions.m4 +37 -0
- data/ext/protoc/protobuf/m4/acx_check_suncc.m4 +75 -0
- data/ext/protoc/protobuf/m4/acx_pthread.m4 +397 -0
- data/ext/protoc/protobuf/m4/stl_hash.m4 +72 -0
- data/ext/protoc/protobuf/more_tests/Makefile +41 -0
- data/ext/protoc/protobuf/post_process_dist.sh +60 -0
- data/ext/protoc/protobuf/protobuf-lite.pc.in +13 -0
- data/ext/protoc/protobuf/protobuf.pc.in +14 -0
- data/ext/protoc/protobuf/python/README.txt +105 -0
- data/ext/protoc/protobuf/python/ez_setup.py +284 -0
- data/ext/protoc/protobuf/python/google/__init__.py +1 -0
- data/ext/protoc/protobuf/python/google/protobuf/__init__.py +0 -0
- data/ext/protoc/protobuf/python/google/protobuf/descriptor.py +849 -0
- data/ext/protoc/protobuf/python/google/protobuf/descriptor_database.py +137 -0
- data/ext/protoc/protobuf/python/google/protobuf/descriptor_pool.py +643 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/__init__.py +0 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/api_implementation.cc +139 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/api_implementation.py +89 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/api_implementation_default_test.py +63 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/containers.py +269 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/cpp_message.py +663 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/decoder.py +831 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_database_test.py +63 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_pool_test.py +564 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_pool_test1.proto +94 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_pool_test2.proto +70 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_python_test.py +54 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/descriptor_test.py +669 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/encoder.py +788 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/enum_type_wrapper.py +89 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/factory_test1.proto +57 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/factory_test2.proto +92 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/generator_test.py +343 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/message_factory_python_test.py +54 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/message_factory_test.py +131 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/message_listener.py +78 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/message_python_test.py +54 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/message_test.py +681 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/missing_enum_values.proto +50 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/more_extensions.proto +58 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/more_extensions_dynamic.proto +49 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/more_messages.proto +51 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/python_message.py +1251 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/reflection_test.py +2934 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/service_reflection_test.py +136 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/symbol_database_test.py +120 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/test_bad_identifiers.proto +52 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/test_util.py +662 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/text_encoding_test.py +68 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/text_format_test.py +743 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/type_checkers.py +328 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/unknown_fields_test.py +231 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/wire_format.py +268 -0
- data/ext/protoc/protobuf/python/google/protobuf/internal/wire_format_test.py +253 -0
- data/ext/protoc/protobuf/python/google/protobuf/message.py +284 -0
- data/ext/protoc/protobuf/python/google/protobuf/message_factory.py +155 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/README +6 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/__init__.py +0 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/cpp_message.py +61 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/descriptor.cc +357 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/descriptor.h +96 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/descriptor_cpp2_test.py +58 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/extension_dict.cc +338 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/extension_dict.h +123 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/message.cc +2561 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/message.h +305 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/message_factory_cpp2_test.py +56 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/proto2_api_test.proto +38 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/python.proto +66 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/python_protobuf.h +57 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/reflection_cpp2_generated_test.py +94 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/repeated_composite_container.cc +763 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/repeated_composite_container.h +172 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/repeated_scalar_container.cc +825 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/repeated_scalar_container.h +112 -0
- data/ext/protoc/protobuf/python/google/protobuf/pyext/scoped_pyobject_ptr.h +95 -0
- data/ext/protoc/protobuf/python/google/protobuf/reflection.py +205 -0
- data/ext/protoc/protobuf/python/google/protobuf/service.py +226 -0
- data/ext/protoc/protobuf/python/google/protobuf/service_reflection.py +284 -0
- data/ext/protoc/protobuf/python/google/protobuf/symbol_database.py +185 -0
- data/ext/protoc/protobuf/python/google/protobuf/text_encoding.py +110 -0
- data/ext/protoc/protobuf/python/google/protobuf/text_format.py +873 -0
- data/ext/protoc/protobuf/python/mox.py +1401 -0
- data/ext/protoc/protobuf/python/setup.py +201 -0
- data/ext/protoc/protobuf/python/stubout.py +140 -0
- data/ext/protoc/protobuf/src/Makefile.am +418 -0
- data/ext/protoc/protobuf/src/google/protobuf/SEBS +240 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/code_generator.cc +84 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/code_generator.h +145 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/command_line_interface.cc +1603 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/command_line_interface.h +378 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/command_line_interface_unittest.cc +1654 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_bootstrap_unittest.cc +158 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_enum.cc +288 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_enum.h +103 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.cc +431 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.h +122 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_extension.cc +210 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_extension.h +86 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_field.cc +166 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_field.h +185 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_file.cc +665 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_file.h +99 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_generator.cc +125 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_generator.h +72 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.cc +494 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.h +206 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_message.cc +2645 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_message.h +175 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.cc +375 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.h +121 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h +58 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_plugin_unittest.cc +123 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_primitive_field.cc +451 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_primitive_field.h +123 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_service.cc +334 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_service.h +118 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_string_field.cc +642 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_string_field.h +127 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_test_bad_identifiers.proto +132 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_unittest.cc +2074 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/cpp/cpp_unittest.h +51 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/importer.cc +480 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/importer.h +317 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/importer_unittest.cc +617 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_context.cc +195 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_context.h +95 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_doc_comment.cc +233 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_doc_comment.h +69 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_doc_comment_unittest.cc +67 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_enum.cc +333 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_enum.h +99 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_enum_field.cc +778 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_enum_field.h +158 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_extension.cc +207 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_extension.h +109 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_field.cc +213 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_field.h +162 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_file.cc +534 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_file.h +115 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_generator.cc +158 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_generator.h +72 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_generator_factory.cc +77 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_generator_factory.h +101 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_helpers.cc +737 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_helpers.h +322 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_lazy_message_field.cc +826 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_lazy_message_field.h +121 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_message.cc +1666 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_message.h +140 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_message_field.cc +1343 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_message_field.h +173 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_name_resolver.cc +266 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_name_resolver.h +124 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_plugin_unittest.cc +124 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_primitive_field.cc +877 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_primitive_field.h +160 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_service.cc +473 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_service.h +135 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_shared_code_generator.cc +201 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_shared_code_generator.h +90 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_string_field.cc +1056 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/java/java_string_field.h +160 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/main.cc +61 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/mock_code_generator.cc +240 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/mock_code_generator.h +117 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/package_info.h +64 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/parser.cc +1750 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/parser.h +522 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/parser_unittest.cc +2612 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/plugin.cc +163 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/plugin.h +72 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/plugin.pb.cc +1148 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/plugin.pb.h +897 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/plugin.proto +147 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/python/python_generator.cc +1262 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/python/python_generator.h +166 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/python/python_plugin_unittest.cc +118 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/subprocess.cc +463 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/subprocess.h +108 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/test_plugin.cc +51 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/zip_output_unittest.sh +91 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/zip_writer.cc +218 -0
- data/ext/protoc/protobuf/src/google/protobuf/compiler/zip_writer.h +93 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor.cc +5420 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor.h +1691 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor.pb.cc +9135 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor.pb.h +6761 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor.proto +687 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor_database.cc +543 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor_database.h +369 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor_database_unittest.cc +748 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor_pb2_test.py +54 -0
- data/ext/protoc/protobuf/src/google/protobuf/descriptor_unittest.cc +5501 -0
- data/ext/protoc/protobuf/src/google/protobuf/dynamic_message.cc +764 -0
- data/ext/protoc/protobuf/src/google/protobuf/dynamic_message.h +148 -0
- data/ext/protoc/protobuf/src/google/protobuf/dynamic_message_unittest.cc +230 -0
- data/ext/protoc/protobuf/src/google/protobuf/extension_set.cc +1663 -0
- data/ext/protoc/protobuf/src/google/protobuf/extension_set.h +1234 -0
- data/ext/protoc/protobuf/src/google/protobuf/extension_set_heavy.cc +734 -0
- data/ext/protoc/protobuf/src/google/protobuf/extension_set_unittest.cc +1095 -0
- data/ext/protoc/protobuf/src/google/protobuf/generated_enum_reflection.h +91 -0
- data/ext/protoc/protobuf/src/google/protobuf/generated_message_reflection.cc +1683 -0
- data/ext/protoc/protobuf/src/google/protobuf/generated_message_reflection.h +504 -0
- data/ext/protoc/protobuf/src/google/protobuf/generated_message_reflection_unittest.cc +795 -0
- data/ext/protoc/protobuf/src/google/protobuf/generated_message_util.cc +65 -0
- data/ext/protoc/protobuf/src/google/protobuf/generated_message_util.h +113 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/coded_stream.cc +914 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/coded_stream.h +1220 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/coded_stream_inl.h +69 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/coded_stream_unittest.cc +1378 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/gzip_stream.cc +326 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/gzip_stream.h +209 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/gzip_stream_unittest.sh +44 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/package_info.h +54 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/printer.cc +198 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/printer.h +136 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/printer_unittest.cc +285 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/strtod.cc +113 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/strtod.h +50 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/tokenizer.cc +1127 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/tokenizer.h +402 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/tokenizer_unittest.cc +999 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream.cc +57 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream.h +248 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream_impl.cc +473 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h +358 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc +405 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h +354 -0
- data/ext/protoc/protobuf/src/google/protobuf/io/zero_copy_stream_unittest.cc +965 -0
- data/ext/protoc/protobuf/src/google/protobuf/lite_unittest.cc +350 -0
- data/ext/protoc/protobuf/src/google/protobuf/message.cc +358 -0
- data/ext/protoc/protobuf/src/google/protobuf/message.h +866 -0
- data/ext/protoc/protobuf/src/google/protobuf/message_lite.cc +335 -0
- data/ext/protoc/protobuf/src/google/protobuf/message_lite.h +247 -0
- data/ext/protoc/protobuf/src/google/protobuf/message_unittest.cc +427 -0
- data/ext/protoc/protobuf/src/google/protobuf/package_info.h +64 -0
- data/ext/protoc/protobuf/src/google/protobuf/reflection_ops.cc +269 -0
- data/ext/protoc/protobuf/src/google/protobuf/reflection_ops.h +81 -0
- data/ext/protoc/protobuf/src/google/protobuf/reflection_ops_unittest.cc +475 -0
- data/ext/protoc/protobuf/src/google/protobuf/repeated_field.cc +87 -0
- data/ext/protoc/protobuf/src/google/protobuf/repeated_field.h +1603 -0
- data/ext/protoc/protobuf/src/google/protobuf/repeated_field_reflection_unittest.cc +195 -0
- data/ext/protoc/protobuf/src/google/protobuf/repeated_field_unittest.cc +1442 -0
- data/ext/protoc/protobuf/src/google/protobuf/service.cc +46 -0
- data/ext/protoc/protobuf/src/google/protobuf/service.h +291 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops.h +227 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_arm64_gcc.h +325 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_arm_gcc.h +151 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_arm_qnx.h +146 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_atomicword_compat.h +122 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h +137 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_macosx.h +225 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_mips_gcc.h +313 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_pnacl.h +73 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_solaris.h +188 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_tsan.h +219 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc +137 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_gcc.h +293 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_msvc.cc +112 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/atomicops_internals_x86_msvc.h +150 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/common.cc +395 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/common.h +1226 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/common_unittest.cc +357 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/hash.h +232 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/map_util.h +771 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/once.cc +99 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/once.h +166 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/once_unittest.cc +253 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/platform_macros.h +103 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/shared_ptr.h +470 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/stl_util.h +121 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/stringprintf.cc +175 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/stringprintf.h +76 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/stringprintf_unittest.cc +152 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/structurally_valid.cc +536 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/structurally_valid_unittest.cc +40 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/strutil.cc +1279 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/strutil.h +562 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/strutil_unittest.cc +73 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/substitute.cc +134 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/substitute.h +170 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/template_util.h +138 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/template_util_unittest.cc +130 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/type_traits.h +336 -0
- data/ext/protoc/protobuf/src/google/protobuf/stubs/type_traits_unittest.cc +628 -0
- data/ext/protoc/protobuf/src/google/protobuf/test_util.cc +3345 -0
- data/ext/protoc/protobuf/src/google/protobuf/test_util.h +215 -0
- data/ext/protoc/protobuf/src/google/protobuf/test_util_lite.cc +1585 -0
- data/ext/protoc/protobuf/src/google/protobuf/test_util_lite.h +101 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/bad_utf8_string +1 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/golden_message +0 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/golden_message_oneof_implemented +0 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/golden_packed_fields_message +0 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_data.txt +134 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_data_oneof_implemented.txt +129 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_data_pointy.txt +134 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_data_pointy_oneof.txt +129 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_extensions_data.txt +134 -0
- data/ext/protoc/protobuf/src/google/protobuf/testdata/text_format_unittest_extensions_data_pointy.txt +134 -0
- data/ext/protoc/protobuf/src/google/protobuf/testing/file.cc +194 -0
- data/ext/protoc/protobuf/src/google/protobuf/testing/file.h +97 -0
- data/ext/protoc/protobuf/src/google/protobuf/testing/googletest.cc +255 -0
- data/ext/protoc/protobuf/src/google/protobuf/testing/googletest.h +102 -0
- data/ext/protoc/protobuf/src/google/protobuf/testing/zcgunzip.cc +73 -0
- data/ext/protoc/protobuf/src/google/protobuf/testing/zcgzip.cc +79 -0
- data/ext/protoc/protobuf/src/google/protobuf/text_format.cc +1746 -0
- data/ext/protoc/protobuf/src/google/protobuf/text_format.h +473 -0
- data/ext/protoc/protobuf/src/google/protobuf/text_format_unittest.cc +1479 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest.proto +861 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_custom_options.proto +393 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_embed_optimize_for.proto +50 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_empty.proto +37 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_enormous_descriptor.proto +1046 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_import.proto +64 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_import_lite.proto +51 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_import_public.proto +40 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_import_public_lite.proto +42 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_lite.proto +384 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_lite_imports_nonlite.proto +43 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_mset.proto +83 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_no_generic_services.proto +53 -0
- data/ext/protoc/protobuf/src/google/protobuf/unittest_optimize_for.proto +66 -0
- data/ext/protoc/protobuf/src/google/protobuf/unknown_field_set.cc +265 -0
- data/ext/protoc/protobuf/src/google/protobuf/unknown_field_set.h +318 -0
- data/ext/protoc/protobuf/src/google/protobuf/unknown_field_set_unittest.cc +599 -0
- data/ext/protoc/protobuf/src/google/protobuf/wire_format.cc +1101 -0
- data/ext/protoc/protobuf/src/google/protobuf/wire_format.h +336 -0
- data/ext/protoc/protobuf/src/google/protobuf/wire_format_lite.cc +471 -0
- data/ext/protoc/protobuf/src/google/protobuf/wire_format_lite.h +661 -0
- data/ext/protoc/protobuf/src/google/protobuf/wire_format_lite_inl.h +860 -0
- data/ext/protoc/protobuf/src/google/protobuf/wire_format_unittest.cc +1120 -0
- data/ext/protoc/protobuf/src/solaris/libstdc++.la +51 -0
- data/ext/protoc/protobuf/vsprojects/config.h +29 -0
- data/ext/protoc/protobuf/vsprojects/convert2008to2005.sh +20 -0
- data/ext/protoc/protobuf/vsprojects/extract_includes.bat +50 -0
- data/ext/protoc/protobuf/vsprojects/libprotobuf-lite.vcproj +302 -0
- data/ext/protoc/protobuf/vsprojects/libprotobuf.vcproj +470 -0
- data/ext/protoc/protobuf/vsprojects/libprotoc.vcproj +466 -0
- data/ext/protoc/protobuf/vsprojects/lite-test.vcproj +305 -0
- data/ext/protoc/protobuf/vsprojects/protobuf.sln +92 -0
- data/ext/protoc/protobuf/vsprojects/protoc.vcproj +192 -0
- data/ext/protoc/protobuf/vsprojects/readme.txt +114 -0
- data/ext/protoc/protobuf/vsprojects/test_plugin.vcproj +209 -0
- data/ext/protoc/protobuf/vsprojects/tests.vcproj +681 -0
- data/lib/protoc/version.rb +1 -1
- metadata +480 -3
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# We check two things: where the include file is for
|
|
2
|
+
# unordered_map/hash_map (we prefer the first form), and what
|
|
3
|
+
# namespace unordered/hash_map lives in within that include file. We
|
|
4
|
+
# include AC_TRY_COMPILE for all the combinations we've seen in the
|
|
5
|
+
# wild. We define HASH_MAP_H to the location of the header file, and
|
|
6
|
+
# HASH_NAMESPACE to the namespace the class (unordered_map or
|
|
7
|
+
# hash_map) is in. We define HAVE_UNORDERED_MAP if the class we found
|
|
8
|
+
# is named unordered_map, or leave it undefined if not.
|
|
9
|
+
|
|
10
|
+
# This also checks if unordered map exists.
|
|
11
|
+
AC_DEFUN([AC_CXX_STL_HASH],
|
|
12
|
+
[
|
|
13
|
+
AC_MSG_CHECKING(the location of hash_map)
|
|
14
|
+
AC_LANG_SAVE
|
|
15
|
+
AC_LANG_CPLUSPLUS
|
|
16
|
+
ac_cv_cxx_hash_map=""
|
|
17
|
+
# First try unordered_map, but not on gcc's before 4.2 -- I've
|
|
18
|
+
# seen unexplainable unordered_map bugs with -O2 on older gcc's.
|
|
19
|
+
AC_TRY_COMPILE([#if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2))
|
|
20
|
+
# error GCC too old for unordered_map
|
|
21
|
+
#endif
|
|
22
|
+
],
|
|
23
|
+
[/* no program body necessary */],
|
|
24
|
+
[stl_hash_old_gcc=no],
|
|
25
|
+
[stl_hash_old_gcc=yes])
|
|
26
|
+
for location in unordered_map tr1/unordered_map; do
|
|
27
|
+
for namespace in std std::tr1; do
|
|
28
|
+
if test -z "$ac_cv_cxx_hash_map" -a "$stl_hash_old_gcc" != yes; then
|
|
29
|
+
# Some older gcc's have a buggy tr1, so test a bit of code.
|
|
30
|
+
AC_TRY_COMPILE([#include <$location>],
|
|
31
|
+
[const ${namespace}::unordered_map<int, int> t;
|
|
32
|
+
return t.find(5) == t.end();],
|
|
33
|
+
[ac_cv_cxx_hash_map="<$location>";
|
|
34
|
+
ac_cv_cxx_hash_namespace="$namespace";
|
|
35
|
+
ac_cv_cxx_hash_map_class="unordered_map";])
|
|
36
|
+
fi
|
|
37
|
+
done
|
|
38
|
+
done
|
|
39
|
+
# Now try hash_map
|
|
40
|
+
for location in ext/hash_map hash_map; do
|
|
41
|
+
for namespace in __gnu_cxx "" std stdext; do
|
|
42
|
+
if test -z "$ac_cv_cxx_hash_map"; then
|
|
43
|
+
AC_TRY_COMPILE([#include <$location>],
|
|
44
|
+
[${namespace}::hash_map<int, int> t],
|
|
45
|
+
[ac_cv_cxx_hash_map="<$location>";
|
|
46
|
+
ac_cv_cxx_hash_namespace="$namespace";
|
|
47
|
+
ac_cv_cxx_hash_map_class="hash_map";])
|
|
48
|
+
fi
|
|
49
|
+
done
|
|
50
|
+
done
|
|
51
|
+
ac_cv_cxx_hash_set=`echo "$ac_cv_cxx_hash_map" | sed s/map/set/`;
|
|
52
|
+
ac_cv_cxx_hash_set_class=`echo "$ac_cv_cxx_hash_map_class" | sed s/map/set/`;
|
|
53
|
+
if test -n "$ac_cv_cxx_hash_map"; then
|
|
54
|
+
AC_DEFINE(HAVE_HASH_MAP, 1, [define if the compiler has hash_map])
|
|
55
|
+
AC_DEFINE(HAVE_HASH_SET, 1, [define if the compiler has hash_set])
|
|
56
|
+
AC_DEFINE_UNQUOTED(HASH_MAP_H,$ac_cv_cxx_hash_map,
|
|
57
|
+
[the location of <unordered_map> or <hash_map>])
|
|
58
|
+
AC_DEFINE_UNQUOTED(HASH_SET_H,$ac_cv_cxx_hash_set,
|
|
59
|
+
[the location of <unordered_set> or <hash_set>])
|
|
60
|
+
AC_DEFINE_UNQUOTED(HASH_NAMESPACE,$ac_cv_cxx_hash_namespace,
|
|
61
|
+
[the namespace of hash_map/hash_set])
|
|
62
|
+
AC_DEFINE_UNQUOTED(HASH_MAP_CLASS,$ac_cv_cxx_hash_map_class,
|
|
63
|
+
[the name of <hash_map>])
|
|
64
|
+
AC_DEFINE_UNQUOTED(HASH_SET_CLASS,$ac_cv_cxx_hash_set_class,
|
|
65
|
+
[the name of <hash_set>])
|
|
66
|
+
AC_MSG_RESULT([$ac_cv_cxx_hash_map])
|
|
67
|
+
else
|
|
68
|
+
AC_MSG_RESULT()
|
|
69
|
+
AC_MSG_WARN([could not find an STL hash_map])
|
|
70
|
+
fi
|
|
71
|
+
])
|
|
72
|
+
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Additional tests to run before releasing a package.
|
|
2
|
+
#
|
|
3
|
+
# Run like:
|
|
4
|
+
# make PACKAGE=/path/to/protobuf-VERSION.tar.gz
|
|
5
|
+
#
|
|
6
|
+
# Some of these tests require tools or make assumptions that may not be
|
|
7
|
+
# available on end-user machines, so these cannot be part of "make check". For
|
|
8
|
+
# example, we test that the headers compile with strict warning settings, but
|
|
9
|
+
# since different compilers produce wildly different warnings we cannot assume
|
|
10
|
+
# that this test will pass everywhere. If we ran it as part of "make check",
|
|
11
|
+
# it could unnecessarily block users from running the real tests just because
|
|
12
|
+
# their compiler produces some extra warnings that probably aren't a big deal.
|
|
13
|
+
# So we run it separately.
|
|
14
|
+
|
|
15
|
+
all: header_warning_test
|
|
16
|
+
|
|
17
|
+
clean:
|
|
18
|
+
rm -rf src target header_warning_test.cc header_warning_test.o header_warning_test
|
|
19
|
+
|
|
20
|
+
# Unpack the package into src, then install it into target.
|
|
21
|
+
PACKAGE=protobuf.tar.gz
|
|
22
|
+
|
|
23
|
+
src: $(PACKAGE)
|
|
24
|
+
tar zxvf $(PACKAGE)
|
|
25
|
+
mv `basename $(PACKAGE) .tar.gz` src
|
|
26
|
+
|
|
27
|
+
target: src
|
|
28
|
+
(cd src && ./configure --prefix=$$PWD/../target --disable-shared)
|
|
29
|
+
(cd src && make -j4 check)
|
|
30
|
+
(cd src && make install)
|
|
31
|
+
|
|
32
|
+
# Verify that headers produce no warnings even under strict settings.
|
|
33
|
+
header_warning_test.cc: target
|
|
34
|
+
( (cd target/include && find google/protobuf -name '*.h') | \
|
|
35
|
+
awk '{print "#include \""$$1"\""} ' > header_warning_test.cc )
|
|
36
|
+
|
|
37
|
+
header_warning_test: header_warning_test.cc
|
|
38
|
+
# TODO(kenton): Consider adding -pedantic and -Weffc++. Currently these
|
|
39
|
+
# produce tons of extra warnings so we'll need to do some work first.
|
|
40
|
+
g++ -Itarget/include -Wall -Werror -Wsign-compare -O2 -c header_warning_test.cc
|
|
41
|
+
touch header_warning_test
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
#! /bin/sh
|
|
2
|
+
|
|
3
|
+
# This script takes the result of "make dist" and:
|
|
4
|
+
# 1) Unpacks it.
|
|
5
|
+
# 2) Ensures all contents are user-writable. Some version control systems
|
|
6
|
+
# keep code read-only until you explicitly ask to edit it, and the normal
|
|
7
|
+
# "make dist" process does not correct for this, so the result is that
|
|
8
|
+
# the entire dist is still marked read-only when unpacked, which is
|
|
9
|
+
# annoying. So, we fix it.
|
|
10
|
+
# 3) Convert MSVC project files to MSVC 2005, so that anyone who has version
|
|
11
|
+
# 2005 *or* 2008 can open them. (In version control, we keep things in
|
|
12
|
+
# MSVC 2008 format since that's what we use in development.)
|
|
13
|
+
# 4) Uses the result to create .tar.gz, .tar.bz2, and .zip versions and
|
|
14
|
+
# deposites them in the "dist" directory. In the .zip version, all
|
|
15
|
+
# non-testdata .txt files are converted to Windows-style line endings.
|
|
16
|
+
# 5) Cleans up after itself.
|
|
17
|
+
|
|
18
|
+
if [ "$1" == "" ]; then
|
|
19
|
+
echo "USAGE: $1 DISTFILE" >&2
|
|
20
|
+
exit 1
|
|
21
|
+
fi
|
|
22
|
+
|
|
23
|
+
if [ ! -e $1 ]; then
|
|
24
|
+
echo $1": File not found." >&2
|
|
25
|
+
exit 1
|
|
26
|
+
fi
|
|
27
|
+
|
|
28
|
+
set -ex
|
|
29
|
+
|
|
30
|
+
BASENAME=`basename $1 .tar.gz`
|
|
31
|
+
|
|
32
|
+
# Create a directory called "dist", copy the tarball there and unpack it.
|
|
33
|
+
mkdir dist
|
|
34
|
+
cp $1 dist
|
|
35
|
+
cd dist
|
|
36
|
+
tar zxvf $BASENAME.tar.gz
|
|
37
|
+
rm $BASENAME.tar.gz
|
|
38
|
+
|
|
39
|
+
# Set the entire contents to be user-writable.
|
|
40
|
+
chmod -R u+w $BASENAME
|
|
41
|
+
|
|
42
|
+
# Convert the MSVC projects to MSVC 2005 format.
|
|
43
|
+
cd $BASENAME/vsprojects
|
|
44
|
+
./convert2008to2005.sh
|
|
45
|
+
cd ..
|
|
46
|
+
|
|
47
|
+
# Build the dist again in .tar.gz and .tar.bz2 formats.
|
|
48
|
+
./configure
|
|
49
|
+
make dist-gzip
|
|
50
|
+
make dist-bzip2
|
|
51
|
+
|
|
52
|
+
# Convert all text files to use DOS-style line endings, then build a .zip
|
|
53
|
+
# distribution.
|
|
54
|
+
todos *.txt */*.txt
|
|
55
|
+
make dist-zip
|
|
56
|
+
|
|
57
|
+
# Clean up.
|
|
58
|
+
mv $BASENAME.tar.gz $BASENAME.tar.bz2 $BASENAME.zip ..
|
|
59
|
+
cd ..
|
|
60
|
+
rm -rf $BASENAME
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
prefix=@prefix@
|
|
2
|
+
exec_prefix=@exec_prefix@
|
|
3
|
+
libdir=@libdir@
|
|
4
|
+
includedir=@includedir@
|
|
5
|
+
|
|
6
|
+
Name: Protocol Buffers
|
|
7
|
+
Description: Google's Data Interchange Format
|
|
8
|
+
Version: @VERSION@
|
|
9
|
+
Libs: -L${libdir} -lprotobuf-lite @PTHREAD_CFLAGS@ @PTHREAD_LIBS@
|
|
10
|
+
Cflags: -I${includedir} @PTHREAD_CFLAGS@
|
|
11
|
+
# Commented out because it crashes pkg-config *sigh*:
|
|
12
|
+
# http://bugs.freedesktop.org/show_bug.cgi?id=13265
|
|
13
|
+
# Conflicts: protobuf
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
prefix=@prefix@
|
|
2
|
+
exec_prefix=@exec_prefix@
|
|
3
|
+
libdir=@libdir@
|
|
4
|
+
includedir=@includedir@
|
|
5
|
+
|
|
6
|
+
Name: Protocol Buffers
|
|
7
|
+
Description: Google's Data Interchange Format
|
|
8
|
+
Version: @VERSION@
|
|
9
|
+
Libs: -L${libdir} -lprotobuf @PTHREAD_CFLAGS@ @PTHREAD_LIBS@
|
|
10
|
+
Libs.private: @LIBS@
|
|
11
|
+
Cflags: -I${includedir} @PTHREAD_CFLAGS@
|
|
12
|
+
# Commented out because it crashes pkg-config *sigh*:
|
|
13
|
+
# http://bugs.freedesktop.org/show_bug.cgi?id=13265
|
|
14
|
+
# Conflicts: protobuf-lite
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
Protocol Buffers - Google's data interchange format
|
|
2
|
+
Copyright 2008 Google Inc.
|
|
3
|
+
|
|
4
|
+
This directory contains the Python Protocol Buffers runtime library.
|
|
5
|
+
|
|
6
|
+
Normally, this directory comes as part of the protobuf package, available
|
|
7
|
+
from:
|
|
8
|
+
|
|
9
|
+
https://developers.google.com/protocol-buffers/
|
|
10
|
+
|
|
11
|
+
The complete package includes the C++ source code, which includes the
|
|
12
|
+
Protocol Compiler (protoc). If you downloaded this package from PyPI
|
|
13
|
+
or some other Python-specific source, you may have received only the
|
|
14
|
+
Python part of the code. In this case, you will need to obtain the
|
|
15
|
+
Protocol Compiler from some other source before you can use this
|
|
16
|
+
package.
|
|
17
|
+
|
|
18
|
+
Development Warning
|
|
19
|
+
===================
|
|
20
|
+
|
|
21
|
+
The Python implementation of Protocol Buffers is not as mature as the C++
|
|
22
|
+
and Java implementations. It may be more buggy, and it is known to be
|
|
23
|
+
pretty slow at this time. If you would like to help fix these issues,
|
|
24
|
+
join the Protocol Buffers discussion list and let us know!
|
|
25
|
+
|
|
26
|
+
Installation
|
|
27
|
+
============
|
|
28
|
+
|
|
29
|
+
1) Make sure you have Python 2.4 or newer. If in doubt, run:
|
|
30
|
+
|
|
31
|
+
$ python -V
|
|
32
|
+
|
|
33
|
+
2) If you do not have setuptools installed, note that it will be
|
|
34
|
+
downloaded and installed automatically as soon as you run setup.py.
|
|
35
|
+
If you would rather install it manually, you may do so by following
|
|
36
|
+
the instructions on this page:
|
|
37
|
+
|
|
38
|
+
http://peak.telecommunity.com/DevCenter/EasyInstall#installation-instructions
|
|
39
|
+
|
|
40
|
+
3) Build the C++ code, or install a binary distribution of protoc. If
|
|
41
|
+
you install a binary distribution, make sure that it is the same
|
|
42
|
+
version as this package. If in doubt, run:
|
|
43
|
+
|
|
44
|
+
$ protoc --version
|
|
45
|
+
|
|
46
|
+
4) Build and run the tests:
|
|
47
|
+
|
|
48
|
+
$ python setup.py build
|
|
49
|
+
$ python setup.py google_test
|
|
50
|
+
|
|
51
|
+
If you want to test c++ implementation, run:
|
|
52
|
+
$ python setup.py test --cpp_implementation
|
|
53
|
+
|
|
54
|
+
If some tests fail, this library may not work correctly on your
|
|
55
|
+
system. Continue at your own risk.
|
|
56
|
+
|
|
57
|
+
Please note that there is a known problem with some versions of
|
|
58
|
+
Python on Cygwin which causes the tests to fail after printing the
|
|
59
|
+
error: "sem_init: Resource temporarily unavailable". This appears
|
|
60
|
+
to be a bug either in Cygwin or in Python:
|
|
61
|
+
http://www.cygwin.com/ml/cygwin/2005-07/msg01378.html
|
|
62
|
+
We do not know if or when it might me fixed. We also do not know
|
|
63
|
+
how likely it is that this bug will affect users in practice.
|
|
64
|
+
|
|
65
|
+
5) Install:
|
|
66
|
+
|
|
67
|
+
$ python setup.py install
|
|
68
|
+
or:
|
|
69
|
+
$ python setup.py install --cpp_implementation
|
|
70
|
+
|
|
71
|
+
This step may require superuser privileges.
|
|
72
|
+
NOTE: To use C++ implementation, you need to install C++ protobuf runtime
|
|
73
|
+
library of the same version and export the environment variable before this
|
|
74
|
+
step. See the "C++ Implementation" section below for more details.
|
|
75
|
+
|
|
76
|
+
Usage
|
|
77
|
+
=====
|
|
78
|
+
|
|
79
|
+
The complete documentation for Protocol Buffers is available via the
|
|
80
|
+
web at:
|
|
81
|
+
|
|
82
|
+
https://developers.google.com/protocol-buffers/
|
|
83
|
+
|
|
84
|
+
C++ Implementation
|
|
85
|
+
==================
|
|
86
|
+
|
|
87
|
+
The C++ implementation for Python messages is built as a Python extension to
|
|
88
|
+
improve the overall protobuf Python performance.
|
|
89
|
+
|
|
90
|
+
To use the C++ implementation, you need to:
|
|
91
|
+
1) Install the C++ protobuf runtime library, please see instructions in the
|
|
92
|
+
parent directory.
|
|
93
|
+
2) Export an environment variable:
|
|
94
|
+
|
|
95
|
+
$ export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=cpp
|
|
96
|
+
$ export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION_VERSION=2
|
|
97
|
+
|
|
98
|
+
You need to export this variable before running setup.py script to build and
|
|
99
|
+
install the extension. You must also set the variable at runtime, otherwise
|
|
100
|
+
the pure-Python implementation will be used. In a future release, we will
|
|
101
|
+
change the default so that C++ implementation is used whenever it is available.
|
|
102
|
+
It is strongly recommended to run `python setup.py test` after setting the
|
|
103
|
+
variable to "cpp", so the tests will be against C++ implemented Python
|
|
104
|
+
messages.
|
|
105
|
+
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
#!python
|
|
2
|
+
|
|
3
|
+
# This file was obtained from:
|
|
4
|
+
# http://peak.telecommunity.com/dist/ez_setup.py
|
|
5
|
+
# on 2011/1/21.
|
|
6
|
+
|
|
7
|
+
"""Bootstrap setuptools installation
|
|
8
|
+
|
|
9
|
+
If you want to use setuptools in your package's setup.py, just include this
|
|
10
|
+
file in the same directory with it, and add this to the top of your setup.py::
|
|
11
|
+
|
|
12
|
+
from ez_setup import use_setuptools
|
|
13
|
+
use_setuptools()
|
|
14
|
+
|
|
15
|
+
If you want to require a specific version of setuptools, set a download
|
|
16
|
+
mirror, or use an alternate download directory, you can do so by supplying
|
|
17
|
+
the appropriate options to ``use_setuptools()``.
|
|
18
|
+
|
|
19
|
+
This file can also be run as a script to install or upgrade setuptools.
|
|
20
|
+
"""
|
|
21
|
+
import sys
|
|
22
|
+
DEFAULT_VERSION = "0.6c11"
|
|
23
|
+
DEFAULT_URL = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3]
|
|
24
|
+
|
|
25
|
+
md5_data = {
|
|
26
|
+
'setuptools-0.6b1-py2.3.egg': '8822caf901250d848b996b7f25c6e6ca',
|
|
27
|
+
'setuptools-0.6b1-py2.4.egg': 'b79a8a403e4502fbb85ee3f1941735cb',
|
|
28
|
+
'setuptools-0.6b2-py2.3.egg': '5657759d8a6d8fc44070a9d07272d99b',
|
|
29
|
+
'setuptools-0.6b2-py2.4.egg': '4996a8d169d2be661fa32a6e52e4f82a',
|
|
30
|
+
'setuptools-0.6b3-py2.3.egg': 'bb31c0fc7399a63579975cad9f5a0618',
|
|
31
|
+
'setuptools-0.6b3-py2.4.egg': '38a8c6b3d6ecd22247f179f7da669fac',
|
|
32
|
+
'setuptools-0.6b4-py2.3.egg': '62045a24ed4e1ebc77fe039aa4e6f7e5',
|
|
33
|
+
'setuptools-0.6b4-py2.4.egg': '4cb2a185d228dacffb2d17f103b3b1c4',
|
|
34
|
+
'setuptools-0.6c1-py2.3.egg': 'b3f2b5539d65cb7f74ad79127f1a908c',
|
|
35
|
+
'setuptools-0.6c1-py2.4.egg': 'b45adeda0667d2d2ffe14009364f2a4b',
|
|
36
|
+
'setuptools-0.6c10-py2.3.egg': 'ce1e2ab5d3a0256456d9fc13800a7090',
|
|
37
|
+
'setuptools-0.6c10-py2.4.egg': '57d6d9d6e9b80772c59a53a8433a5dd4',
|
|
38
|
+
'setuptools-0.6c10-py2.5.egg': 'de46ac8b1c97c895572e5e8596aeb8c7',
|
|
39
|
+
'setuptools-0.6c10-py2.6.egg': '58ea40aef06da02ce641495523a0b7f5',
|
|
40
|
+
'setuptools-0.6c11-py2.3.egg': '2baeac6e13d414a9d28e7ba5b5a596de',
|
|
41
|
+
'setuptools-0.6c11-py2.4.egg': 'bd639f9b0eac4c42497034dec2ec0c2b',
|
|
42
|
+
'setuptools-0.6c11-py2.5.egg': '64c94f3bf7a72a13ec83e0b24f2749b2',
|
|
43
|
+
'setuptools-0.6c11-py2.6.egg': 'bfa92100bd772d5a213eedd356d64086',
|
|
44
|
+
'setuptools-0.6c2-py2.3.egg': 'f0064bf6aa2b7d0f3ba0b43f20817c27',
|
|
45
|
+
'setuptools-0.6c2-py2.4.egg': '616192eec35f47e8ea16cd6a122b7277',
|
|
46
|
+
'setuptools-0.6c3-py2.3.egg': 'f181fa125dfe85a259c9cd6f1d7b78fa',
|
|
47
|
+
'setuptools-0.6c3-py2.4.egg': 'e0ed74682c998bfb73bf803a50e7b71e',
|
|
48
|
+
'setuptools-0.6c3-py2.5.egg': 'abef16fdd61955514841c7c6bd98965e',
|
|
49
|
+
'setuptools-0.6c4-py2.3.egg': 'b0b9131acab32022bfac7f44c5d7971f',
|
|
50
|
+
'setuptools-0.6c4-py2.4.egg': '2a1f9656d4fbf3c97bf946c0a124e6e2',
|
|
51
|
+
'setuptools-0.6c4-py2.5.egg': '8f5a052e32cdb9c72bcf4b5526f28afc',
|
|
52
|
+
'setuptools-0.6c5-py2.3.egg': 'ee9fd80965da04f2f3e6b3576e9d8167',
|
|
53
|
+
'setuptools-0.6c5-py2.4.egg': 'afe2adf1c01701ee841761f5bcd8aa64',
|
|
54
|
+
'setuptools-0.6c5-py2.5.egg': 'a8d3f61494ccaa8714dfed37bccd3d5d',
|
|
55
|
+
'setuptools-0.6c6-py2.3.egg': '35686b78116a668847237b69d549ec20',
|
|
56
|
+
'setuptools-0.6c6-py2.4.egg': '3c56af57be3225019260a644430065ab',
|
|
57
|
+
'setuptools-0.6c6-py2.5.egg': 'b2f8a7520709a5b34f80946de5f02f53',
|
|
58
|
+
'setuptools-0.6c7-py2.3.egg': '209fdf9adc3a615e5115b725658e13e2',
|
|
59
|
+
'setuptools-0.6c7-py2.4.egg': '5a8f954807d46a0fb67cf1f26c55a82e',
|
|
60
|
+
'setuptools-0.6c7-py2.5.egg': '45d2ad28f9750e7434111fde831e8372',
|
|
61
|
+
'setuptools-0.6c8-py2.3.egg': '50759d29b349db8cfd807ba8303f1902',
|
|
62
|
+
'setuptools-0.6c8-py2.4.egg': 'cba38d74f7d483c06e9daa6070cce6de',
|
|
63
|
+
'setuptools-0.6c8-py2.5.egg': '1721747ee329dc150590a58b3e1ac95b',
|
|
64
|
+
'setuptools-0.6c9-py2.3.egg': 'a83c4020414807b496e4cfbe08507c03',
|
|
65
|
+
'setuptools-0.6c9-py2.4.egg': '260a2be2e5388d66bdaee06abec6342a',
|
|
66
|
+
'setuptools-0.6c9-py2.5.egg': 'fe67c3e5a17b12c0e7c541b7ea43a8e6',
|
|
67
|
+
'setuptools-0.6c9-py2.6.egg': 'ca37b1ff16fa2ede6e19383e7b59245a',
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
import sys, os
|
|
71
|
+
try: from hashlib import md5
|
|
72
|
+
except ImportError: from md5 import md5
|
|
73
|
+
|
|
74
|
+
def _validate_md5(egg_name, data):
|
|
75
|
+
if egg_name in md5_data:
|
|
76
|
+
digest = md5(data).hexdigest()
|
|
77
|
+
if digest != md5_data[egg_name]:
|
|
78
|
+
print >>sys.stderr, (
|
|
79
|
+
"md5 validation of %s failed! (Possible download problem?)"
|
|
80
|
+
% egg_name
|
|
81
|
+
)
|
|
82
|
+
sys.exit(2)
|
|
83
|
+
return data
|
|
84
|
+
|
|
85
|
+
def use_setuptools(
|
|
86
|
+
version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir,
|
|
87
|
+
download_delay=15
|
|
88
|
+
):
|
|
89
|
+
"""Automatically find/download setuptools and make it available on sys.path
|
|
90
|
+
|
|
91
|
+
`version` should be a valid setuptools version number that is available
|
|
92
|
+
as an egg for download under the `download_base` URL (which should end with
|
|
93
|
+
a '/'). `to_dir` is the directory where setuptools will be downloaded, if
|
|
94
|
+
it is not already available. If `download_delay` is specified, it should
|
|
95
|
+
be the number of seconds that will be paused before initiating a download,
|
|
96
|
+
should one be required. If an older version of setuptools is installed,
|
|
97
|
+
this routine will print a message to ``sys.stderr`` and raise SystemExit in
|
|
98
|
+
an attempt to abort the calling script.
|
|
99
|
+
"""
|
|
100
|
+
was_imported = 'pkg_resources' in sys.modules or 'setuptools' in sys.modules
|
|
101
|
+
def do_download():
|
|
102
|
+
egg = download_setuptools(version, download_base, to_dir, download_delay)
|
|
103
|
+
sys.path.insert(0, egg)
|
|
104
|
+
import setuptools; setuptools.bootstrap_install_from = egg
|
|
105
|
+
try:
|
|
106
|
+
import pkg_resources
|
|
107
|
+
except ImportError:
|
|
108
|
+
return do_download()
|
|
109
|
+
try:
|
|
110
|
+
return do_download()
|
|
111
|
+
pkg_resources.require("setuptools>="+version); return
|
|
112
|
+
except pkg_resources.VersionConflict, e:
|
|
113
|
+
if was_imported:
|
|
114
|
+
print >>sys.stderr, (
|
|
115
|
+
"The required version of setuptools (>=%s) is not available, and\n"
|
|
116
|
+
"can't be installed while this script is running. Please install\n"
|
|
117
|
+
" a more recent version first, using 'easy_install -U setuptools'."
|
|
118
|
+
"\n\n(Currently using %r)"
|
|
119
|
+
) % (version, e.args[0])
|
|
120
|
+
sys.exit(2)
|
|
121
|
+
except pkg_resources.DistributionNotFound:
|
|
122
|
+
pass
|
|
123
|
+
|
|
124
|
+
del pkg_resources, sys.modules['pkg_resources'] # reload ok
|
|
125
|
+
return do_download()
|
|
126
|
+
|
|
127
|
+
def download_setuptools(
|
|
128
|
+
version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir,
|
|
129
|
+
delay = 15
|
|
130
|
+
):
|
|
131
|
+
"""Download setuptools from a specified location and return its filename
|
|
132
|
+
|
|
133
|
+
`version` should be a valid setuptools version number that is available
|
|
134
|
+
as an egg for download under the `download_base` URL (which should end
|
|
135
|
+
with a '/'). `to_dir` is the directory where the egg will be downloaded.
|
|
136
|
+
`delay` is the number of seconds to pause before an actual download attempt.
|
|
137
|
+
"""
|
|
138
|
+
import urllib2, shutil
|
|
139
|
+
egg_name = "setuptools-%s-py%s.egg" % (version,sys.version[:3])
|
|
140
|
+
url = download_base + egg_name
|
|
141
|
+
saveto = os.path.join(to_dir, egg_name)
|
|
142
|
+
src = dst = None
|
|
143
|
+
if not os.path.exists(saveto): # Avoid repeated downloads
|
|
144
|
+
try:
|
|
145
|
+
from distutils import log
|
|
146
|
+
if delay:
|
|
147
|
+
log.warn("""
|
|
148
|
+
---------------------------------------------------------------------------
|
|
149
|
+
This script requires setuptools version %s to run (even to display
|
|
150
|
+
help). I will attempt to download it for you (from
|
|
151
|
+
%s), but
|
|
152
|
+
you may need to enable firewall access for this script first.
|
|
153
|
+
I will start the download in %d seconds.
|
|
154
|
+
|
|
155
|
+
(Note: if this machine does not have network access, please obtain the file
|
|
156
|
+
|
|
157
|
+
%s
|
|
158
|
+
|
|
159
|
+
and place it in this directory before rerunning this script.)
|
|
160
|
+
---------------------------------------------------------------------------""",
|
|
161
|
+
version, download_base, delay, url
|
|
162
|
+
); from time import sleep; sleep(delay)
|
|
163
|
+
log.warn("Downloading %s", url)
|
|
164
|
+
src = urllib2.urlopen(url)
|
|
165
|
+
# Read/write all in one block, so we don't create a corrupt file
|
|
166
|
+
# if the download is interrupted.
|
|
167
|
+
data = _validate_md5(egg_name, src.read())
|
|
168
|
+
dst = open(saveto,"wb"); dst.write(data)
|
|
169
|
+
finally:
|
|
170
|
+
if src: src.close()
|
|
171
|
+
if dst: dst.close()
|
|
172
|
+
return os.path.realpath(saveto)
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
def main(argv, version=DEFAULT_VERSION):
|
|
210
|
+
"""Install or upgrade setuptools and EasyInstall"""
|
|
211
|
+
try:
|
|
212
|
+
import setuptools
|
|
213
|
+
except ImportError:
|
|
214
|
+
egg = None
|
|
215
|
+
try:
|
|
216
|
+
egg = download_setuptools(version, delay=0)
|
|
217
|
+
sys.path.insert(0,egg)
|
|
218
|
+
from setuptools.command.easy_install import main
|
|
219
|
+
return main(list(argv)+[egg]) # we're done here
|
|
220
|
+
finally:
|
|
221
|
+
if egg and os.path.exists(egg):
|
|
222
|
+
os.unlink(egg)
|
|
223
|
+
else:
|
|
224
|
+
if setuptools.__version__ == '0.0.1':
|
|
225
|
+
print >>sys.stderr, (
|
|
226
|
+
"You have an obsolete version of setuptools installed. Please\n"
|
|
227
|
+
"remove it from your system entirely before rerunning this script."
|
|
228
|
+
)
|
|
229
|
+
sys.exit(2)
|
|
230
|
+
|
|
231
|
+
req = "setuptools>="+version
|
|
232
|
+
import pkg_resources
|
|
233
|
+
try:
|
|
234
|
+
pkg_resources.require(req)
|
|
235
|
+
except pkg_resources.VersionConflict:
|
|
236
|
+
try:
|
|
237
|
+
from setuptools.command.easy_install import main
|
|
238
|
+
except ImportError:
|
|
239
|
+
from easy_install import main
|
|
240
|
+
main(list(argv)+[download_setuptools(delay=0)])
|
|
241
|
+
sys.exit(0) # try to force an exit
|
|
242
|
+
else:
|
|
243
|
+
if argv:
|
|
244
|
+
from setuptools.command.easy_install import main
|
|
245
|
+
main(argv)
|
|
246
|
+
else:
|
|
247
|
+
print "Setuptools version",version,"or greater has been installed."
|
|
248
|
+
print '(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)'
|
|
249
|
+
|
|
250
|
+
def update_md5(filenames):
|
|
251
|
+
"""Update our built-in md5 registry"""
|
|
252
|
+
|
|
253
|
+
import re
|
|
254
|
+
|
|
255
|
+
for name in filenames:
|
|
256
|
+
base = os.path.basename(name)
|
|
257
|
+
f = open(name,'rb')
|
|
258
|
+
md5_data[base] = md5(f.read()).hexdigest()
|
|
259
|
+
f.close()
|
|
260
|
+
|
|
261
|
+
data = [" %r: %r,\n" % it for it in md5_data.items()]
|
|
262
|
+
data.sort()
|
|
263
|
+
repl = "".join(data)
|
|
264
|
+
|
|
265
|
+
import inspect
|
|
266
|
+
srcfile = inspect.getsourcefile(sys.modules[__name__])
|
|
267
|
+
f = open(srcfile, 'rb'); src = f.read(); f.close()
|
|
268
|
+
|
|
269
|
+
match = re.search("\nmd5_data = {\n([^}]+)}", src)
|
|
270
|
+
if not match:
|
|
271
|
+
print >>sys.stderr, "Internal error!"
|
|
272
|
+
sys.exit(2)
|
|
273
|
+
|
|
274
|
+
src = src[:match.start(1)] + repl + src[match.end(1):]
|
|
275
|
+
f = open(srcfile,'w')
|
|
276
|
+
f.write(src)
|
|
277
|
+
f.close()
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
if __name__=='__main__':
|
|
281
|
+
if len(sys.argv)>2 and sys.argv[1]=='--md5update':
|
|
282
|
+
update_md5(sys.argv[2:])
|
|
283
|
+
else:
|
|
284
|
+
main(sys.argv[1:])
|