Clarify and update GN build flags docs.
[chromium-blink-merge.git] / components / sessions.gypi
blobb6e6616c657842668e2b371d3a5afce4effe128b
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/serialized_navigation_driver.h',
17       'sessions/serialized_navigation_entry.cc',
18       'sessions/serialized_navigation_entry.h',
19       'sessions/session_backend.cc',
20       'sessions/session_backend.h',
21       'sessions/session_command.cc',
22       'sessions/session_command.h',
23       'sessions/session_id.cc',
24       'sessions/session_id.h',
25       'sessions/session_service_commands.cc',
26       'sessions/session_service_commands.h',
27       'sessions/session_types.cc',
28       'sessions/session_types.h',
29     ],
30   },
31   'targets': [
32     {
33       # GN version: //components/sessions:test_support
34       'target_name': 'sessions_test_support',
35       'type': 'static_library',
36       'dependencies': [
37         '../skia/skia.gyp:skia',
38         '../sync/sync.gyp:sync',
39         '../testing/gtest.gyp:gtest',
40       ],
41       'include_dirs': [
42         '..',
43       ],
44       'sources': [
45         # Note: sources list duplicated in GN build.
46         'sessions/serialized_navigation_entry_test_helper.cc',
47         'sessions/serialized_navigation_entry_test_helper.h',
48       ],
49       'conditions': [
50         ['OS!="ios" and OS!="android"', {
51           'sources': [
52             'sessions/base_session_service_test_helper.cc',
53             'sessions/base_session_service_test_helper.h',
54            ],
55         }],
56       ],
57     },
58   ],
60   # Platform-specific targets.
61   'conditions': [
62     ['OS!="ios"', {
63       'targets': [
64         {
65           # GN version: //components/sessions
66           'target_name': 'sessions_content',
67           'type': '<(component)',
68           'dependencies': [
69             '../base/base.gyp:base',
70             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
71             '../content/content.gyp:content_browser',
72             '../skia/skia.gyp:skia',
73             '../sync/sync.gyp:sync',
74             '../third_party/protobuf/protobuf.gyp:protobuf_lite',
75             '../ui/base/ui_base.gyp:ui_base',
76             '../ui/gfx/gfx.gyp:gfx_geometry',
77             '../url/url.gyp:url_lib',
78           ],
79           'include_dirs': [
80             '..',
81           ],
82           'defines': [
83             'SESSIONS_IMPLEMENTATION',
84           ],
85           'sources': [
86             # Note: sources list duplicated in GN build.
87             '<@(sessions_core_sources)',
89             'sessions/content/content_serialized_navigation_builder.cc',
90             'sessions/content/content_serialized_navigation_builder.h',
91             'sessions/content/content_serialized_navigation_driver.cc',
92             'sessions/content/content_serialized_navigation_driver.h',
93           ],
94         },
95       ],
96     }, {  # OS==ios
97       'targets': [
98         {
99           'target_name': 'sessions_ios',
100           'type': 'static_library',
101           'dependencies': [
102             '../base/base.gyp:base',
103             '../ios/web/ios_web.gyp:ios_web',
104             '../sync/sync.gyp:sync',
105             '../third_party/protobuf/protobuf.gyp:protobuf_lite',
106             '../ui/base/ui_base.gyp:ui_base',
107             '../ui/gfx/gfx.gyp:gfx_geometry',
108             '../url/url.gyp:url_lib',
109           ],
110           'include_dirs': [
111             '..',
112           ],
113           'defines': [
114             'SESSIONS_IMPLEMENTATION',
115           ],
116           'sources': [
117             '<@(sessions_core_sources)',
119             'sessions/ios/ios_serialized_navigation_builder.cc',
120             'sessions/ios/ios_serialized_navigation_builder.h',
121             'sessions/ios/ios_serialized_navigation_driver.cc',
122             'sessions/ios/ios_serialized_navigation_driver.h',
123           ],
124         },
125       ],
126     }],
127   ],