Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / components / sessions.gypi
blobfc739d2395de1bbb8c5ed379bb6cb0a245490255
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.
6   'variables': {
7     # Core sources shared by sessions_content and sessions_ios. These can't
8     # be a separate shared library since one symbol is implemented higher up in
9     # the sessions_content/ios layer.
10     'sessions_core_sources': [
11       'sessions/base_session_service.cc',
12       'sessions/base_session_service.h',
13       'sessions/base_session_service_commands.cc',
14       'sessions/base_session_service_commands.h',
15       'sessions/base_session_service_delegate.h',
16       'sessions/core/live_tab.cc',
17       'sessions/core/live_tab.h',
18       'sessions/core/persistent_tab_restore_service.cc',
19       'sessions/core/persistent_tab_restore_service.h',
20       'sessions/core/serialized_navigation_driver.h',
21       'sessions/core/session_constants.cc',
22       'sessions/core/session_constants.h',
23       'sessions/core/tab_restore_service.cc',
24       'sessions/core/tab_restore_service.h',
25       'sessions/core/tab_restore_service_client.cc',
26       'sessions/core/tab_restore_service_client.h',
27       'sessions/core/tab_restore_service_delegate.h',
28       'sessions/core/tab_restore_service_helper.cc',
29       'sessions/core/tab_restore_service_helper.h',
30       'sessions/core/tab_restore_service_observer.h',
31       'sessions/serialized_navigation_entry.cc',
32       'sessions/serialized_navigation_entry.h',
33       'sessions/session_backend.cc',
34       'sessions/session_backend.h',
35       'sessions/session_command.cc',
36       'sessions/session_command.h',
37       'sessions/session_id.cc',
38       'sessions/session_id.h',
39       'sessions/session_service_commands.cc',
40       'sessions/session_service_commands.h',
41       'sessions/session_types.cc',
42       'sessions/session_types.h',
43     ],
44   },
45   'targets': [
46     {
47       # GN version: //components/sessions:test_support
48       'target_name': 'sessions_test_support',
49       'type': 'static_library',
50       'dependencies': [
51         '../skia/skia.gyp:skia',
52         '../sync/sync.gyp:sync',
53         '../testing/gtest.gyp:gtest',
54       ],
55       'include_dirs': [
56         '..',
57       ],
58       'sources': [
59         # Note: sources list duplicated in GN build.
60         'sessions/serialized_navigation_entry_test_helper.cc',
61         'sessions/serialized_navigation_entry_test_helper.h',
62       ],
63       'conditions': [
64         ['OS!="ios" and OS!="android"', {
65           'sources': [
66             'sessions/base_session_service_test_helper.cc',
67             'sessions/base_session_service_test_helper.h',
68            ],
69         }],
70       ],
71     },
72   ],
74   # Platform-specific targets.
75   'conditions': [
76     ['OS!="ios"', {
77       'targets': [
78         {
79           # GN version: //components/sessions
80           'target_name': 'sessions_content',
81           'type': '<(component)',
82           'dependencies': [
83             '../base/base.gyp:base',
84             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
85             '../content/content.gyp:content_browser',
86             '../skia/skia.gyp:skia',
87             '../sync/sync.gyp:sync',
88             '../third_party/protobuf/protobuf.gyp:protobuf_lite',
89             '../ui/base/ui_base.gyp:ui_base',
90             '../ui/gfx/gfx.gyp:gfx_geometry',
91             '../url/url.gyp:url_lib',
92             'keyed_service_core',
93           ],
94           'include_dirs': [
95             '..',
96           ],
97           'defines': [
98             'SESSIONS_IMPLEMENTATION',
99           ],
100           'sources': [
101             # Note: sources list duplicated in GN build.
102             '<@(sessions_core_sources)',
104             'sessions/content/content_live_tab.cc',
105             'sessions/content/content_live_tab.h',
106             'sessions/content/content_platform_specific_tab_data.cc',
107             'sessions/content/content_platform_specific_tab_data.h',
108             'sessions/content/content_serialized_navigation_builder.cc',
109             'sessions/content/content_serialized_navigation_builder.h',
110             'sessions/content/content_serialized_navigation_driver.cc',
111             'sessions/content/content_serialized_navigation_driver.h',
112           ],
113           'conditions': [
114             ['OS=="android"', {
115              'sources': [
116                'sessions/core/in_memory_tab_restore_service.cc',
117                'sessions/core/in_memory_tab_restore_service.h',
118               ],
119               'sources!': [
120                'sessions/core/persistent_tab_restore_service.cc',
121               ],
122             },
123           ],
124         ],
125       }],
126     }, {  # OS==ios
127       'targets': [
128         {
129           'target_name': 'sessions_ios',
130           'type': 'static_library',
131           'dependencies': [
132             '../base/base.gyp:base',
133             '../ios/web/ios_web.gyp:ios_web',
134             '../sync/sync.gyp:sync',
135             '../third_party/protobuf/protobuf.gyp:protobuf_lite',
136             '../ui/base/ui_base.gyp:ui_base',
137             '../ui/gfx/gfx.gyp:gfx_geometry',
138             '../url/url.gyp:url_lib',
139             'keyed_service_core',
140           ],
141           'include_dirs': [
142             '..',
143           ],
144           'defines': [
145             'SESSIONS_IMPLEMENTATION',
146           ],
147           'sources': [
148             '<@(sessions_core_sources)',
150             'sessions/ios/ios_serialized_navigation_builder.cc',
151             'sessions/ios/ios_serialized_navigation_builder.h',
152             'sessions/ios/ios_serialized_navigation_driver.cc',
153             'sessions/ios/ios_serialized_navigation_driver.h',
154           ],
155         },
156       ],
157     }],
158   ],