1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
17 # 1) In static mode, the public 'sync' target has a target type of 'none',
18 # and is composed of the static library targets 'sync_api', 'sync_core',
19 # 'sync_internal_api', 'sync_notifier', and 'sync_proto'.
20 # 2) In component mode, we build the public 'sync' target into a single DLL,
21 # which includes the contents of sync_api.gypi, sync_core.gypi,
22 # sync_internal_api.gypi, sync_notifier.gypi, and sync_proto.gypi.
23 # 3) All external targets that depend on anything in sync/ must simply
24 # declare a dependency on 'sync.gyp:sync'
25 ['component=="static_library"', {
27 # The public sync static library target.
29 'target_name': 'sync',
38 'export_dependent_settings': [
44 # The sync external API library.
46 'target_name': 'sync_api',
47 'type': 'static_library',
48 'variables': { 'enable_wexit_time_destructors': 1, },
58 # The core sync library.
60 'target_name': 'sync_core',
61 'type': 'static_library',
62 'variables': { 'enable_wexit_time_destructors': 1, },
70 'export_dependent_settings': [
76 # The sync internal API library.
78 'target_name': 'sync_internal_api',
79 'type': 'static_library',
80 'variables': { 'enable_wexit_time_destructors': 1, },
82 'sync_internal_api.gypi',
89 'export_dependent_settings': [
95 # The sync notifications library.
97 'target_name': 'sync_notifier',
98 'type': 'static_library',
99 'variables': { 'enable_wexit_time_destructors': 1, },
101 'sync_notifier.gypi',
105 # The sync protocol buffer library.
107 # GN version: //sync/protocol
108 'target_name': 'sync_proto',
109 'type': 'static_library',
110 'variables': { 'enable_wexit_time_destructors': 1, },
117 { # component != static_library
119 # The public sync shared library target.
121 'target_name': 'sync',
122 'type': 'shared_library',
123 'variables': { 'enable_wexit_time_destructors': 1, },
127 'sync_internal_api.gypi',
128 'sync_notifier.gypi',