Use component installer mechanism instead of extensions for supervised user whitelists.
[chromium-blink-merge.git] / components / sessions.gypi
blob1b429ac37493a13c0937bdf935f0ca68979843ef
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.
8     #
9     # TODO(rohitrao): We are including these sources directly into each
10     # individual target in order to avoid the complications associated with
11     # making a separate sessions_core target.  The files in sessions/core
12     # declare a static function that they do not define, which means that a
13     # sessions_core target would not link as a shared_library.  It would also be
14     # unsuitable as a static_library because it would be linked into multiple
15     # shared libraries.  Revisit this setup if necessary.
16     'sessions_core_sources': [
17       'sessions/base_session_service.cc',
18       'sessions/base_session_service.h',
19       'sessions/base_session_service_commands.cc',
20       'sessions/base_session_service_commands.h',
21       'sessions/base_session_service_delegate.h',
22       'sessions/core/serialized_navigation_driver.h',
23       'sessions/serialized_navigation_entry.cc',
24       'sessions/serialized_navigation_entry.h',
25       'sessions/session_backend.cc',
26       'sessions/session_backend.h',
27       'sessions/session_command.cc',
28       'sessions/session_command.h',
29       'sessions/session_id.cc',
30       'sessions/session_id.h',
31       'sessions/session_service_commands.cc',
32       'sessions/session_service_commands.h',
33       'sessions/session_types.cc',
34       'sessions/session_types.h',
35     ],
36   },
37   'targets': [
38     {
39       # GN version: //components/sessions:test_support
40       'target_name': 'sessions_test_support',
41       'type': 'static_library',
42       'defines!': ['SESSIONS_IMPLEMENTATION'],
43       'dependencies': [
44         '../skia/skia.gyp:skia',
45         '../testing/gtest.gyp:gtest',
46       ],
47       'include_dirs': [
48         '..',
49       ],
50       'sources': [
51         # Note: sources list duplicated in GN build.
52         'sessions/serialized_navigation_entry_test_helper.cc',
53         'sessions/serialized_navigation_entry_test_helper.h',
54       ],
55       'conditions': [
56         ['android_webview_build == 0', {
57           'dependencies': [
58              '../sync/sync.gyp:sync',
59           ]
60         }],
61         ['OS!="ios" and OS!="android"', {
62          'sources': [
63            'sessions/base_session_service_test_helper.cc',
64            'sessions/base_session_service_test_helper.h',
65            'sessions/session_backend.cc',
66            'sessions/session_backend.h',
67           ]
68         }],
69       ],
70     },
71   ],
73   # Platform-specific targets.
74   'conditions': [
75     ['OS!="ios"', {
76       'targets': [
77         {
78           # GN version: //components/sessions:sessions_content
79           'target_name': 'sessions_content',
80           'type': '<(component)',
81           'dependencies': [
82             '../base/base.gyp:base',
83             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
84             '../content/content.gyp:content_browser',
85             '../skia/skia.gyp:skia',
86             '../third_party/protobuf/protobuf.gyp:protobuf_lite',
87             '../ui/base/ui_base.gyp:ui_base',
88             '../ui/gfx/gfx.gyp:gfx_geometry',
89             '../url/url.gyp:url_lib',
90           ],
91           'include_dirs': [
92             '..',
93           ],
94           'defines': [
95             'SESSIONS_IMPLEMENTATION',
96           ],
97           'sources': [
98             # Note: sources list duplicated in GN build.
99             '<@(sessions_core_sources)',
101             'sessions/content/content_serialized_navigation_builder.cc',
102             'sessions/content/content_serialized_navigation_builder.h',
103             'sessions/content/content_serialized_navigation_driver.cc',
104             'sessions/content/content_serialized_navigation_driver.h',
105           ],
106           'conditions': [
107             ['android_webview_build == 0', {
108               'dependencies': [
109                  '../sync/sync.gyp:sync',
110               ]
111             }],
112           ],
113         },
114       ],
115     }, {  # OS==ios
116       'targets': [
117         {
118           'target_name': 'sessions_ios',
119           'type': 'static_library',
120           'dependencies': [
121             '../base/base.gyp:base',
122             '../ios/web/ios_web.gyp:ios_web',
123             '../sync/sync.gyp:sync',
124             '../third_party/protobuf/protobuf.gyp:protobuf_lite',
125             '../ui/base/ui_base.gyp:ui_base',
126             '../ui/gfx/gfx.gyp:gfx_geometry',
127             '../url/url.gyp:url_lib',
128           ],
129           'include_dirs': [
130             '..',
131           ],
132           'defines': [
133             'SESSIONS_IMPLEMENTATION',
134           ],
135           'sources': [
136             '<@(sessions_core_sources)',
138             'sessions/ios/ios_serialized_navigation_builder.cc',
139             'sessions/ios/ios_serialized_navigation_builder.h',
140             'sessions/ios/ios_serialized_navigation_driver.cc',
141             'sessions/ios/ios_serialized_navigation_driver.h',
142           ],
143         },
144       ],
145     }],
146   ],