Description[sync] Componentize sync: Part Final: Target 'sync' is now its own component
One of the long term goals of the sync team has been to pull sync out of
chrome_dll and into its own component. This should result in faster link
times for component builds, and cleaner demarcation between sync code
and the rest of chrome.
This patch does the following:
- Splits off sync.gyp into gypi files for sync_core, sync_api, sync_internal_api,
sync_notifier and sync_proto.
- Audits the dependencies of various targets in sync.gyp, sync_tests.gyp, and other
chrome gyp files, and makes sure all dependencies are explicitly declared.
- Makes targets declared in gyp files outside sync.gyp directly depend on
sync.gyp:sync instead of inner sync targets.
- Implements two versions of the target 'sync.gyp:sync':
1) In static mode, the public 'sync' target has a target type of 'none',
and is composed of the static library targets 'sync_api', 'sync_core',
'sync_internal_api', 'sync_notifier', and 'sync_proto'.
2) In component mode, we build the public 'sync' target into a single shared
library, which includes the contents of sync_api.gypi, sync_core.gypi,
sync_internal_api.gypi, sync_notifier.gypi, and sync_proto.gypi.
TBR=akalin,robertshield,thakis
BUG=136928
TEST=Set GYP_DEFINES="component=shared_library" and build the 'all' target on all platforms.
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=180034
Patch Set 1 : Add SYNC_EXPORTs, fix gyp files, greenify component build #Patch Set 2 : Rebase on r171683 (no code changes) #
Total comments: 10
Patch Set 3 : CR Feedback + various compile fixes #Patch Set 4 : Separate out sync.gyp into gypi files and fix chrome build #Patch Set 5 : Component build working on all platforms #
Total comments: 12
Patch Set 6 : CR Feedback #Patch Set 7 : Rebase + merge (for trybots only; no actual code changes) #Patch Set 8 : Rebase + merge with net->sync dependency fix (no code changes) #
Total comments: 18
Patch Set 9 : Address CR Feedback #
Total comments: 6
Patch Set 10 : Address more CR feedback #
Total comments: 2
Patch Set 11 : Simplify change to protobuf_lite #Patch Set 12 : sync_proto goes back to being a static_library. #
Total comments: 2
Patch Set 13 : Fix nit #Patch Set 14 : Rebase + merge #Patch Set 15 : Make sure sync_proto is linked into just one component #
Total comments: 2
Patch Set 16 : Don't export sync_proto from component sync. #Patch Set 17 : Rebase + Merge + Undo copyright changes #
Messages
Total messages: 43 (0 generated)
|