2682d5e99d123c8f651af5b5ae788854cfe70755
[platform/framework/web/crosswalk.git] / src / extensions / shell / app_shell.gyp
1 # Copyright 2014 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.
4
5 {
6   'variables': {
7     'chromium_code': 1,
8   },
9   'targets': [
10     {
11       'target_name': 'app_shell_lib',
12       'type': 'static_library',
13       'defines!': ['CONTENT_IMPLEMENTATION'],
14       'dependencies': [
15         'app_shell_version_header',
16         '<(DEPTH)/base/base.gyp:base',
17         '<(DEPTH)/base/base.gyp:base_prefs_test_support',
18         '<(DEPTH)/components/components.gyp:omaha_query_params',
19         '<(DEPTH)/components/components.gyp:pref_registry',
20         '<(DEPTH)/components/components.gyp:user_prefs',
21         '<(DEPTH)/components/components.gyp:web_cache_renderer',
22         '<(DEPTH)/content/content.gyp:content',
23         '<(DEPTH)/content/content.gyp:content_gpu',
24         '<(DEPTH)/content/content.gyp:content_ppapi_plugin',
25         '<(DEPTH)/content/content_shell_and_tests.gyp:content_shell_lib',
26         '<(DEPTH)/device/core/core.gyp:device_core',
27         '<(DEPTH)/device/hid/hid.gyp:device_hid',
28         '<(DEPTH)/extensions/browser/api/api_registration.gyp:extensions_api_registration',
29         '<(DEPTH)/extensions/common/api/api.gyp:extensions_api',
30         '<(DEPTH)/extensions/extensions.gyp:extensions_browser',
31         '<(DEPTH)/extensions/extensions.gyp:extensions_common',
32         '<(DEPTH)/extensions/extensions.gyp:extensions_renderer',
33         '<(DEPTH)/extensions/extensions.gyp:extensions_shell_and_test_pak',
34         '<(DEPTH)/extensions/extensions.gyp:extensions_utility',
35         '<(DEPTH)/extensions/extensions_resources.gyp:extensions_resources',
36         '<(DEPTH)/extensions/shell/browser/api/api_registration.gyp:shell_api_registration',
37         '<(DEPTH)/extensions/shell/common/api/api.gyp:shell_api',
38         '<(DEPTH)/mojo/edk/mojo_edk.gyp:mojo_system_impl',
39         '<(DEPTH)/mojo/mojo_base.gyp:mojo_environment_chromium',
40         '<(DEPTH)/skia/skia.gyp:skia',
41         '<(DEPTH)/third_party/WebKit/public/blink.gyp:blink',
42         '<(DEPTH)/ui/wm/wm.gyp:wm',
43         '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
44       ],
45       'include_dirs': [
46         '../..',
47         '<(SHARED_INTERMEDIATE_DIR)',
48         '<(SHARED_INTERMEDIATE_DIR)/extensions/shell',
49       ],
50       'sources': [
51         'app/shell_main_delegate.cc',
52         'app/shell_main_delegate.h',
53         'browser/api/identity/identity_api.cc',
54         'browser/api/identity/identity_api.h',
55         'browser/api/shell_gcd/shell_gcd_api.cc',
56         'browser/api/shell_gcd/shell_gcd_api.h',
57         'browser/api/shell_window/shell_window_api.cc',
58         'browser/api/shell_window/shell_window_api.h',
59         'browser/shell_browser_context_keyed_service_factories.cc',
60         'browser/shell_browser_context_keyed_service_factories.h',
61         'browser/default_shell_browser_main_delegate.cc',
62         'browser/default_shell_browser_main_delegate.h',
63         'browser/desktop_controller.cc',
64         'browser/desktop_controller.h',
65         'browser/media_capture_util.cc',
66         'browser/media_capture_util.h',
67         'browser/shell_app_delegate.cc',
68         'browser/shell_app_delegate.h',
69         'browser/shell_app_window_client.cc',
70         'browser/shell_app_window_client.h',
71         'browser/shell_audio_controller_chromeos.cc',
72         'browser/shell_audio_controller_chromeos.h',
73         'browser/shell_browser_context.cc',
74         'browser/shell_browser_context.h',
75         'browser/shell_browser_main_delegate.h',
76         'browser/shell_browser_main_parts.cc',
77         'browser/shell_browser_main_parts.h',
78         'browser/shell_content_browser_client.cc',
79         'browser/shell_content_browser_client.h',
80         'browser/shell_desktop_controller.cc',
81         'browser/shell_desktop_controller.h',
82         'browser/shell_device_client.cc',
83         'browser/shell_device_client.h',
84         'browser/shell_display_info_provider.cc',
85         'browser/shell_display_info_provider.h',
86         'browser/shell_extension_host_delegate.cc',
87         'browser/shell_extension_host_delegate.h',
88         'browser/shell_extension_system.cc',
89         'browser/shell_extension_system.h',
90         'browser/shell_extension_system_factory.cc',
91         'browser/shell_extension_system_factory.h',
92         'browser/shell_extension_web_contents_observer.cc',
93         'browser/shell_extension_web_contents_observer.h',
94         'browser/shell_extensions_browser_client.cc',
95         'browser/shell_extensions_browser_client.h',
96         'browser/shell_native_app_window.cc',
97         'browser/shell_native_app_window.h',
98         'browser/shell_network_controller_chromeos.cc',
99         'browser/shell_network_controller_chromeos.h',
100         'browser/shell_network_delegate.cc',
101         'browser/shell_network_delegate.h',
102         'browser/shell_oauth2_token_service.cc',
103         'browser/shell_oauth2_token_service.h',
104         'browser/shell_omaha_query_params_delegate.cc',
105         'browser/shell_omaha_query_params_delegate.h',
106         'browser/shell_runtime_api_delegate.cc',
107         'browser/shell_runtime_api_delegate.h',
108         'browser/shell_special_storage_policy.cc',
109         'browser/shell_special_storage_policy.h',
110         'browser/shell_url_request_context_getter.cc',
111         'browser/shell_url_request_context_getter.h',
112         'browser/shell_web_contents_modal_dialog_manager.cc',
113         'common/shell_content_client.cc',
114         'common/shell_content_client.h',
115         'common/shell_extensions_client.cc',
116         'common/shell_extensions_client.h',
117         'common/switches.cc',
118         'common/switches.h',
119         'renderer/shell_content_renderer_client.cc',
120         'renderer/shell_content_renderer_client.h',
121         'renderer/shell_extensions_renderer_client.cc',
122         'renderer/shell_extensions_renderer_client.h',
123         'utility/shell_content_utility_client.cc',
124         'utility/shell_content_utility_client.h',
125       ],
126       'conditions': [
127         ['chromeos==1', {
128           'dependencies': [
129             '<(DEPTH)/chromeos/chromeos.gyp:chromeos',
130             '<(DEPTH)/ui/chromeos/ui_chromeos.gyp:ui_chromeos',
131             '<(DEPTH)/ui/display/display.gyp:display',
132           ],
133         }],
134         ['disable_nacl==0 and OS=="linux"', {
135           'dependencies': [
136             '<(DEPTH)/components/nacl.gyp:nacl_helper',
137           ],
138         }],
139         ['disable_nacl==0', {
140           'dependencies': [
141             '<(DEPTH)/components/nacl.gyp:nacl',
142             '<(DEPTH)/components/nacl.gyp:nacl_browser',
143             '<(DEPTH)/components/nacl.gyp:nacl_common',
144             '<(DEPTH)/components/nacl.gyp:nacl_renderer',
145             '<(DEPTH)/components/nacl.gyp:nacl_switches',
146           ],
147           'sources': [
148             'browser/shell_nacl_browser_delegate.cc',
149             'browser/shell_nacl_browser_delegate.h',
150           ],
151         }],
152       ],
153     },
154     {
155       'target_name': 'app_shell',
156       'type': 'executable',
157       'defines!': ['CONTENT_IMPLEMENTATION'],
158       'dependencies': [
159         'app_shell_lib',
160         '<(DEPTH)/extensions/extensions.gyp:extensions_shell_and_test_pak',
161       ],
162       'include_dirs': [
163         '../..',
164       ],
165       'sources': [
166         'app/shell_main.cc',
167       ],
168       'conditions': [
169         ['OS=="win"', {
170           'msvs_settings': {
171             'VCLinkerTool': {
172               'SubSystem': '2',  # Set /SUBSYSTEM:WINDOWS
173             },
174           },
175           'dependencies': [
176             '<(DEPTH)/sandbox/sandbox.gyp:sandbox',
177           ],
178         }],
179         ['OS=="win" and win_use_allocator_shim==1', {
180           'dependencies': [
181             '<(DEPTH)/base/allocator/allocator.gyp:allocator',
182           ],
183         }],
184       ],
185     },
186     {
187       'target_name': 'app_shell_browsertests',
188       'type': '<(gtest_target_type)',
189       'dependencies': [
190         'app_shell_lib',
191         # TODO(yoz): find the right deps
192         '<(DEPTH)/base/base.gyp:test_support_base',
193         '<(DEPTH)/content/content.gyp:content_app_both',
194         '<(DEPTH)/content/content_shell_and_tests.gyp:content_browser_test_support',
195         '<(DEPTH)/content/content_shell_and_tests.gyp:test_support_content',
196         '<(DEPTH)/extensions/extensions.gyp:extensions_test_support',
197         '<(DEPTH)/testing/gmock.gyp:gmock',
198         '<(DEPTH)/testing/gtest.gyp:gtest',
199       ],
200       'defines': [
201         'HAS_OUT_OF_PROC_TEST_RUNNER',
202       ],
203       'sources': [
204         # TODO(yoz): Refactor once we have a second test target.
205         # TODO(yoz): Something is off here; should this .gyp file be
206         # in the parent directory? Test target extensions_browsertests?
207         '../browser/api/dns/dns_apitest.cc',
208         '../browser/api/hid/hid_apitest.cc',
209         '../browser/api/socket/socket_apitest.cc',
210         '../browser/api/sockets_tcp/sockets_tcp_apitest.cc',
211         '../browser/api/sockets_udp/sockets_udp_apitest.cc',
212         '../browser/api/usb/usb_apitest.cc',
213         '../browser/guest_view/app_view/app_view_apitest.cc',
214         '../browser/guest_view/web_view/web_view_apitest.h',
215         '../browser/guest_view/web_view/web_view_apitest.cc',
216         '../browser/guest_view/web_view/web_view_media_access_apitest.cc',
217         '../browser/updater/update_service_browsertest.cc',
218         'browser/shell_browsertest.cc',
219         'test/shell_apitest.cc',
220         'test/shell_apitest.h',
221         'test/shell_test.cc',
222         'test/shell_test.h',
223         'test/shell_test_launcher_delegate.cc',
224         'test/shell_test_launcher_delegate.h',
225         'test/shell_tests_main.cc',
226       ],
227       'conditions': [
228         ['OS=="win" and win_use_allocator_shim==1', {
229           'dependencies': [
230             '<(DEPTH)/base/allocator/allocator.gyp:allocator',
231           ],
232         }],
233       ],
234     },
235     {
236       'target_name': 'app_shell_unittests',
237       'type': 'executable',
238       'dependencies': [
239         'app_shell_lib',
240         '<(DEPTH)/base/base.gyp:base',
241         '<(DEPTH)/base/base.gyp:test_support_base',
242         '<(DEPTH)/content/content.gyp:content_app_both',
243         '<(DEPTH)/content/content_shell_and_tests.gyp:test_support_content',
244         '<(DEPTH)/extensions/extensions.gyp:extensions_shell_and_test_pak',
245         '<(DEPTH)/extensions/extensions.gyp:extensions_test_support',
246         '<(DEPTH)/testing/gtest.gyp:gtest',
247         '<(DEPTH)/ui/aura/aura.gyp:aura_test_support',
248       ],
249       'sources': [
250         '../test/extensions_unittests_main.cc',
251         'browser/api/identity/identity_api_unittest.cc',
252         'browser/api/shell_gcd/shell_gcd_api_unittest.cc',
253         'browser/api/shell_window/shell_window_api_unittest.cc',
254         'browser/shell_audio_controller_chromeos_unittest.cc',
255         'browser/shell_desktop_controller_unittest.cc',
256         'browser/shell_nacl_browser_delegate_unittest.cc',
257         'browser/shell_oauth2_token_service_unittest.cc',
258         'common/shell_content_client_unittest.cc'
259       ],
260       'conditions': [
261         ['disable_nacl==1', {
262           'sources!': [
263             'browser/shell_nacl_browser_delegate_unittest.cc',
264           ],
265         }],
266         ['chromeos==1', {
267           'dependencies': [
268             '<(DEPTH)/chromeos/chromeos.gyp:chromeos_test_support_without_gmock',
269           ],
270         }],
271         ['OS=="win" and win_use_allocator_shim==1', {
272           'dependencies': [
273             '<(DEPTH)/base/allocator/allocator.gyp:allocator',
274           ],
275         }],
276       ],
277     },
278     {
279       'target_name': 'app_shell_version_header',
280       'type': 'none',
281       'direct_dependent_settings': {
282         'include_dirs': [
283           '<(SHARED_INTERMEDIATE_DIR)',
284         ],
285       },
286       'actions': [
287         {
288           'action_name': 'version_header',
289           'message': 'Generating version header file: <@(_outputs)',
290           'variables': {
291             'lastchange_path': '<(DEPTH)/build/util/LASTCHANGE',
292           },
293           'inputs': [
294             '<(version_path)',
295             '<(lastchange_path)',
296             'common/version.h.in',
297           ],
298           'outputs': [
299             '<(SHARED_INTERMEDIATE_DIR)/extensions/shell/common/version.h',
300           ],
301           'action': [
302             'python',
303             '<(version_py_path)',
304             '-f', '<(lastchange_path)',
305             '-f', '<(version_path)',
306             'common/version.h.in',
307             '<@(_outputs)',
308           ],
309           'includes': [
310             '../../build/util/version.gypi',
311           ],
312         },
313       ],
314     },
315   ],  # targets
316 }