OLD | NEW |
1 Name: Protocol Buffers | 1 Name: Protocol Buffers |
2 Short Name: protobuf | 2 Short Name: protobuf |
3 URL: http://protobuf.googlecode.com/svn/trunk | 3 URL: https://github.com/google/protobuf |
4 License: BSD | 4 License: BSD |
5 License File: COPYING.txt | 5 License File: LICENSE |
6 Version: unknown | 6 Version: unknown |
7 Revision: r476 | 7 Revision: 6994b07f1480f658e2ea6262f8ca804e836ef1d2 |
8 Security Critical: yes | 8 Security Critical: yes |
9 | 9 |
10 Local files (not taken from upstream): | 10 Steps used to create the current version: |
11 README.chromium | 11 (1) Download and unpack protobuf sources from |
12 config.h | 12 https://github.com/google/protobuf/archive/master.zip . |
13 descriptor2_pb.py | 13 (2) Apply the patches in patches/ in order. In all these cases, after |
| 14 determining how to adapt the patch to the current protobuf codebase, you |
| 15 should regenerate the patch for the next maintainer. |
14 | 16 |
15 A protobuf.gyp file has been added for building with Chromium. | 17 A brief description of each patch: |
16 | 18 00: Add initial GYP/GN buildfiles, DEPS, OWNERS, and README.chromium. You |
17 This code has been patched to support unknown field retention in protobuf-lite. | 19 will need to modify the README to include the correct revision, and modify |
18 See r62331 for the patch. | 20 the buildfiles to reflect the actual files in the source tree, what they |
19 | 21 #include, what warnings they trigger, etc. |
20 This code has been patched to ensure that files in the target protobuf_lite | 22 01: Miscellaneous build fixes to make the upstream sources compile. At this |
21 do not include headers from protobuf_full. See r173228 for the patch. | 23 point you should be able to build the protobuf_* and protoc targets (but |
22 | 24 not necessarily anything depending on them). |
23 This code has been patched to make the target protobuf_lite a component so that | 25 02: Add unknown field retention to protobuf_lite. This is a large and complex |
24 targets that depend on it can be componentized. See http://crbug.com/172800 for | 26 patch which will likely require reworking to apply correctly. Changes to |
25 details, and r179806 for the patch. | 27 .pb.* files can likely be autogenerated once you apply the rest of the |
26 | 28 patch and rebuild protoc; look at step (3) below and the |
27 Revision 504 was cherry-picked from upstream. | 29 generate_descriptor_proto.sh script in the protobuf root directory for a |
28 Revision 512 was cherry-picked from upstream. | 30 guide. Based on http://crrev.com/62331 and http://crrev.com/173228 . |
29 Revision 516 was cherry-picked from upstream. | 31 03: Convert protobuf_lite to a component. Based on http://crrev.com/179806 . |
30 Revision 517 was cherry-picked from upstream. | 32 04: Uninline various functions. Based on http://crrev.com/307332 . |
31 Revision 522 was cherry-picked from upstream. | 33 (3) Generate descriptor_pb2.py using something like the following steps. Make |
32 Revision 523 was cherry-picked from upstream. | 34 sure you've regenerated your buildfiles and will build protoc from the |
33 Revision 524 was cherry-picked from upstream. | 35 newly-modified sources above. |
34 Revision 573 was cherry-picked from upstream. | 36 $ cd $SRC_DIR |
35 The `&file->options() != NULL &&` was removed from descriptor.cc | 37 $ ninja -C out/Debug protoc |
36 References to `vector` were changed to `std::vector` in extension_set.h | 38 $ cd third_party/protobuf/src |
37 and unknown_field_set.h | 39 $ ../../../out/Debug/protoc --python_out=../python google/protobuf/descriptor.
proto |
38 | 40 $ cd .. |
39 GetEmptyString() and GoogleOnceInit() have been uninlined, for a large savings | 41 $ git add -f python/google/protobuf/descriptor_pb2.py |
40 in binary size. | 42 $ git commit |
41 | 43 (4) At this point you should be done, and able to successfully build everything. |
42 A BUILD.gn file has been added for building with GN. | |
43 | |
44 Cherry-pick pherl changes to make protobuf build on VS2015. | |
45 | |
46 Cherry-pick c3cb53b (fix "sometimes-uninitialized" warning). | |
47 | |
48 Cherry-pick https://github.com/google/protobuf/commit/56a90a2081379a5 | |
49 | |
50 Cherry-pick https://github.com/google/protobuf/commit/69d660b39ceabea | |
OLD | NEW |