Build the Clang plugin on Windows.
[chromium-blink-merge.git] / components / sessions.gypi
blob25dd69a41a3b19812671d1b51840d755e9ba9054
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         '../sync/sync.gyp:sync',
46         '../testing/gtest.gyp:gtest',
47       ],
48       'include_dirs': [
49         '..',
50       ],
51       'sources': [
52         # Note: sources list duplicated in GN build.
53         'sessions/serialized_navigation_entry_test_helper.cc',
54         'sessions/serialized_navigation_entry_test_helper.h',
55       ],
56       'conditions': [
57         ['OS!="ios" and OS!="android"', {
58          'sources': [
59            'sessions/base_session_service_test_helper.cc',
60            'sessions/base_session_service_test_helper.h',
61            'sessions/session_backend.cc',
62            'sessions/session_backend.h',
63           ]
64         }],
65       ],
66     },
67   ],
69   # Platform-specific targets.
70   'conditions': [
71     ['OS!="ios"', {
72       'targets': [
73         {
74           # GN version: //components/sessions:sessions_content
75           'target_name': 'sessions_content',
76           'type': '<(component)',
77           'dependencies': [
78             '../base/base.gyp:base',
79             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
80             '../content/content.gyp:content_browser',
81             '../skia/skia.gyp:skia',
82             '../sync/sync.gyp:sync',
83             '../third_party/protobuf/protobuf.gyp:protobuf_lite',
84             '../ui/base/ui_base.gyp:ui_base',
85             '../ui/gfx/gfx.gyp:gfx_geometry',
86             '../url/url.gyp:url_lib',
87           ],
88           'include_dirs': [
89             '..',
90           ],
91           'defines': [
92             'SESSIONS_IMPLEMENTATION',
93           ],
94           'sources': [
95             # Note: sources list duplicated in GN build.
96             '<@(sessions_core_sources)',
98             'sessions/content/content_serialized_navigation_builder.cc',
99             'sessions/content/content_serialized_navigation_builder.h',
100             'sessions/content/content_serialized_navigation_driver.cc',
101             'sessions/content/content_serialized_navigation_driver.h',
102           ],
103         },
104       ],
105     }, {  # OS==ios
106       'targets': [
107         {
108           'target_name': 'sessions_ios',
109           'type': 'static_library',
110           'dependencies': [
111             '../base/base.gyp:base',
112             '../ios/web/ios_web.gyp:ios_web',
113             '../sync/sync.gyp:sync',
114             '../third_party/protobuf/protobuf.gyp:protobuf_lite',
115             '../ui/base/ui_base.gyp:ui_base',
116             '../ui/gfx/gfx.gyp:gfx_geometry',
117             '../url/url.gyp:url_lib',
118           ],
119           'include_dirs': [
120             '..',
121           ],
122           'defines': [
123             'SESSIONS_IMPLEMENTATION',
124           ],
125           'sources': [
126             '<@(sessions_core_sources)',
128             'sessions/ios/ios_serialized_navigation_builder.cc',
129             'sessions/ios/ios_serialized_navigation_builder.h',
130             'sessions/ios/ios_serialized_navigation_driver.cc',
131             'sessions/ios/ios_serialized_navigation_driver.h',
132           ],
133         },
134       ],
135     }],
136   ],