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

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

Issue 1983203003: Update third_party/protobuf to protobuf-v3.0.0-beta-3 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix compile error Created 4 years, 7 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.0.0-beta-2 6 Version: 3.0.0-beta-3
7 Revision: d5fb408ddc281ffcadeb08699e65bb694656d0bd 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. Use the cleanup_release.sh script to remove unnecessary files. 12 2. Add build files (BUILD.gn, proto_library.gni, protobuf.gyp,
13 3. Add build files (BUILD.gn, proto_library.gni, protobuf.gyp,
14 protobuf_lite.gypi, protobuf_nacl.gyp). 13 protobuf_lite.gypi, protobuf_nacl.gyp).
15 14
16 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
17 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
18 include files required by targets. 17 include files required by targets.
19 18
20 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
21 platforms, warnings generated by compilers, and new dependencies introduced. 20 platforms, warnings generated by compilers, and new dependencies introduced.
22 4. 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
23 it to protobuf/third_party/six/six.py. 22 it to protobuf/third_party/six/six.py.
24 5. Apply patches in patches/ (see the description below): 23 4. Apply patches in patches/ (see the description below):
25 24
26 $ for patch in patches/*; do patch -s -p1 < $patch; done 25 $ for patch in patches/*; do patch -s -p1 < $patch; done
27 26
28 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
29 to be applied. 28 to be applied.
30 5. Generate descriptor_pb2.py using something like the following steps. Make 29 5. Generate descriptor_pb2.py using something like the following steps. Make
31 sure you've regenerated your buildfiles and will build protoc from the 30 sure you've regenerated your buildfiles and will build protoc from the
32 newly-modified sources above. 31 newly-modified sources above.
33 32
34 $ cd $SRC_DIR 33 $ cd $SRC_DIR
(...skipping 11 matching lines...) Expand all
46 Previous versions of protobuf in Chromium carried a local patch that retained 45 Previous versions of protobuf in Chromium carried a local patch that retained
47 unknown fields in protobuf_lite mode. It was enabled by setting option 46 unknown fields in protobuf_lite mode. It was enabled by setting option
48 retain_unknown_fields = true in .proto file. Now that it is enabled by 47 retain_unknown_fields = true in .proto file. Now that it is enabled by
49 default, this option is no longer recognized by protobuf, and so I had to 48 default, this option is no longer recognized by protobuf, and so I had to
50 patch it so that I don't have to fix all .proto files in Chromium in a single 49 patch it so that I don't have to fix all .proto files in Chromium in a single
51 CL. 50 CL.
52 51
53 I plan to remove those occurences, and then this patch will no longer be 52 I plan to remove those occurences, and then this patch will no longer be
54 necessary. 53 necessary.
55 54
55 - 0002-revert-patch-internal-change-111557819.patch
56
57 This reverts the commit 76195058e25d19fc918996d55d3ad69ee55cb77e, which bloats
58 the Chrome binary by 200 KB. Its purpose was to reduce the memory usage, but
59 Chrome workloads don't seem to be benefitting from this.
Peter Kasting 2016/05/24 23:45:34 Did you determine the actual memory savings from t
xyzzyz 2016/05/25 00:15:28 I tried, but the benchmarking results are really f
Peter Kasting 2016/05/25 00:19:50 To me the second link (05-20) looks fairly consist
xyzzyz 2016/05/25 00:25:47 The 05-20 is the optimize-memory-with-larger-binar
Peter Kasting 2016/05/25 01:17:56 Every relevant browser memory stat is improved com
60
56 - 0003-remove-static-initializers.patch 61 - 0003-remove-static-initializers.patch
57 62
58 This patch removes all static initializers from Chromium. The change in Status 63 This patch removes all static initializers from Chromium. The change in Status
59 class is not completely compatible with upstream, but it's compatible enough 64 class is not completely compatible with upstream, but it's compatible enough
60 to work in Chromium, which doesn't use this functionality yet. The work on 65 to work in Chromium, which doesn't use this functionality yet. The work on
61 upstreaming the removal of static initializers is in progress: 66 upstreaming the removal of static initializers is in progress:
62 https://github.com/google/protobuf/issues/1404 67 https://github.com/google/protobuf/issues/1404
63 68
64 - 0004-fix-integer-types-and-shared-library-exports.patch 69 - 0004-fix-integer-types-and-shared-library-exports.patch
65 70
66 This patch makes protobuf int64 to be int64_t (as opposed to long long in 71 This patch makes protobuf int64 to be int64_t (as opposed to long long in
67 upstream), and similarly for other integer types. It also allows exporting 72 upstream), and similarly for other integer types. It also allows exporting
68 protobuf symbols in Linux .so libraries, so that protobuf can be built as a 73 protobuf symbols in Linux .so libraries, so that protobuf can be built as a
69 component (see http://crrev.com/179806). 74 component (see http://crrev.com/179806).
70 75
71 - 0005-fix-no-threadlocal-on-mac.patch 76 - 0005-fix-include-js-generator.protobuf
72 77
73 Apple's Clang doesn't support thread-local variables on Mac. 78 During merge with internal branch, the <> in one of the #includes were
79 accidentally replaced with "", which results in a failure in checkdeps.
74 80
75 - 0006-fix-clang-type-errors.patch 81 Fixed in https://github.com/google/protobuf/pull/1547.
76
77 New versions of Clang have type checking semantics that check the conformance
78 with the C++ standard more thorougly, which makes them a bit more
79 restrictive. This cherry-picks upstream commits
80 3cc35adb6dca9057a790d253b9f5e2b9b000a106 and
81 58f07644eab25f68973ecab4bdc43fc318c26131.
82 82
83 - 0007-uninline_googleonce.patch 83 - 0007-uninline_googleonce.patch
84 - 0008-uninline_get_empty_string.patch 84 - 0008-uninline_get_empty_string.patch
85 - 0009-uninline-arenastring.patch 85 - 0009-uninline-arenastring.patch
86 - 0010-uninline-generated-code.patch 86 - 0010-uninline-generated-code.patch
87 87
88 These patches uninline some functions, resulting in a significant reduction 88 These patches uninline some functions, resulting in a significant reduction
89 (somewhere between 500 KB and 1 MB) of binary size. 89 (somewhere between 500 KB and 1 MB) of binary size.
90 - 0011-use-offsetof-for-clang.patch
91 90
92 This patch replaces a few invalid reinterpret_casts with __builtin_offsetof, 91 - 0011-libprotobuf_export.patch
93 if compiled with Clang. This is a temporary patch, it should be deletd, when
94 the official github repo is updates with this changes already submitted to
95 the internal Google repo.
96 92
97 See also: https://crbug.com/607751 and 93 During merge with internal branch, the dll export attribute was accidentally
98 https://github.com/google/protobuf/issues/1450 94 removed in C++11 mode.
95
96 Fixed in https://github.com/google/protobuf/pull/1549
97
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