Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(16)

Side by Side Diff: third_party/protobuf/README.chromium

Issue 2600753002: Reverts third_party/protobuf: Update to HEAD (f52e188fe4) (Closed)
Patch Set: Created 3 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/protobuf/Protobuf.podspec ('k') | third_party/protobuf/README.md » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 Name: Protocol Buffers 1 Name: Protocol Buffers
2 Short Name: protobuf 2 Short Name: protobuf
3 URL: https://github.com/google/protobuf 3 URL: https://github.com/google/protobuf
4 License: BSD 4 License: BSD
5 License File: LICENSE 5 License File: LICENSE
6 Version: 3.1.0 6 Version: 3.0.0-beta-3
7 Revision: f52e188fe465c10377f5a2b5765f481cb6fcb2f4 7 Revision: 3470b6895aa659b7559ed678e029a5338e535f14
8 Security Critical: yes 8 Security Critical: yes
9 9
10 Steps used to create the current version: 10 Steps used to create the current version:
11 1. Pull the release from https://github.com/google/protobuf/releases 11 1. Pull the release from https://github.com/google/protobuf/releases
12 2. Add build files (BUILD.gn, proto_library.gni). 12 2. Add build files (BUILD.gn, proto_library.gni, protobuf.gyp,
13 protobuf_lite.gypi, protobuf_nacl.gyp).
13 14
14 Be sure to update the list of source files, as additional .cc files and 15 Be sure to update the list of source files, as additional .cc files and
15 headers might have been added -- you need to find the transitive closure of 16 headers might have been added -- you need to find the transitive closure of
16 include files required by targets. 17 include files required by targets.
17 18
18 Other things to care about are defines required by protobuf on various 19 Other things to care about are defines required by protobuf on various
19 platforms, warnings generated by compilers, and new dependencies introduced. 20 platforms, warnings generated by compilers, and new dependencies introduced.
20 3. Get open-source library six.py from https://pypi.python.org/pypi/six/ and add 21 3. Get open-source library six.py from https://pypi.python.org/pypi/six/ and add
21 it to protobuf/third_party/six/six.py. 22 it to protobuf/third_party/six/six.py.
22 4. Apply patches in patches/ (see the description below): 23 4. Apply patches in patches/ (see the description below):
23 24
24 $ for patch in patches/*; do patch -s -p1 < $patch; done 25 $ for patch in patches/*; do patch -s -p1 < $patch; done
25 26
26 For future releases, it will be worth looking into which patches still need 27 For future releases, it will be worth looking into which patches still need
27 to be applied. In case of conflict, update those patches accordingly and save 28 to be applied.
28 them back in place (i.e. in patches directory). 29 5. Generate descriptor_pb2.py using something like the following steps. Make
29 5. Generate well_known_types_embed.cc and descriptor_pb2.py using something like 30 sure you've regenerated your buildfiles and will build protoc from the
30 the following steps. Make sure you've regenerated your buildfiles and will 31 newly-modified sources above.
31 build js_embed then protoc from the newly-modified sources above.
32 32
33 $ cd $SRC_DIR 33 $ cd $SRC_DIR
34 $ gn gen out/Debug
35 $ ninja -C out/Debug js_embed
36 $ cd third_party/protobuf/src/google/protobuf/compiler/js
37 $ $SRC_DIR/out/Debug/js_embed \
38 ./well_known_types/any.js ./well_known_types/struct.js \
39 ./well_known_types/timestamp.js > well_known_types_embed.cc
40 $ cd $SRC_DIR
41 $ ninja -C out/Debug protoc 34 $ ninja -C out/Debug protoc
42 $ cd third_party/protobuf/src 35 $ cd third_party/protobuf/src
43 $ $SRC_DIR/out/Debug/protoc --python_out=../python google/protobuf/descriptor .proto 36 $ ../../../out/Debug/protoc --python_out=../python google/protobuf/descriptor .proto
44 37
45 6. Add an __init__.py to protobuf/ that adds third_party/six/ to Python path. 38 6. Add an __init__.py to protobuf/ that adds third_party/six/ to Python path.
46 7. Update README.chromium. 39 7. Update README.chromium.
47 40
48 Description of the patches: 41 Description of the patches:
49 42
50 - 0003-remove-static-initializers.patch 43 - 0003-remove-static-initializers.patch
51 44
52 This patch removes all static initializers from Chromium. The change in Status 45 This patch removes all static initializers from Chromium. The change in Status
53 class is not completely compatible with upstream, but it's compatible enough 46 class is not completely compatible with upstream, but it's compatible enough
54 to work in Chromium, which doesn't use this functionality yet. The work on 47 to work in Chromium, which doesn't use this functionality yet. The work on
55 upstreaming the removal of static initializers is in progress: 48 upstreaming the removal of static initializers is in progress:
56 https://github.com/google/protobuf/issues/1404 49 https://github.com/google/protobuf/issues/1404
57 50
58 - 0004-fix-integer-types-and-shared-library-exports.patch 51 - 0004-fix-integer-types-and-shared-library-exports.patch
59 52
60 This patch makes protobuf int64 to be int64_t (as opposed to long long in 53 This patch makes protobuf int64 to be int64_t (as opposed to long long in
61 upstream), and similarly for other integer types. It also allows exporting 54 upstream), and similarly for other integer types. It also allows exporting
62 protobuf symbols in Linux .so libraries, so that protobuf can be built as a 55 protobuf symbols in Linux .so libraries, so that protobuf can be built as a
63 component (see http://crrev.com/179806). 56 component (see http://crrev.com/179806).
64 57
58 - 0005-fix-include-js-generator.protobuf
59
60 During merge with internal branch, the <> in one of the #includes were
61 accidentally replaced with "", which results in a failure in checkdeps.
62
63 Fixed in https://github.com/google/protobuf/pull/1547.
64
65 - 0007-uninline_googleonce.patch 65 - 0007-uninline_googleonce.patch
66 - 0008-uninline_get_empty_string.patch 66 - 0008-uninline_get_empty_string.patch
67 - 0009-uninline-arenastring.patch 67 - 0009-uninline-arenastring.patch
68 - 0010-uninline-generated-code.patch 68 - 0010-uninline-generated-code.patch
69 69
70 These patches uninline some functions, resulting in a significant reduction 70 These patches uninline some functions, resulting in a significant reduction
71 (somewhere between 500 KB and 1 MB) of binary size. 71 (somewhere between 500 KB and 1 MB) of binary size.
72 72
73 - 0012-fixes-for-js-embed-cc.patch 73 - 0011-libprotobuf_export.patch
74 74
75 Fix include style for well_known_types_embed.cc (genereated in step 5, see 75 During merge with internal branch, the dll export attribute was accidentally
76 above) and also remove it from .gitignore file as we do not generate it in 76 removed in C++11 mode.
77 on the fly. 77
78 Fixed in https://github.com/google/protobuf/pull/1549
OLDNEW
« no previous file with comments | « third_party/protobuf/Protobuf.podspec ('k') | third_party/protobuf/README.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698