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', 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, 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',
37 'export_dependent_settings': [
42 # The sync external API library.
44 'target_name': 'sync_api',
45 'type': 'static_library',
46 'variables': { 'enable_wexit_time_destructors': 1, },
56 # The core sync library.
58 'target_name': 'sync_core',
59 'type': 'static_library',
60 'variables': { 'enable_wexit_time_destructors': 1, },
67 'export_dependent_settings': [
72 # The sync internal API library.
74 'target_name': 'sync_internal_api',
75 'type': 'static_library',
76 'variables': { 'enable_wexit_time_destructors': 1, },
78 'sync_internal_api.gypi',
84 'export_dependent_settings': [
90 # The sync protocol buffer library.
92 # GN version: //sync/protocol
93 'target_name': 'sync_proto',
94 'type': 'static_library',
95 'variables': { 'enable_wexit_time_destructors': 1, },
102 { # component != static_library
104 # The public sync shared library target.
106 'target_name': 'sync',
107 'type': 'shared_library',
108 'variables': { 'enable_wexit_time_destructors': 1, },
112 'sync_internal_api.gypi',