OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'variables': { | 6 'variables': { |
7 'chromium_code': 1, | 7 'chromium_code': 1, |
8 }, | 8 }, |
9 | 9 |
10 'includes': [ | 10 'includes': [ |
11 'sync_android.gypi', | 11 'sync_android.gypi', |
12 'sync_tests.gypi', | 12 'sync_tests.gypi', |
13 ], | 13 ], |
14 | 14 |
15 'conditions': [ | 15 'conditions': [ |
16 # Notes: | 16 # Notes: |
17 # 1) In static mode, the public 'sync' target has a target type of 'none', | 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', | 18 # and is composed of the static library targets 'sync_api', 'sync_core', |
19 # 'sync_internal_api', 'sync_notifier', and 'sync_proto'. | 19 # 'sync_internal_api', and 'sync_proto'. |
20 # 2) In component mode, we build the public 'sync' target into a single DLL, | 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, | 21 # which includes the contents of sync_api.gypi, sync_core.gypi, |
22 # sync_internal_api.gypi, sync_notifier.gypi, and sync_proto.gypi. | 22 # sync_internal_api.gypi, and sync_proto.gypi. |
23 # 3) All external targets that depend on anything in sync/ must simply | 23 # 3) All external targets that depend on anything in sync/ must simply |
24 # declare a dependency on 'sync.gyp:sync' | 24 # declare a dependency on 'sync.gyp:sync' |
25 ['component=="static_library"', { | 25 ['component=="static_library"', { |
26 'targets': [ | 26 'targets': [ |
27 # The public sync static library target. | 27 # The public sync static library target. |
28 { | 28 { |
29 'target_name': 'sync', | 29 'target_name': 'sync', |
30 'type': 'none', | 30 'type': 'none', |
31 'dependencies': [ | 31 'dependencies': [ |
32 'sync_api', | 32 'sync_api', |
33 'sync_core', | 33 'sync_core', |
34 'sync_internal_api', | 34 'sync_internal_api', |
35 'sync_notifier', | |
36 'sync_proto', | 35 'sync_proto', |
37 ], | 36 ], |
38 'export_dependent_settings': [ | 37 'export_dependent_settings': [ |
39 'sync_notifier', | |
40 'sync_proto', | 38 'sync_proto', |
41 ], | 39 ], |
42 }, | 40 }, |
43 | 41 |
44 # The sync external API library. | 42 # The sync external API library. |
45 { | 43 { |
46 'target_name': 'sync_api', | 44 'target_name': 'sync_api', |
47 'type': 'static_library', | 45 'type': 'static_library', |
48 'variables': { 'enable_wexit_time_destructors': 1, }, | 46 'variables': { 'enable_wexit_time_destructors': 1, }, |
49 'includes': [ | 47 'includes': [ |
50 'sync_api.gypi', | 48 'sync_api.gypi', |
51 ], | 49 ], |
52 'dependencies': [ | 50 'dependencies': [ |
53 'sync_internal_api', | 51 'sync_internal_api', |
54 'sync_proto', | 52 'sync_proto', |
55 ], | 53 ], |
56 }, | 54 }, |
57 | 55 |
58 # The core sync library. | 56 # The core sync library. |
59 { | 57 { |
60 'target_name': 'sync_core', | 58 'target_name': 'sync_core', |
61 'type': 'static_library', | 59 'type': 'static_library', |
62 'variables': { 'enable_wexit_time_destructors': 1, }, | 60 'variables': { 'enable_wexit_time_destructors': 1, }, |
63 'includes': [ | 61 'includes': [ |
64 'sync_core.gypi', | 62 'sync_core.gypi', |
65 ], | 63 ], |
66 'dependencies': [ | 64 'dependencies': [ |
67 'sync_notifier', | |
68 'sync_proto', | 65 'sync_proto', |
69 ], | 66 ], |
70 'export_dependent_settings': [ | 67 'export_dependent_settings': [ |
71 'sync_notifier', | |
72 'sync_proto', | 68 'sync_proto', |
73 ], | 69 ], |
74 }, | 70 }, |
75 | 71 |
76 # The sync internal API library. | 72 # The sync internal API library. |
77 { | 73 { |
78 'target_name': 'sync_internal_api', | 74 'target_name': 'sync_internal_api', |
79 'type': 'static_library', | 75 'type': 'static_library', |
80 'variables': { 'enable_wexit_time_destructors': 1, }, | 76 'variables': { 'enable_wexit_time_destructors': 1, }, |
81 'includes': [ | 77 'includes': [ |
82 'sync_internal_api.gypi', | 78 'sync_internal_api.gypi', |
83 ], | 79 ], |
84 'dependencies': [ | 80 'dependencies': [ |
85 'sync_core', | 81 'sync_core', |
86 'sync_notifier', | |
87 'sync_proto', | 82 'sync_proto', |
88 ], | 83 ], |
89 'export_dependent_settings': [ | 84 'export_dependent_settings': [ |
90 'sync_core', | 85 'sync_core', |
91 'sync_proto', | 86 'sync_proto', |
92 ], | 87 ], |
93 }, | 88 }, |
94 | 89 |
95 # The sync notifications library. | |
96 { | |
97 'target_name': 'sync_notifier', | |
98 'type': 'static_library', | |
99 'variables': { 'enable_wexit_time_destructors': 1, }, | |
100 'includes': [ | |
101 'sync_notifier.gypi', | |
102 ], | |
103 }, | |
104 | |
105 # The sync protocol buffer library. | 90 # The sync protocol buffer library. |
106 { | 91 { |
107 # GN version: //sync/protocol | 92 # GN version: //sync/protocol |
108 'target_name': 'sync_proto', | 93 'target_name': 'sync_proto', |
109 'type': 'static_library', | 94 'type': 'static_library', |
110 'variables': { 'enable_wexit_time_destructors': 1, }, | 95 'variables': { 'enable_wexit_time_destructors': 1, }, |
111 'includes': [ | 96 'includes': [ |
112 'sync_proto.gypi', | 97 'sync_proto.gypi', |
113 ], | 98 ], |
114 }, | 99 }, |
115 ], | 100 ], |
116 }, | 101 }, |
117 { # component != static_library | 102 { # component != static_library |
118 'targets': [ | 103 'targets': [ |
119 # The public sync shared library target. | 104 # The public sync shared library target. |
120 { | 105 { |
121 'target_name': 'sync', | 106 'target_name': 'sync', |
122 'type': 'shared_library', | 107 'type': 'shared_library', |
123 'variables': { 'enable_wexit_time_destructors': 1, }, | 108 'variables': { 'enable_wexit_time_destructors': 1, }, |
124 'includes': [ | 109 'includes': [ |
125 'sync_api.gypi', | 110 'sync_api.gypi', |
126 'sync_core.gypi', | 111 'sync_core.gypi', |
127 'sync_internal_api.gypi', | 112 'sync_internal_api.gypi', |
128 'sync_notifier.gypi', | |
129 'sync_proto.gypi', | 113 'sync_proto.gypi', |
130 ], | 114 ], |
131 }, | 115 }, |
132 ], | 116 ], |
133 }], | 117 }], |
134 ], | 118 ], |
135 } | 119 } |
OLD | NEW |