blob: f9334b141d1838e43c1f0be9292347117d014e56 [file] [log] [blame]
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001# Copyright (c) 2012 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 'variables': {
6 'chromium_code': 1,
7
8 # Define the common dependencies that contain all the actual
9 # Chromium functionality. This list gets pulled in below by
10 # the link of the actual chrome (or chromium) executable on
11 # Linux or Mac, and into chrome.dll on Windows.
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000012 # NOTE: Most new includes should go in the OS!="ios" condition below.
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +010013 'chromium_browser_dependencies': [
Torne (Richard Coles)58218062012-11-14 11:43:16 +000014 'common',
15 'browser',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000016 '../sync/sync.gyp:sync',
Torne (Richard Coles)58218062012-11-14 11:43:16 +000017 ],
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +010018 'chromium_child_dependencies': [
19 'common',
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +010020 '../sync/sync.gyp:sync',
21 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +000022 'allocator_target': '../base/allocator/allocator.gyp:allocator',
23 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/chrome',
24 'protoc_out_dir': '<(SHARED_INTERMEDIATE_DIR)/protoc_out',
25 'repack_locales_cmd': ['python', 'tools/build/repack_locales.py'],
26 # TODO: remove this helper when we have loops in GYP
27 'apply_locales_cmd': ['python', '<(DEPTH)/build/apply_locales.py'],
28 'conditions': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000029 ['OS!="ios"', {
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +010030 'chromium_browser_dependencies': [
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +010031 '../printing/printing.gyp:printing',
Ben Murdochca12bfa2013-07-23 11:17:05 +010032 '../ppapi/ppapi_internal.gyp:ppapi_host',
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +010033 ],
34 'chromium_child_dependencies': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000035 'debugger',
36 'plugin',
37 'renderer',
38 'utility',
39 '../content/content.gyp:content_gpu',
40 '../content/content.gyp:content_ppapi_plugin',
41 '../content/content.gyp:content_worker',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +010042 '../third_party/WebKit/Source/devtools/devtools.gyp:devtools_frontend_resources',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000043 ],
44 }],
Torne (Richard Coles)58218062012-11-14 11:43:16 +000045 ['OS=="win"', {
Torne (Richard Coles)58218062012-11-14 11:43:16 +000046 'platform_locale_settings_grd':
47 'app/resources/locale_settings_win.grd',
48 },],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000049 ['OS!="android" and OS!="ios"', {
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +010050 'chromium_browser_dependencies': [
Torne (Richard Coles)58218062012-11-14 11:43:16 +000051 # Android doesn't use the service process (only needed for print).
52 'service',
53 ],
54 }],
55 ['OS=="linux"', {
Torne (Richard Coles)58218062012-11-14 11:43:16 +000056 'conditions': [
57 ['chromeos==1', {
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000058 'conditions': [
59 ['branding=="Chrome"', {
60 'platform_locale_settings_grd':
61 'app/resources/locale_settings_google_chromeos.grd',
62 }, { # branding!=Chrome
63 'platform_locale_settings_grd':
64 'app/resources/locale_settings_chromiumos.grd',
65 }],
66 ]
Torne (Richard Coles)58218062012-11-14 11:43:16 +000067 }, { # chromeos==0
68 'platform_locale_settings_grd':
69 'app/resources/locale_settings_linux.grd',
70 }],
71 ],
72 },],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000073 ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "linux"', {
Torne (Richard Coles)58218062012-11-14 11:43:16 +000074 'platform_locale_settings_grd':
75 'app/resources/locale_settings_linux.grd',
76 },],
77 ['OS=="mac"', {
78 'tweak_info_plist_path': '../build/mac/tweak_info_plist.py',
Torne (Richard Coles)58218062012-11-14 11:43:16 +000079 'platform_locale_settings_grd':
80 'app/resources/locale_settings_mac.grd',
81 'conditions': [
82 ['branding=="Chrome"', {
83 'mac_bundle_id': 'com.google.Chrome',
84 'mac_creator': 'rimZ',
85 # The policy .grd file also needs the bundle id.
86 'grit_defines': ['-D', 'mac_bundle_id=com.google.Chrome'],
87 }, { # else: branding!="Chrome"
88 'mac_bundle_id': 'org.chromium.Chromium',
89 'mac_creator': 'Cr24',
90 # The policy .grd file also needs the bundle id.
91 'grit_defines': ['-D', 'mac_bundle_id=org.chromium.Chromium'],
92 }], # branding
93 ], # conditions
94 }], # OS=="mac"
Torne (Richard Coles)58218062012-11-14 11:43:16 +000095 ], # conditions
96 }, # variables
97 'includes': [
98 # Place some targets in gypi files to reduce contention on this file.
99 # By using an include, we keep everything in a single xcodeproj file.
100 # Note on Win64 targets: targets that end with win64 be used
101 # on 64-bit Windows only. Targets that end with nacl_win64 should be used
102 # by Native Client only.
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000103 # NOTE: Most new includes should go in the OS!="ios" condition below.
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000104 '../build/win_precompile.gypi',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000105 'chrome_browser.gypi',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000106 'chrome_browser_ui.gypi',
107 'chrome_common.gypi',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000108 'chrome_installer_util.gypi',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000109 'chrome_tests_unit.gypi',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000110 'version.gypi',
Ben Murdochd3868032013-07-31 10:55:33 +0100111 '../components/nacl/nacl_defines.gypi',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000112 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000113 'conditions': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000114 ['OS!="ios"', {
115 'includes': [
116 'app/policy/policy_templates.gypi',
117 'chrome_browser_extensions.gypi',
118 'chrome_dll.gypi',
119 'chrome_exe.gypi',
120 'chrome_installer.gypi',
121 'chrome_renderer.gypi',
122 'chrome_tests.gypi',
123 'nacl.gypi',
124 '../apps/apps.gypi',
125 ],
126 'targets': [
127 {
128 'target_name': 'default_extensions',
129 'type': 'none',
130 'conditions': [
131 ['OS=="win"', {
132 'copies': [
133 {
134 'destination': '<(PRODUCT_DIR)/extensions',
135 'files': [
136 'browser/extensions/default_extensions/external_extensions.json'
137 ]
138 }
139 ],
140 }],
141 ['OS=="linux" and chromeos==1 and branding=="Chrome"', {
142 'copies': [
143 {
144 'destination': '<(PRODUCT_DIR)',
145 'files': [
146 'browser/extensions/default_extensions/chromeos/extensions/'
147 ]
148 }
149 ],
150 }],
151 ],
152 },
153 {
154 'target_name': 'debugger',
155 'type': 'static_library',
156 'variables': { 'enable_wexit_time_destructors': 1, },
157 'dependencies': [
158 'chrome_resources.gyp:chrome_extra_resources',
159 'chrome_resources.gyp:chrome_resources',
160 'chrome_resources.gyp:chrome_strings',
161 'chrome_resources.gyp:theme_resources',
162 'common/extensions/api/api.gyp:api',
163 '../base/base.gyp:base',
164 '../content/content.gyp:content_browser',
165 '../net/net.gyp:http_server',
166 '../net/net.gyp:net',
167 '../skia/skia.gyp:skia',
168 '../third_party/icu/icu.gyp:icui18n',
169 '../third_party/icu/icu.gyp:icuuc',
170 '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
Ben Murdoch58e6fbe2013-07-26 10:20:38 +0100171 '../third_party/libusb/libusb.gyp:libusb',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000172 ],
173 'include_dirs': [
174 '..',
175 ],
176 'sources': [
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100177 'browser/devtools/adb/android_rsa.cc',
178 'browser/devtools/adb/android_rsa.h',
Ben Murdocheb525c52013-07-10 11:40:50 +0100179 'browser/devtools/adb/android_usb_device.cc',
180 'browser/devtools/adb/android_usb_device.h',
181 'browser/devtools/adb/android_usb_socket.cc',
182 'browser/devtools/adb/android_usb_socket.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000183 'browser/devtools/adb_client_socket.cc',
184 'browser/devtools/adb_client_socket.h',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100185 'browser/devtools/adb_web_socket.cc',
186 'browser/devtools/adb_web_socket.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000187 'browser/devtools/browser_list_tabcontents_provider.cc',
188 'browser/devtools/browser_list_tabcontents_provider.h',
189 'browser/devtools/devtools_adb_bridge.cc',
190 'browser/devtools/devtools_adb_bridge.h',
191 'browser/devtools/devtools_file_helper.cc',
192 'browser/devtools/devtools_file_helper.h',
Ben Murdoch2385ea32013-08-06 11:01:04 +0100193 'browser/devtools/devtools_file_system_indexer.cc',
194 'browser/devtools/devtools_file_system_indexer.h',
Ben Murdochbb1529c2013-08-08 10:24:53 +0100195 'browser/devtools/devtools_protocol.cc',
196 'browser/devtools/devtools_protocol.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000197 'browser/devtools/devtools_toggle_action.h',
198 'browser/devtools/devtools_window.cc',
199 'browser/devtools/devtools_window.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000200 'browser/devtools/remote_debugging_server.cc',
201 'browser/devtools/remote_debugging_server.h',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100202 'browser/devtools/tethering_adb_filter.cc',
203 'browser/devtools/tethering_adb_filter.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000204 ],
205 'conditions': [
206 ['toolkit_uses_gtk == 1', {
207 'dependencies': [
208 '../build/linux/system.gyp:gtk',
209 ],
210 }],
211 ['OS=="android"', {
Ben Murdoch58e6fbe2013-07-26 10:20:38 +0100212 'dependencies!': [
213 '../third_party/libusb/libusb.gyp:libusb',
214 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000215 'sources!': [
216 'browser/devtools/browser_list_tabcontents_provider.cc',
217 'browser/devtools/devtools_window.cc',
218 'browser/devtools/remote_debugging_server.cc',
219 ],
220 }],
221 ['debug_devtools==1', {
222 'defines': [
223 'DEBUG_DEVTOOLS=1',
224 ],
225 }],
226 ],
227 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
228 'msvs_disabled_warnings': [ 4267, ],
229 },
230 {
231 'target_name': 'plugin',
232 'type': 'static_library',
233 'variables': { 'enable_wexit_time_destructors': 1, },
234 'dependencies': [
235 'chrome_resources.gyp:chrome_strings',
236 '../base/base.gyp:base',
237 '../content/content.gyp:content_plugin',
238 ],
239 'sources': [
240 'plugin/chrome_content_plugin_client.cc',
241 'plugin/chrome_content_plugin_client.h',
242 ],
243 'include_dirs': [
244 '..',
245 '<(grit_out_dir)',
246 ],
247 },
248 {
249 'target_name': 'utility',
250 'type': 'static_library',
251 'variables': { 'enable_wexit_time_destructors': 1, },
252 'dependencies': [
253 '../base/base.gyp:base',
254 '../content/content.gyp:content_utility',
255 '../skia/skia.gyp:skia',
Ben Murdocheb525c52013-07-10 11:40:50 +0100256 '../third_party/libxml/libxml.gyp:libxml',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100257 'common',
258 '<(DEPTH)/chrome/chrome_resources.gyp:chrome_resources',
Ben Murdochca12bfa2013-07-23 11:17:05 +0100259 '<(DEPTH)/chrome/chrome_resources.gyp:chrome_strings',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000260 ],
261 'sources': [
262 'utility/chrome_content_utility_client.cc',
263 'utility/chrome_content_utility_client.h',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100264 'utility/extensions/unpacker.cc',
265 'utility/extensions/unpacker.h',
266 'utility/importer/bookmark_html_reader.cc',
267 'utility/importer/bookmark_html_reader.h',
268 'utility/importer/bookmarks_file_importer.cc',
269 'utility/importer/bookmarks_file_importer.h',
270 'utility/importer/external_process_importer_bridge.cc',
271 'utility/importer/external_process_importer_bridge.h',
272 'utility/importer/favicon_reencode.cc',
273 'utility/importer/favicon_reencode.h',
Ben Murdochca12bfa2013-07-23 11:17:05 +0100274 'utility/importer/firefox_importer.cc',
275 'utility/importer/firefox_importer.h',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100276 'utility/importer/firefox_importer_unittest_messages_internal.h',
277 'utility/importer/firefox_importer_unittest_utils.h',
278 'utility/importer/firefox_importer_unittest_utils_mac.cc',
279 'utility/importer/ie_importer_win.cc',
280 'utility/importer/ie_importer_win.h',
281 'utility/importer/importer.cc',
282 'utility/importer/importer.h',
283 'utility/importer/importer_creator.cc',
284 'utility/importer/importer_creator.h',
285 'utility/importer/nss_decryptor.cc',
286 'utility/importer/nss_decryptor.h',
287 'utility/importer/nss_decryptor_mac.h',
288 'utility/importer/nss_decryptor_mac.mm',
289 'utility/importer/nss_decryptor_win.cc',
290 'utility/importer/nss_decryptor_win.h',
291 'utility/importer/safari_importer.h',
292 'utility/importer/safari_importer.mm',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100293 'utility/media_galleries/itunes_pref_parser_win.cc',
294 'utility/media_galleries/itunes_pref_parser_win.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000295 'utility/profile_import_handler.cc',
296 'utility/profile_import_handler.h',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100297 'utility/utility_message_handler.h',
298 'utility/web_resource_unpacker.cc',
299 'utility/web_resource_unpacker.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000300 ],
301 'include_dirs': [
302 '..',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100303 '<(grit_out_dir)',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000304 ],
305 'conditions': [
306 ['toolkit_uses_gtk == 1', {
307 'dependencies': [
308 '../build/linux/system.gyp:gtk',
309 ],
310 }],
Ben Murdocheb525c52013-07-10 11:40:50 +0100311 ['OS=="win" or OS=="mac"', {
312 'sources': [
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100313 'utility/media_galleries/itunes_library_parser.cc',
314 'utility/media_galleries/itunes_library_parser.h',
Ben Murdocheb525c52013-07-10 11:40:50 +0100315 'utility/media_galleries/picasa_album_table_reader.cc',
316 'utility/media_galleries/picasa_album_table_reader.h',
317 'utility/media_galleries/picasa_albums_indexer.cc',
318 'utility/media_galleries/picasa_albums_indexer.h',
319 'utility/media_galleries/pmp_column_reader.cc',
320 'utility/media_galleries/pmp_column_reader.h',
321 ],
322 }],
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100323 ['use_openssl==1', {
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000324 'sources!': [
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100325 'utility/importer/nss_decryptor.cc',
326 ]
327 }],
328 ['OS!="win" and OS!="mac" and use_openssl==0', {
329 'dependencies': [
330 '../crypto/crypto.gyp:crypto',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000331 ],
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100332 'sources': [
333 'utility/importer/nss_decryptor_system_nss.cc',
334 'utility/importer/nss_decryptor_system_nss.h',
335 ],
336 }],
337 ['OS=="android"', {
338 'sources/': [
339 ['exclude', '^utility/importer/'],
340 ['exclude', '^utility/profile_import_handler\.cc'],
341 ],
342 }],
343 ['enable_mdns == 1', {
344 'sources': [
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100345 'utility/local_discovery/service_discovery_client_impl.cc',
346 'utility/local_discovery/service_discovery_client_impl.h',
Ben Murdochca12bfa2013-07-23 11:17:05 +0100347 'utility/local_discovery/service_discovery_message_handler.cc',
348 'utility/local_discovery/service_discovery_message_handler.h',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100349 ]
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000350 }],
351 ],
352 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
353 'msvs_disabled_warnings': [ 4267, ],
354 },
355 {
356 'target_name': 'service',
357 'type': 'static_library',
358 'variables': { 'enable_wexit_time_destructors': 1, },
359 'dependencies': [
360 'chrome_resources.gyp:chrome_strings',
361 'common',
362 'common_net',
363 '../base/base.gyp:base',
364 '../google_apis/google_apis.gyp:google_apis',
365 '../jingle/jingle.gyp:notifier',
366 '../net/net.gyp:net',
367 '../printing/printing.gyp:printing',
368 '../skia/skia.gyp:skia',
369 '../third_party/libjingle/libjingle.gyp:libjingle',
370 ],
371 'sources': [
372 'service/chrome_service_application_mac.h',
373 'service/chrome_service_application_mac.mm',
374 'service/service_ipc_server.cc',
375 'service/service_ipc_server.h',
376 'service/service_main.cc',
377 'service/service_process.cc',
378 'service/service_process.h',
379 'service/service_process_prefs.cc',
380 'service/service_process_prefs.h',
381 'service/service_utility_process_host.cc',
382 'service/service_utility_process_host.h',
383 'service/cloud_print/cloud_print_auth.cc',
384 'service/cloud_print/cloud_print_auth.h',
385 'service/cloud_print/cloud_print_connector.cc',
386 'service/cloud_print/cloud_print_connector.h',
387 'service/cloud_print/cloud_print_helpers.cc',
388 'service/cloud_print/cloud_print_helpers.h',
389 'service/cloud_print/cloud_print_proxy.cc',
390 'service/cloud_print/cloud_print_proxy.h',
391 'service/cloud_print/cloud_print_proxy_backend.cc',
392 'service/cloud_print/cloud_print_proxy_backend.h',
393 'service/cloud_print/cloud_print_token_store.cc',
394 'service/cloud_print/cloud_print_token_store.h',
395 'service/cloud_print/cloud_print_url_fetcher.cc',
396 'service/cloud_print/cloud_print_url_fetcher.h',
397 'service/cloud_print/cloud_print_wipeout.cc',
398 'service/cloud_print/cloud_print_wipeout.h',
399 'service/cloud_print/connector_settings.cc',
400 'service/cloud_print/connector_settings.h',
401 'service/cloud_print/job_status_updater.cc',
402 'service/cloud_print/job_status_updater.h',
403 'service/cloud_print/print_system_dummy.cc',
404 'service/cloud_print/print_system.cc',
405 'service/cloud_print/print_system.h',
406 'service/cloud_print/printer_job_handler.cc',
407 'service/cloud_print/printer_job_handler.h',
408 'service/cloud_print/printer_job_queue_handler.cc',
409 'service/cloud_print/printer_job_queue_handler.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000410 'service/net/service_url_request_context.cc',
411 'service/net/service_url_request_context.h',
412 ],
413 'include_dirs': [
414 '..',
415 ],
416 'conditions': [
417 ['OS=="win"', {
418 'defines': [
419 # CP_PRINT_SYSTEM_AVAILABLE disables default dummy implementation
420 # of cloud print system, and allows to use custom implementaiton.
421 'CP_PRINT_SYSTEM_AVAILABLE',
422 ],
423 'sources': [
424 'service/cloud_print/print_system_win.cc',
425 ],
426 }],
427 ['toolkit_uses_gtk == 1', {
428 'dependencies': [
429 '../build/linux/system.gyp:gtk',
430 ],
431 }],
432 ['use_cups==1', {
433 'dependencies': [
434 '../printing/printing.gyp:cups',
435 ],
436 'defines': [
437 # CP_PRINT_SYSTEM_AVAILABLE disables default dummy implementation
438 # of cloud print system, and allows to use custom implementaiton.
439 'CP_PRINT_SYSTEM_AVAILABLE',
440 ],
441 'sources': [
442 'service/cloud_print/print_system_cups.cc',
443 ],
444 }],
445 ],
446 },
447 {
448 'target_name': 'ipclist',
449 'type': 'executable',
450 'variables': { 'enable_wexit_time_destructors': 1, },
451 'dependencies': [
452 'test_support_common',
453 '../skia/skia.gyp:skia',
454 '../sync/sync.gyp:sync',
455 ],
456 'include_dirs': [
457 '..',
458 ],
459 'sources': [
460 'tools/ipclist/ipclist.cc',
461 ],
462 },
463 ],
464 }], # OS!="ios"
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000465 ['OS=="mac"',
466 { 'targets': [
467 {
468 'target_name': 'helper_app',
469 'type': 'executable',
470 'variables': { 'enable_wexit_time_destructors': 1, },
471 'product_name': '<(mac_product_name) Helper',
472 'mac_bundle': 1,
473 'dependencies': [
474 'chrome_dll',
475 'infoplist_strings_tool',
476 ],
477 'sources': [
478 # chrome_exe_main_mac.cc's main() is the entry point for
479 # the "chrome" (browser app) target. All it does is jump
480 # to chrome_dll's ChromeMain. This is appropriate for
481 # helper processes too, because the logic to discriminate
482 # between process types at run time is actually directed
483 # by the --type command line argument processed by
484 # ChromeMain. Sharing chrome_exe_main_mac.cc with the
485 # browser app will suffice for now.
486 'app/chrome_exe_main_mac.cc',
487 'app/helper-Info.plist',
488 ],
489 # TODO(mark): Come up with a fancier way to do this. It should only
490 # be necessary to list helper-Info.plist once, not the three times it
491 # is listed here.
492 'mac_bundle_resources!': [
493 'app/helper-Info.plist',
494 ],
495 # TODO(mark): For now, don't put any resources into this app. Its
496 # resources directory will be a symbolic link to the browser app's
497 # resources directory.
498 'mac_bundle_resources/': [
499 ['exclude', '.*'],
500 ],
501 'xcode_settings': {
502 'CHROMIUM_BUNDLE_ID': '<(mac_bundle_id)',
503 'CHROMIUM_SHORT_NAME': '<(branding)',
504 'CHROMIUM_STRIP_SAVE_FILE': 'app/app.saves',
505 'INFOPLIST_FILE': 'app/helper-Info.plist',
506 },
507 'postbuilds': [
508 {
509 # The helper doesn't have real localizations, it just has
510 # empty .lproj directories, which is enough to convince Cocoa
511 # that anything running out of the helper .app supports those
512 # languages.
513 'postbuild_name': 'Make Empty Localizations',
514 'variables': {
515 'locale_dirs': [
516 '>!@(<(apply_locales_cmd) -d ZZLOCALE.lproj <(locales))',
517 ],
518 },
519 'action': [
520 'tools/build/mac/make_locale_dirs.sh',
521 '<@(locale_dirs)',
522 ],
523 },
524 {
525 # The framework (chrome_dll) defines its load-time path
526 # (DYLIB_INSTALL_NAME_BASE) relative to the main executable
527 # (chrome). A different relative path needs to be used in
528 # helper_app.
529 'postbuild_name': 'Fix Framework Link',
530 'action': [
531 'install_name_tool',
532 '-change',
533 '@executable_path/../Versions/<(version_full)/<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
534 '@executable_path/../../../<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
535 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
536 ],
537 },
538 {
539 # Modify the Info.plist as needed. The script explains why this
540 # is needed. This is also done in the chrome and chrome_dll
541 # targets. In this case, --breakpad=0, --keystone=0, and --scm=0
542 # are used because Breakpad, Keystone, and SCM keys are
543 # never placed into the helper.
544 'postbuild_name': 'Tweak Info.plist',
545 'action': ['<(tweak_info_plist_path)',
546 '--breakpad=0',
547 '--keystone=0',
548 '--scm=0'],
549 },
550 {
551 # Make sure there isn't any Objective-C in the helper app's
552 # executable.
553 'postbuild_name': 'Verify No Objective-C',
554 'action': [
555 '../build/mac/verify_no_objc.sh',
556 ],
557 },
558 ],
559 'conditions': [
560 ['mac_breakpad==1', {
561 'variables': {
562 # A real .dSYM is needed for dump_syms to operate on.
563 'mac_real_dsym': 1,
564 },
565 'xcode_settings': {
566 # With mac_real_dsym set, strip_from_xcode won't be used.
567 # Specify CHROMIUM_STRIP_SAVE_FILE directly to Xcode.
568 'STRIPFLAGS': '-s $(CHROMIUM_STRIP_SAVE_FILE)',
569 },
570 }],
571 ['asan==1', {
572 'xcode_settings': {
573 # Override the outer definition of CHROMIUM_STRIP_SAVE_FILE.
574 'CHROMIUM_STRIP_SAVE_FILE': 'app/app_asan.saves',
575 },
576 }],
577 ['component=="shared_library"', {
578 'xcode_settings': {
579 'LD_RUNPATH_SEARCH_PATHS': [
580 # Get back from Chromium.app/Contents/Versions/V/
581 # Helper.app/Contents/MacOS
582 '@loader_path/../../../../../../..',
583 ],
584 },
585 }],
586 ],
587 }, # target helper_app
588 {
589 # A library containing the actual code for the app mode app, shared
590 # by unit tests.
591 'target_name': 'app_mode_app_support',
592 'type': 'static_library',
593 'variables': { 'enable_wexit_time_destructors': 1, },
594 'product_name': 'app_mode_app_support',
595 'dependencies': [
596 '../base/base.gyp:base',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000597 'common_constants.gyp:common_constants',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000598 ],
599 'sources': [
600 'common/mac/app_mode_chrome_locator.h',
601 'common/mac/app_mode_chrome_locator.mm',
602 'common/mac/app_mode_common.h',
603 'common/mac/app_mode_common.mm',
604 ],
605 'include_dirs': [
606 '..',
607 ],
608 }, # target app_mode_app_support
609 {
610 # This produces the template for app mode loader bundles. It's a
611 # template in the sense that parts of it need to be "filled in" by
612 # Chrome before it can be executed.
613 'target_name': 'app_mode_app',
614 'type': 'executable',
615 'mac_bundle' : 1,
616 'variables': { 'enable_wexit_time_destructors': 1, },
617 'product_name': 'app_mode_loader',
618 'dependencies': [
619 'app_mode_app_support',
620 'infoplist_strings_tool',
621 ],
622 'sources': [
623 'app/app_mode_loader_mac.mm',
624 'app/app_mode-Info.plist',
625 ],
626 'include_dirs': [
627 '..',
628 ],
629 'link_settings': {
630 'libraries': [
631 '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
632 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
633 ],
634 },
635 'mac_bundle_resources!': [
636 'app/app_mode-Info.plist',
637 ],
638 'mac_bundle_resources/': [
639 ['exclude', '.*'],
640 ],
641 'xcode_settings': {
642 'INFOPLIST_FILE': 'app/app_mode-Info.plist',
643 'APP_MODE_APP_BUNDLE_ID': '<(mac_bundle_id).app.@APP_MODE_SHORTCUT_ID@',
644 },
645 'postbuilds' : [
646 {
647 # Modify the Info.plist as needed. The script explains why this
648 # is needed. This is also done in the chrome and chrome_dll
649 # targets. In this case, --breakpad=0, --keystone=0, and --scm=0
650 # are used because Breakpad, Keystone, and SCM keys are
651 # never placed into the app mode loader.
652 'postbuild_name': 'Tweak Info.plist',
653 'action': ['<(tweak_info_plist_path)',
654 '--breakpad=0',
655 '--keystone=0',
656 '--scm=0'],
657 },
658 ],
659 }, # target app_mode_app
660 {
661 # Convenience target to build a disk image.
662 'target_name': 'build_app_dmg',
663 # Don't place this in the 'all' list; most won't want it.
664 # In GYP, booleans are 0/1, not True/False.
665 'suppress_wildcard': 1,
666 'type': 'none',
667 'dependencies': [
668 'chrome',
669 ],
670 'variables': {
671 'build_app_dmg_script_path': 'tools/build/mac/build_app_dmg',
672 'pkg_dmg_script_path': 'installer/mac/pkg-dmg',
673
674 'conditions': [
675 # This duplicates the output path from build_app_dmg.
676 ['branding=="Chrome"', {
677 'dmg_name': 'GoogleChrome.dmg',
678 }, { # else: branding!="Chrome"
679 'dmg_name': 'Chromium.dmg',
680 }],
681 ],
682 },
683 'actions': [
684 {
685 'inputs': [
686 '<(build_app_dmg_script_path)',
687 '<(pkg_dmg_script_path)',
688 '<(PRODUCT_DIR)/<(mac_product_name).app',
689 ],
690 'outputs': [
691 '<(PRODUCT_DIR)/<(dmg_name)',
692 ],
693 'action_name': 'build_app_dmg',
694 'action': ['<(build_app_dmg_script_path)', '<@(branding)'],
695 },
696 ], # 'actions'
697 },
698 {
699 # Dummy target to allow chrome to require plugin_carbon_interpose to
700 # build without actually linking to the resulting library.
701 'target_name': 'interpose_dependency_shim',
702 'type': 'executable',
703 'variables': { 'enable_wexit_time_destructors': 1, },
704 'dependencies': [
705 'plugin_carbon_interpose',
706 ],
707 # In release, we end up with a strip step that is unhappy if there is
708 # no binary. Rather than check in a new file for this temporary hack,
709 # just generate a source file on the fly.
710 'actions': [
711 {
712 'action_name': 'generate_stub_main',
713 'process_outputs_as_sources': 1,
714 'inputs': [],
715 'outputs': [ '<(INTERMEDIATE_DIR)/dummy_main.c' ],
716 'action': [
717 'bash', '-c',
718 'echo "int main() { return 0; }" > <(INTERMEDIATE_DIR)/dummy_main.c'
719 ],
720 },
721 ],
722 },
723 {
724 # dylib for interposing Carbon calls in the plugin process.
725 'target_name': 'plugin_carbon_interpose',
726 'type': 'shared_library',
727 'variables': { 'enable_wexit_time_destructors': 1, },
728 # This target must not depend on static libraries, else the code in
729 # those libraries would appear twice in plugin processes: Once from
730 # Chromium Framework, and once from this dylib.
731 'dependencies': [
732 'chrome_dll',
733 ],
734 'conditions': [
735 ['component=="shared_library"', {
736 'dependencies': [
737 '../webkit/support/webkit_support.gyp:glue',
738 '../content/content.gyp:content_plugin',
739 ],
740 'xcode_settings': {
741 'LD_RUNPATH_SEARCH_PATHS': [
742 # Get back from Chromium.app/Contents/Versions/V
743 '@loader_path/../../../..',
744 ],
745 },
746 }],
747 ],
748 'sources': [
749 '../content/plugin/plugin_carbon_interpose_mac.cc',
750 ],
751 'include_dirs': [
752 '..',
753 ],
754 'link_settings': {
755 'libraries': [
756 '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
757 ],
758 },
759 'xcode_settings': {
760 'DYLIB_COMPATIBILITY_VERSION': '<(version_mac_dylib)',
761 'DYLIB_CURRENT_VERSION': '<(version_mac_dylib)',
762 'DYLIB_INSTALL_NAME_BASE': '@executable_path/../../..',
763 },
764 'postbuilds': [
765 {
766 # The framework (chrome_dll) defines its load-time path
767 # (DYLIB_INSTALL_NAME_BASE) relative to the main executable
768 # (chrome). A different relative path needs to be used in
769 # plugin_carbon_interpose, which runs in the helper_app.
770 'postbuild_name': 'Fix Framework Link',
771 'action': [
772 'install_name_tool',
773 '-change',
774 '@executable_path/../Versions/<(version_full)/<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
775 '@executable_path/../../../<(mac_product_name) Framework.framework/<(mac_product_name) Framework',
776 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
777 ],
778 },
779 ],
780 },
781 {
782 'target_name': 'infoplist_strings_tool',
783 'type': 'executable',
784 'variables': { 'enable_wexit_time_destructors': 1, },
785 'dependencies': [
786 'chrome_resources.gyp:chrome_strings',
787 '../base/base.gyp:base',
788 '../ui/ui.gyp:ui',
789 ],
790 'include_dirs': [
791 '<(grit_out_dir)',
792 ],
793 'sources': [
794 'tools/mac_helpers/infoplist_strings_util.mm',
795 ],
796 },
797 ], # targets
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000798 }], # OS=="mac"
799 ['OS!="mac" and OS!="ios"', {
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000800 'targets': [
801 {
802 'target_name': 'convert_dict',
803 'type': 'executable',
804 'variables': { 'enable_wexit_time_destructors': 1, },
805 'dependencies': [
806 '../base/base.gyp:base',
807 '../base/base.gyp:base_i18n',
808 'convert_dict_lib',
809 '../third_party/hunspell/hunspell.gyp:hunspell',
810 ],
811 'sources': [
812 'tools/convert_dict/convert_dict.cc',
813 ],
814 },
815 {
816 'target_name': 'convert_dict_lib',
817 'product_name': 'convert_dict',
818 'type': 'static_library',
819 'variables': { 'enable_wexit_time_destructors': 1, },
820 'include_dirs': [
821 '..',
822 ],
823 'dependencies': [
824 '../base/base.gyp:base',
825 ],
826 'sources': [
827 'tools/convert_dict/aff_reader.cc',
828 'tools/convert_dict/aff_reader.h',
829 'tools/convert_dict/dic_reader.cc',
830 'tools/convert_dict/dic_reader.h',
831 'tools/convert_dict/hunspell_reader.cc',
832 'tools/convert_dict/hunspell_reader.h',
833 ],
834 },
835 {
836 'target_name': 'flush_cache',
837 'type': 'executable',
838 'dependencies': [
839 '../base/base.gyp:base',
840 '../base/base.gyp:test_support_base',
841 ],
842 'sources': [
843 'tools/perf/flush_cache/flush_cache.cc',
844 ],
845 },
846 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000847 }], # OS!="mac" and OS!="ios"
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000848 ['OS=="linux"',
849 { 'targets': [
850 {
851 'target_name': 'linux_symbols',
852 'type': 'none',
853 'conditions': [
854 ['linux_dump_symbols==1', {
855 'actions': [
856 {
857 'action_name': 'dump_symbols',
858 'inputs': [
859 '<(DEPTH)/build/linux/dump_app_syms',
860 '<(PRODUCT_DIR)/dump_syms',
861 '<(PRODUCT_DIR)/chrome',
862 ],
863 'outputs': [
864 '<(PRODUCT_DIR)/chrome.breakpad.<(target_arch)',
865 ],
866 'action': ['<(DEPTH)/build/linux/dump_app_syms',
867 '<(PRODUCT_DIR)/dump_syms',
868 '<(linux_strip_binary)',
869 '<(PRODUCT_DIR)/chrome',
870 '<@(_outputs)'],
871 'message': 'Dumping breakpad symbols to <(_outputs)',
872 'process_outputs_as_sources': 1,
873 },
874 ],
875 'dependencies': [
876 'chrome',
877 '../breakpad/breakpad.gyp:dump_syms',
878 ],
879 }],
880 ['linux_strip_reliability_tests==1', {
881 'actions': [
882 {
883 'action_name': 'strip_reliability_tests',
884 'inputs': [
885 '<(PRODUCT_DIR)/automated_ui_tests',
886 '<(PRODUCT_DIR)/reliability_tests',
887 '<(PRODUCT_DIR)/_pyautolib.so',
888 ],
889 'outputs': [
890 '<(PRODUCT_DIR)/strip_reliability_tests.stamp',
891 ],
892 'action': ['strip',
893 '-g',
894 '<@(_inputs)'],
895 'message': 'Stripping reliability tests',
896 },
897 ],
898 'dependencies': [
899 'automated_ui_tests',
900 'reliability_tests',
901 ],
902 }],
903 ],
904 },
905 {
906 'target_name': 'ipcfuzz',
907 'type': 'loadable_module',
908 'include_dirs': [
909 '..',
910 ],
911 'dependencies': [
912 'test_support_common',
913 '../skia/skia.gyp:skia',
914 ],
915 'sources': [
916 'tools/ipclist/ipcfuzz.cc',
917 ],
918 },
919 ],
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +0100920 }], # OS=="linux"
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000921 ['OS=="win"',
922 { 'targets': [
923 {
924 # For historical reasons, chrome/chrome.sln has been the entry point
925 # for new Chrome developers. To assist development, include several
926 # core unittests that are otherwise only accessible side-by-side with
927 # chrome via all/all.sln.
928 'target_name': 'test_targets',
929 'type': 'none',
930 'dependencies': [
931 '../base/base.gyp:base_unittests',
932 '../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
933 '../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
934 '../content/content.gyp:content_browsertests',
935 '../content/content.gyp:content_shell',
936 '../content/content.gyp:content_unittests',
937 '../net/net.gyp:net_unittests',
938 '../ui/ui.gyp:ui_unittests',
939 ],
940 'conditions': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000941 ['use_aura==1 or target_arch=="x64"', {
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000942 'dependencies!': [
943 '../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
944 '../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
945 ],
946 }],
947 ],
948 },
949 {
950 'target_name': 'chrome_version_resources',
951 'type': 'none',
952 'conditions': [
953 ['branding == "Chrome"', {
954 'variables': {
955 'branding_path': 'app/theme/google_chrome/BRANDING',
956 },
957 }, { # else branding!="Chrome"
958 'variables': {
959 'branding_path': 'app/theme/chromium/BRANDING',
960 },
961 }],
962 ],
963 'variables': {
964 'output_dir': 'chrome_version',
965 'template_input_path': 'app/chrome_version.rc.version',
966 },
967 'direct_dependent_settings': {
968 'include_dirs': [
969 '<(SHARED_INTERMEDIATE_DIR)/<(output_dir)',
970 ],
971 },
972 'sources': [
973 'app/app_host_exe.ver',
974 'app/chrome_exe.ver',
975 'app/chrome_dll.ver',
976 'app/nacl64_exe.ver',
977 'app/other.ver',
978 ],
979 'includes': [
980 'version_resource_rules.gypi',
981 ],
982 },
983 {
984 'target_name': 'chrome_version_header',
985 'type': 'none',
986 'hard_dependency': 1,
987 'actions': [
988 {
989 'action_name': 'version_header',
990 'variables': {
991 'lastchange_path':
992 '<(DEPTH)/build/util/LASTCHANGE',
993 },
994 'conditions': [
995 ['branding == "Chrome"', {
996 'variables': {
997 'branding_path': 'app/theme/google_chrome/BRANDING',
998 },
999 }, { # else branding!="Chrome"
1000 'variables': {
1001 'branding_path': 'app/theme/chromium/BRANDING',
1002 },
1003 }],
1004 ],
1005 'inputs': [
1006 '<(version_path)',
1007 '<(branding_path)',
1008 '<(lastchange_path)',
1009 'version.h.in',
1010 ],
1011 'outputs': [
1012 '<(SHARED_INTERMEDIATE_DIR)/version.h',
1013 ],
1014 'action': [
1015 'python',
1016 '<(version_py_path)',
1017 '-f', '<(version_path)',
1018 '-f', '<(branding_path)',
1019 '-f', '<(lastchange_path)',
1020 'version.h.in',
1021 '<@(_outputs)',
1022 ],
1023 'message': 'Generating version header file: <@(_outputs)',
1024 },
1025 ],
1026 },
1027 {
1028 'target_name': 'automation',
1029 'type': 'static_library',
1030 'dependencies': [
1031 'chrome_resources.gyp:theme_resources',
1032 '../skia/skia.gyp:skia',
1033 ],
1034 'include_dirs': [
1035 '..',
1036 ],
1037 'sources': [
1038 'test/automation/automation_handle_tracker.cc',
1039 'test/automation/automation_handle_tracker.h',
1040 'test/automation/automation_json_requests.cc',
1041 'test/automation/automation_json_requests.h',
1042 'test/automation/automation_proxy.cc',
1043 'test/automation/automation_proxy.h',
1044 'test/automation/browser_proxy.cc',
1045 'test/automation/browser_proxy.h',
1046 'test/automation/tab_proxy.cc',
1047 'test/automation/tab_proxy.h',
1048 'test/automation/value_conversion_traits.cc',
1049 'test/automation/value_conversion_traits.h',
1050 'test/automation/value_conversion_util.h',
1051 'test/automation/window_proxy.cc',
1052 'test/automation/window_proxy.h',
1053 ],
1054 },
1055 {
1056 'target_name': 'crash_service',
1057 'type': 'executable',
1058 'dependencies': [
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001059 'installer_util',
1060 '../base/base.gyp:base',
1061 '../breakpad/breakpad.gyp:breakpad_handler',
1062 '../breakpad/breakpad.gyp:breakpad_sender',
1063 '../chrome/common_constants.gyp:common_constants',
1064 ],
1065 'include_dirs': [
1066 '..',
1067 ],
1068 'sources': [
1069 'tools/crash_service/crash_service.cc',
1070 'tools/crash_service/crash_service.h',
1071 'tools/crash_service/main.cc',
1072 ],
1073 'msvs_settings': {
1074 'VCLinkerTool': {
1075 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
1076 },
1077 },
1078 },
1079 {
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001080 'target_name': 'sb_sigutil',
1081 'type': 'executable',
1082 'dependencies': [
1083 '../base/base.gyp:base',
1084 'safe_browsing_proto',
1085 ],
1086 'sources': [
1087 'browser/safe_browsing/signature_util.h',
1088 'browser/safe_browsing/signature_util_win.cc',
1089 'tools/safe_browsing/sb_sigutil.cc',
1090 ],
1091 },
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +01001092 ], # 'targets'
1093 'includes': [
1094 'chrome_process_finder.gypi',
1095 'metro_utils.gypi',
1096 ],
1097 }], # OS=="win"
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001098 ['OS=="win" and target_arch=="ia32"',
1099 { 'targets': [
1100 {
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +01001101 'target_name': 'chrome_user32_delay_imports',
1102 'type': 'none',
1103 'variables': {
1104 'lib_dir': '<(INTERMEDIATE_DIR)',
1105 },
1106 'sources': [
1107 'chrome.user32.delay.imports'
1108 ],
1109 'includes': [
1110 '../build/win/importlibs/create_import_lib.gypi',
1111 ],
1112 'direct_dependent_settings': {
1113 'msvs_settings': {
1114 'VCLinkerTool': {
1115 'AdditionalLibraryDirectories': ['<(lib_dir)', ],
1116 'AdditionalDependencies': ['chrome.user32.delay.lib', ],
1117 },
1118 },
1119 },
1120 },
1121 {
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001122 'target_name': 'crash_service_win64',
1123 'type': 'executable',
1124 'product_name': 'crash_service64',
1125 'dependencies': [
1126 'installer_util_nacl_win64',
1127 '../base/base.gyp:base_static_win64',
1128 '../breakpad/breakpad.gyp:breakpad_handler_win64',
1129 '../breakpad/breakpad.gyp:breakpad_sender_win64',
1130 '../chrome/common_constants.gyp:common_constants_win64',
1131 ],
1132 'include_dirs': [
1133 '..',
1134 ],
1135 'sources': [
1136 'tools/crash_service/crash_service.cc',
1137 'tools/crash_service/crash_service.h',
1138 'tools/crash_service/main.cc',
1139 '../content/public/common/content_switches.cc',
1140 ],
1141 'defines': [
1142 'COMPILE_CONTENT_STATICALLY',
1143 ],
1144 'msvs_settings': {
1145 'VCLinkerTool': {
1146 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
1147 },
1148 },
1149 'configurations': {
1150 'Common_Base': {
1151 'msvs_target_platform': 'x64',
1152 },
1153 },
1154 },
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001155 ]}, # 'targets'
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001156 ], # OS=="win" and target_arch=="ia32"
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001157 ['chromeos==1', {
1158 'includes': [ 'chrome_browser_chromeos.gypi' ],
1159 }], # chromeos==1
1160 ['OS=="android"',
1161 {
1162 'targets': [
1163 {
1164 'target_name': 'chrome_java',
1165 'type': 'none',
1166 'dependencies': [
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +01001167 'chrome_resources.gyp:chrome_strings',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001168 'profile_sync_service_model_type_selection_java',
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +01001169 'resource_id_java',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001170 'toolbar_model_security_levels_java',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001171 '../base/base.gyp:base',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +01001172 '../components/components.gyp:autofill_java',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001173 '../components/components.gyp:navigation_interception_java',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +01001174 '../components/components.gyp:sessions',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001175 '../components/components.gyp:web_contents_delegate_android_java',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001176 '../content/content.gyp:content_java',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001177 '../sync/sync.gyp:sync_java',
1178 '../third_party/guava/guava.gyp:guava_javalib',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001179 '../ui/ui.gyp:ui_java',
1180 ],
1181 'variables': {
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001182 'java_in_dir': '../chrome/android/java',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001183 'has_java_resources': 1,
1184 'R_package': 'org.chromium.chrome',
1185 'R_package_relpath': 'org/chromium/chrome',
1186 'java_strings_grd': 'android_chrome_strings.grd',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +01001187 # Include xml string files generated from generated_resources.grd
1188 'res_extra_dirs': ['<(SHARED_INTERMEDIATE_DIR)/chrome/java/res'],
1189 'res_extra_files': ['<!@pymod_do_main(grit_info <@(grit_defines) --outputs "<(SHARED_INTERMEDIATE_DIR)/chrome" app/generated_resources.grd)'],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001190 },
1191 'includes': [
1192 '../build/java.gypi',
1193 ],
1194 },
1195 ], # 'targets'
1196 'includes': [
1197 'chrome_android.gypi',
1198 ]}, # 'includes'
1199 ], # OS=="android"
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +01001200 ['configuration_policy==1 and OS!="android"', {
1201 'includes': [ 'policy.gypi', ],
1202 }],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001203 ], # 'conditions'
1204}