Save errno for logging before potentially overwriting it.
[chromium-blink-merge.git] / build / all.gyp
blobd37abffe22bb53e28b3aadaa653a8d3ce068853b
1 # 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.
6   'targets': [
7     {
8       'target_name': 'All',
9       'type': 'none',
10       'xcode_create_dependents_test_runner': 1,
11       'dependencies': [
12         'some.gyp:*',
13         '../base/base.gyp:*',
14         '../chrome/chrome.gyp:*',
15         '../content/content.gyp:*',
16         '../crypto/crypto.gyp:*',
17         '../media/media.gyp:*',
18         '../net/net.gyp:*',
19         '../sdch/sdch.gyp:*',
20         '../sql/sql.gyp:*',
21         '../sync/sync.gyp:*',
22         '../testing/gmock.gyp:*',
23         '../testing/gtest.gyp:*',
24         '../third_party/icu/icu.gyp:*',
25         '../third_party/libxml/libxml.gyp:*',
26         '../third_party/sqlite/sqlite.gyp:*',
27         '../third_party/zlib/zlib.gyp:*',
28         '../ui/snapshot/snapshot.gyp:*',
29         '../ui/ui.gyp:*',
30         '../url/url.gyp:*',
31       ],
32       'conditions': [
33         ['OS!="ios"', {
34           'dependencies': [
35             '../cc/cc_tests.gyp:*',
36             '../components/components.gyp:*',
37             '../device/bluetooth/bluetooth.gyp:*',
38             '../device/device.gyp:*',
39             '../device/usb/usb.gyp:*',
40             '../gpu/gpu.gyp:*',
41             '../gpu/tools/tools.gyp:*',
42             '../ipc/ipc.gyp:*',
43             '../jingle/jingle.gyp:*',
44             '../ppapi/ppapi.gyp:*',
45             '../ppapi/ppapi_internal.gyp:*',
46             '../printing/printing.gyp:*',
47             '../skia/skia.gyp:*',
48             '../third_party/cacheinvalidation/cacheinvalidation.gyp:*',
49             '../third_party/cld/cld.gyp:*',
50             '../third_party/codesighs/codesighs.gyp:*',
51             '../third_party/ffmpeg/ffmpeg.gyp:*',
52             '../third_party/iccjpeg/iccjpeg.gyp:*',
53             '../third_party/libpng/libpng.gyp:*',
54             '../third_party/libusb/libusb.gyp:*',
55             '../third_party/libwebp/libwebp.gyp:*',
56             '../third_party/libxslt/libxslt.gyp:*',
57             '../third_party/lzma_sdk/lzma_sdk.gyp:*',
58             '../third_party/mesa/mesa.gyp:*',
59             '../third_party/modp_b64/modp_b64.gyp:*',
60             '../third_party/npapi/npapi.gyp:*',
61             '../third_party/ots/ots.gyp:*',
62             '../third_party/qcms/qcms.gyp:*',
63             '../third_party/re2/re2.gyp:re2',
64             '../third_party/WebKit/public/all.gyp:*',
65             '../v8/tools/gyp/v8.gyp:*',
66             '../webkit/renderer/compositor_bindings/compositor_bindings_tests.gyp:*',
67             '../webkit/support/webkit_support.gyp:*',
68             '<(libjpeg_gyp_path):*',
69           ],
70         }, { #  'OS=="ios"'
71           'dependencies': [
72             '../ios/consumer/ios_consumer.gyp:*',
73           ],
74         }],
75         ['os_posix==1 and OS!="android" and OS!="ios"', {
76           'dependencies': [
77             '../third_party/yasm/yasm.gyp:*#host',
78           ],
79         }],
80         ['OS=="mac" or OS=="ios" or OS=="win"', {
81           'dependencies': [
82             '../third_party/nss/nss.gyp:*',
83            ],
84         }],
85         ['OS=="win" or OS=="ios" or OS=="linux"', {
86           'dependencies': [
87             '../breakpad/breakpad.gyp:*',
88            ],
89         }],
90         ['OS=="mac"', {
91           'dependencies': [
92             '../third_party/ocmock/ocmock.gyp:*',
93           ],
94         }],
95         ['OS=="linux"', {
96           'dependencies': [
97             '../courgette/courgette.gyp:*',
98             '../dbus/dbus.gyp:*',
99             '../sandbox/sandbox.gyp:*',
100           ],
101           'conditions': [
102             ['branding=="Chrome"', {
103               'dependencies': [
104                 '../chrome/chrome.gyp:linux_packages_<(channel)',
105               ],
106             }],
107             ['chromeos==0', {
108               'dependencies': [
109                 '../third_party/cros_dbus_cplusplus/cros_dbus_cplusplus.gyp:*',
110                 '../third_party/libmtp/libmtp.gyp:*',
111                 '../third_party/mtpd/mtpd.gyp:*',
112               ],
113             }],
114           ],
115         }],
116         ['use_x11==1', {
117           'dependencies': [
118             '../tools/xdisplaycheck/xdisplaycheck.gyp:*',
119           ],
120         }],
121         ['toolkit_uses_gtk==1', {
122           'dependencies': [
123             '../tools/gtk_clipboard_dump/gtk_clipboard_dump.gyp:*',
124           ],
125         }],
126         ['OS=="win"', {
127           'conditions': [
128             ['win_use_allocator_shim==1', {
129               'dependencies': [
130                 '../base/allocator/allocator.gyp:*',
131               ],
132             }],
133             # Don't enable dependencies that don't work on Win64.
134             ['target_arch!="x64"', {
135               'dependencies': [
136                 # TODO(jschuh) Enable Win64 Memory Watcher. crbug.com/176877
137                 '../tools/memory_watcher/memory_watcher.gyp:*',
138                 # TODO(jschuh) Enable Win64 Chrome Frame. crbug.com/176875
139                 '../chrome_frame/chrome_frame.gyp:*',
140               ],
141             }],
142           ],
143           'dependencies': [
144             '../cloud_print/cloud_print.gyp:*',
145             '../courgette/courgette.gyp:*',
146             '../rlz/rlz.gyp:*',
147             '../sandbox/sandbox.gyp:*',
148             '<(angle_path)/src/build_angle.gyp:*',
149             '../third_party/bsdiff/bsdiff.gyp:*',
150             '../third_party/bspatch/bspatch.gyp:*',
151             '../third_party/gles2_book/gles2_book.gyp:*',
152           ],
153         }, {
154           'dependencies': [
155             '../third_party/libevent/libevent.gyp:*',
156           ],
157         }],
158         ['toolkit_views==1', {
159           'dependencies': [
160             '../ui/views/controls/webview/webview.gyp:*',
161             '../ui/views/views.gyp:*',
162           ],
163         }],
164         ['use_aura==1', {
165           'dependencies': [
166             '../ui/aura/aura.gyp:*',
167             '../ui/oak/oak.gyp:*',
168           ],
169         }],
170         ['use_ash==1', {
171           'dependencies': [
172             '../ash/ash.gyp:*',
173           ],
174         }],
175         ['remoting==1', {
176           'dependencies': [
177             '../remoting/remoting.gyp:*',
178           ],
179         }],
180         ['use_openssl==0', {
181           'dependencies': [
182             '../net/third_party/nss/ssl.gyp:*',
183           ],
184         }],
185         ['enable_app_list==1', {
186           'dependencies': [
187             '../ui/app_list/app_list.gyp:*',
188           ],
189         }],
190       ],
191     }, # target_name: All
192     {
193       'target_name': 'All_syzygy',
194       'type': 'none',
195       'conditions': [
196         ['OS=="win" and fastbuild==0 and target_arch=="ia32"', {
197             'dependencies': [
198               '../chrome/installer/mini_installer_syzygy.gyp:*',
199             ],
200           },
201         ],
202       ],
203     }, # target_name: All_syzygy
204     {
205       'target_name': 'chromium_builder_tests',
206       'type': 'none',
207       'dependencies': [
208         '../base/base.gyp:base_unittests',
209         '../chrome/chrome.gyp:unit_tests',
210         '../crypto/crypto.gyp:crypto_unittests',
211         '../media/media.gyp:media_unittests',
212         '../net/net.gyp:net_unittests',
213         '../sql/sql.gyp:sql_unittests',
214         '../ui/ui.gyp:ui_unittests',
215         '../url/url.gyp:googleurl_unittests',
216       ],
217       'conditions': [
218         ['OS!="ios"', {
219           'dependencies': [
220             '../cc/cc_tests.gyp:cc_unittests',
221             '../chrome/chrome.gyp:browser_tests',
222             '../chrome/chrome.gyp:chromedriver2_tests',
223             '../chrome/chrome.gyp:chromedriver2_unittests',
224             '../chrome/chrome.gyp:interactive_ui_tests',
225             '../chrome/chrome.gyp:sync_integration_tests',
226             '../cloud_print/cloud_print.gyp:cloud_print_unittests',
227             '../components/components.gyp:components_unittests',
228             '../content/content.gyp:content_browsertests',
229             '../content/content.gyp:content_shell',
230             '../content/content.gyp:content_unittests',
231             '../device/device.gyp:device_unittests',
232             '../gpu/gpu.gyp:gpu_unittests',
233             '../gpu/gles2_conform_support/gles2_conform_support.gyp:gles2_conform_support',
234             '../ipc/ipc.gyp:ipc_tests',
235             '../jingle/jingle.gyp:jingle_unittests',
236             '../ppapi/ppapi_internal.gyp:ppapi_unittests',
237             '../printing/printing.gyp:printing_unittests',
238             '../remoting/remoting.gyp:remoting_unittests',
239             '../sync/sync.gyp:sync_unit_tests',
240             '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
241             '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber_unittests',
242             '../webkit/renderer/compositor_bindings/compositor_bindings_tests.gyp:webkit_compositor_bindings_unittests',
243             '../third_party/WebKit/public/all.gyp:all_blink',
244           ],
245         }],
246         ['OS=="win"', {
247           'dependencies': [
248             '../chrome/chrome.gyp:crash_service',
249             '../chrome/chrome.gyp:installer_util_unittests',
250             '../chrome/chrome.gyp:mini_installer_test',
251             # mini_installer_tests depends on mini_installer. This should be
252             # defined in installer.gyp.
253             '../chrome/installer/mini_installer.gyp:mini_installer',
254             '../chrome_frame/chrome_frame.gyp:npchrome_frame',
255             '../courgette/courgette.gyp:courgette_unittests',
256             '../sandbox/sandbox.gyp:sbox_integration_tests',
257             '../sandbox/sandbox.gyp:sbox_unittests',
258             '../sandbox/sandbox.gyp:sbox_validation_tests',
259             '../third_party/WebKit/Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:copy_TestNetscapePlugIn',
260             '../ui/app_list/app_list.gyp:app_list_unittests',
261             '../ui/views/views.gyp:views_unittests',
262           ],
263           'conditions': [
264             ['target_arch!="x64"', {
265               'dependencies': [
266                 '../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
267                 '../chrome_frame/chrome_frame.gyp:chrome_frame_perftests',
268                 '../chrome_frame/chrome_frame.gyp:chrome_frame_reliability_tests',
269                 '../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
270                 '../chrome_frame/chrome_frame.gyp:chrome_frame_unittests',
271               ]
272             }, { # target_arch!="x64"
273               'dependencies!': [
274                 '../chrome_frame/chrome_frame.gyp:npchrome_frame',
275               ],
276               'defines': [
277                 'OMIT_CHROME_FRAME',
278               ],
279             }], # target_arch=="x64"
280             # remoting_host_installation uses lots of non-trivial GYP that tend
281             # to break because of differences between ninja and msbuild. Make
282             # sure this target is built by the builders on the main waterfall.
283             # See http://crbug.com/180600.
284             ['wix_exists == "True" and sas_dll_exists == "True"', {
285               'dependencies': [
286                 '../remoting/remoting.gyp:remoting_host_installation',
287               ],
288             }],
289           ],
290         }],
291         ['OS=="linux"', {
292           'dependencies': [
293             '../sandbox/sandbox.gyp:sandbox_linux_unittests',
294             '../dbus/dbus.gyp:dbus_unittests',
295           ],
296         }],
297         ['OS=="mac"', {
298           'dependencies': [
299             '../ui/app_list/app_list.gyp:app_list_unittests',
300             '../ui/message_center/message_center.gyp:*',
301           ],
302         }],
303         ['test_isolation_mode != "noop"', {
304           'dependencies': [
305             'chromium_swarm_tests',
306           ],
307         }],
308       ],
309     }, # target_name: chromium_builder_tests
310     {
311       'target_name': 'chromium_2010_builder_tests',
312       'type': 'none',
313       'dependencies': [
314         'chromium_builder_tests',
315       ],
316     }, # target_name: chromium_2010_builder_tests
317   ],
318   'conditions': [
319     ['OS!="ios"', {
320       'targets': [
321         {
322           'target_name': 'all_webkit',
323           'type': 'none',
324           'dependencies': [
325             '../third_party/WebKit/public/all.gyp:all_blink',
326             '../content/content.gyp:content_shell',
327           ],
328         }, # target_name: all_webkit
329         {
330           'target_name': 'chromium_builder_nacl_win_integration',
331           'type': 'none',
332           'dependencies': [
333             'chromium_builder_qa', # needed for pyauto
334             'chromium_builder_tests',
335           ],
336         }, # target_name: chromium_builder_nacl_win_integration
337         {
338           'target_name': 'chromium_builder_perf',
339           'type': 'none',
340           'dependencies': [
341             'chromium_builder_qa', # needed for pyauto
342             '../cc/cc_tests.gyp:cc_perftests',
343             '../chrome/chrome.gyp:performance_browser_tests',
344             '../chrome/chrome.gyp:performance_ui_tests',
345             '../chrome/chrome.gyp:sync_performance_tests',
346           ],
347         }, # target_name: chromium_builder_perf
348         {
349           'target_name': 'chromium_gpu_builder',
350           'type': 'none',
351           'dependencies': [
352             '../chrome/chrome.gyp:gpu_tests',
353             '../chrome/chrome.gyp:performance_browser_tests',
354             '../chrome/chrome.gyp:performance_ui_tests',
355             '../content/content.gyp:content_browsertests',
356             '../content/content.gyp:content_gl_tests',
357             '../gpu/gpu.gyp:gl_tests',
358           ],
359           'conditions': [
360             ['internal_gles2_conform_tests', {
361               'dependencies': [
362                 '../gpu/gles2_conform_test/gles2_conform_test.gyp:gles2_conform_test',
363               ],
364             }], # internal_gles2_conform
365           ],
366         }, # target_name: chromium_gpu_builder
367         {
368           'target_name': 'chromium_gpu_debug_builder',
369           'type': 'none',
370           'dependencies': [
371             '../chrome/chrome.gyp:gpu_tests',
372             '../content/content.gyp:content_browsertests',
373             '../content/content.gyp:content_gl_tests',
374             '../gpu/gpu.gyp:gl_tests',
375           ],
376           'conditions': [
377             ['internal_gles2_conform_tests', {
378               'dependencies': [
379                 '../gpu/gles2_conform_test/gles2_conform_test.gyp:gles2_conform_test',
380               ],
381             }], # internal_gles2_conform
382           ],
383         }, # target_name: chromium_gpu_debug_builder
384         {
385           'target_name': 'chromium_builder_qa',
386           'type': 'none',
387           'dependencies': [
388             '../chrome/chrome.gyp:chrome',
389             # Dependencies of pyauto_functional tests.
390             '../remoting/remoting.gyp:remoting_webapp',
391           ],
392           'conditions': [
393             # If you change this condition, make sure you also change it
394             # in chrome_tests.gypi
395             ['enable_automation==1 and (OS=="mac" or ((OS=="win" or os_posix==1) and target_arch==python_arch))', {
396               'dependencies': [
397                 '../chrome/chrome.gyp:pyautolib',
398               ],
399             }],
400             ['OS=="mac"', {
401               'dependencies': [
402                 '../remoting/remoting.gyp:remoting_me2me_host_archive',
403               ],
404             }],
405             ['OS=="win"', {
406               'dependencies': [
407                 '../chrome/chrome.gyp:crash_service',
408               ],
409             }],
410             ['OS=="win" and target_arch=="ia32"', {
411               'dependencies': [
412                 '../chrome/chrome.gyp:crash_service_win64',
413               ],
414             }],
415             ['OS=="win" and component != "shared_library" and wix_exists == "True" and sas_dll_exists == "True"', {
416               'dependencies': [
417                 '../remoting/remoting.gyp:remoting_host_installation',
418               ],
419             }],
420           ],
421         }, # target_name: chromium_builder_qa
422         {
423           'target_name': 'chromium_builder_perf_av',
424           'type': 'none',
425           'dependencies': [
426             'all_webkit', # to run layout tests
427             'chromium_builder_qa',  # needed for perf pyauto tests
428           ],
429         },  # target_name: chromium_builder_perf_av
430         {
431           # This target contains everything we need to run tests on the special
432           # device-equipped WebRTC bots. We have device-requiring tests in
433           # PyAuto, browser_tests and content_browsertests.
434           'target_name': 'chromium_builder_webrtc',
435           'type': 'none',
436           'dependencies': [
437             'chromium_builder_qa',  # needed for perf pyauto tests
438             '../chrome/chrome.gyp:browser_tests',
439             '../content/content.gyp:content_browsertests',
440             '../content/content.gyp:content_unittests',
441             '../third_party/libjingle/libjingle.gyp:peerconnection_server',
442             '../third_party/webrtc/tools/tools.gyp:frame_analyzer',
443             '../third_party/webrtc/tools/tools.gyp:rgba_to_i420_converter',
444           ],
445           'conditions': [
446             ['OS=="win"', {
447               'dependencies': [
448                 '../chrome/chrome.gyp:crash_service',
449               ],
450             }],
451           ],
452         },  # target_name: chromium_builder_webrtc
453         {
454           'target_name': 'chromium_builder_chromedriver',
455           'type': 'none',
456           'dependencies': [
457             '../chrome/chrome.gyp:chromedriver2',
458             '../chrome/chrome.gyp:chromedriver2_server',
459             '../chrome/chrome.gyp:chromedriver2_tests',
460             '../chrome/chrome.gyp:chromedriver2_unittests',
461           ],
462         },  # target_name: chromium_builder_chromedriver
463       ],  # targets
464     }],
465     ['OS=="mac"', {
466       'targets': [
467         {
468           # Target to build everything plus the dmg.  We don't put the dmg
469           # in the All target because developers really don't need it.
470           'target_name': 'all_and_dmg',
471           'type': 'none',
472           'dependencies': [
473             'All',
474             '../chrome/chrome.gyp:build_app_dmg',
475           ],
476         },
477         # These targets are here so the build bots can use them to build
478         # subsets of a full tree for faster cycle times.
479         {
480           'target_name': 'chromium_builder_dbg',
481           'type': 'none',
482           'dependencies': [
483             '../cc/cc_tests.gyp:cc_unittests',
484             '../chrome/chrome.gyp:browser_tests',
485             '../chrome/chrome.gyp:interactive_ui_tests',
486             '../chrome/chrome.gyp:sync_integration_tests',
487             '../chrome/chrome.gyp:unit_tests',
488             '../cloud_print/cloud_print.gyp:cloud_print_unittests',
489             '../components/components.gyp:components_unittests',
490             '../content/content.gyp:content_browsertests',
491             '../content/content.gyp:content_unittests',
492             '../device/device.gyp:device_unittests',
493             '../gpu/gpu.gyp:gpu_unittests',
494             '../ipc/ipc.gyp:ipc_tests',
495             '../jingle/jingle.gyp:jingle_unittests',
496             '../media/media.gyp:media_unittests',
497             '../ppapi/ppapi_internal.gyp:ppapi_unittests',
498             '../printing/printing.gyp:printing_unittests',
499             '../remoting/remoting.gyp:remoting_unittests',
500             '../rlz/rlz.gyp:*',
501             '../sql/sql.gyp:sql_unittests',
502             '../sync/sync.gyp:sync_unit_tests',
503             '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
504             '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber_unittests',
505             '../ui/ui.gyp:ui_unittests',
506             '../url/url.gyp:googleurl_unittests',
507             '../webkit/renderer/compositor_bindings/compositor_bindings_tests.gyp:webkit_compositor_bindings_unittests',
508           ],
509         },
510         {
511           'target_name': 'chromium_builder_rel',
512           'type': 'none',
513           'dependencies': [
514             '../cc/cc_tests.gyp:cc_unittests',
515             '../chrome/chrome.gyp:browser_tests',
516             '../chrome/chrome.gyp:performance_browser_tests',
517             '../chrome/chrome.gyp:performance_ui_tests',
518             '../chrome/chrome.gyp:sync_integration_tests',
519             '../chrome/chrome.gyp:unit_tests',
520             '../cloud_print/cloud_print.gyp:cloud_print_unittests',
521             '../components/components.gyp:components_unittests',
522             '../content/content.gyp:content_browsertests',
523             '../content/content.gyp:content_unittests',
524             '../device/device.gyp:device_unittests',
525             '../gpu/gpu.gyp:gpu_unittests',
526             '../ipc/ipc.gyp:ipc_tests',
527             '../jingle/jingle.gyp:jingle_unittests',
528             '../media/media.gyp:media_unittests',
529             '../ppapi/ppapi_internal.gyp:ppapi_unittests',
530             '../printing/printing.gyp:printing_unittests',
531             '../remoting/remoting.gyp:remoting_unittests',
532             '../sql/sql.gyp:sql_unittests',
533             '../sync/sync.gyp:sync_unit_tests',
534             '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
535             '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber_unittests',
536             '../ui/ui.gyp:ui_unittests',
537             '../url/url.gyp:googleurl_unittests',
538             '../webkit/renderer/compositor_bindings/compositor_bindings_tests.gyp:webkit_compositor_bindings_unittests',
539           ],
540         },
541         {
542           'target_name': 'chromium_builder_dbg_tsan_mac',
543           'type': 'none',
544           'dependencies': [
545             '../base/base.gyp:base_unittests',
546             '../cloud_print/cloud_print.gyp:cloud_print_unittests',
547             '../crypto/crypto.gyp:crypto_unittests',
548             '../ipc/ipc.gyp:ipc_tests',
549             '../jingle/jingle.gyp:jingle_unittests',
550             '../media/media.gyp:media_unittests',
551             '../net/net.gyp:net_unittests',
552             '../printing/printing.gyp:printing_unittests',
553             '../remoting/remoting.gyp:remoting_unittests',
554             '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
555             '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber_unittests',
556             '../url/url.gyp:googleurl_unittests',
557           ],
558         },
559         {
560           'target_name': 'chromium_builder_asan_mac',
561           'type': 'none',
562           'dependencies': [
563             '../chrome/chrome.gyp:chrome',
564             '../net/net.gyp:dns_fuzz_stub',
565             'all_webkit',
566           ],
567         },
568         {
569           'target_name': 'chromium_builder_dbg_valgrind_mac',
570           'type': 'none',
571           'dependencies': [
572             '../base/base.gyp:base_unittests',
573             '../chrome/chrome.gyp:unit_tests',
574             '../cloud_print/cloud_print.gyp:cloud_print_unittests',
575             '../components/components.gyp:components_unittests',
576             '../content/content.gyp:content_unittests',
577             '../crypto/crypto.gyp:crypto_unittests',
578             '../device/device.gyp:device_unittests',
579             '../ipc/ipc.gyp:ipc_tests',
580             '../jingle/jingle.gyp:jingle_unittests',
581             '../media/media.gyp:media_unittests',
582             '../net/net.gyp:net_unittests',
583             '../printing/printing.gyp:printing_unittests',
584             '../remoting/remoting.gyp:remoting_unittests',
585             '../sql/sql.gyp:sql_unittests',
586             '../sync/sync.gyp:sync_unit_tests',
587             '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
588             '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber_unittests',
589             '../ui/ui.gyp:ui_unittests',
590             '../url/url.gyp:googleurl_unittests',
591           ],
592         },
593       ],  # targets
594     }], # OS="mac"
595     ['OS=="win"', {
596       'targets': [
597         # These targets are here so the build bots can use them to build
598         # subsets of a full tree for faster cycle times.
599         {
600           'target_name': 'chromium_builder',
601           'type': 'none',
602           'dependencies': [
603             '../cc/cc_tests.gyp:cc_unittests',
604             '../chrome/chrome.gyp:browser_tests',
605             '../chrome/chrome.gyp:installer_util_unittests',
606             '../chrome/chrome.gyp:interactive_ui_tests',
607             '../chrome/chrome.gyp:mini_installer_test',
608             '../chrome/chrome.gyp:performance_browser_tests',
609             '../chrome/chrome.gyp:performance_ui_tests',
610             '../chrome/chrome.gyp:sync_integration_tests',
611             '../chrome/chrome.gyp:unit_tests',
612             '../cloud_print/cloud_print.gyp:cloud_print_unittests',
613             '../components/components.gyp:components_unittests',
614             '../content/content.gyp:content_browsertests',
615             '../content/content.gyp:content_unittests',
616             # mini_installer_tests depends on mini_installer. This should be
617             # defined in installer.gyp.
618             '../chrome/installer/mini_installer.gyp:mini_installer',
619             '../chrome_frame/chrome_frame.gyp:npchrome_frame',
620             '../courgette/courgette.gyp:courgette_unittests',
621             '../device/device.gyp:device_unittests',
622             '../gpu/gpu.gyp:gpu_unittests',
623             '../ipc/ipc.gyp:ipc_tests',
624             '../jingle/jingle.gyp:jingle_unittests',
625             '../media/media.gyp:media_unittests',
626             '../ppapi/ppapi_internal.gyp:ppapi_unittests',
627             '../printing/printing.gyp:printing_unittests',
628             '../remoting/remoting.gyp:remoting_unittests',
629             '../sql/sql.gyp:sql_unittests',
630             '../sync/sync.gyp:sync_unit_tests',
631             '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
632             '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber_unittests',
633             '../ui/ui.gyp:ui_unittests',
634             '../ui/views/views.gyp:views_unittests',
635             '../url/url.gyp:googleurl_unittests',
636             '../webkit/renderer/compositor_bindings/compositor_bindings_tests.gyp:webkit_compositor_bindings_unittests',
637             '../third_party/WebKit/Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:copy_TestNetscapePlugIn',
638           ],
639           'conditions': [
640              ['target_arch!="x64"', {
641                'dependencies': [
642                  '../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
643                  '../chrome_frame/chrome_frame.gyp:chrome_frame_perftests',
644                  '../chrome_frame/chrome_frame.gyp:chrome_frame_reliability_tests',
645                  '../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
646                  '../chrome_frame/chrome_frame.gyp:chrome_frame_unittests',
647                ]
648              }, { # target_arch!="x64"
649                'dependencies!': [
650                  '../chrome_frame/chrome_frame.gyp:npchrome_frame',
651                ],
652                'defines': [
653                  'OMIT_CHROME_FRAME',
654                ],
655              }], # target_arch=="x64"
656           ],
657         },
658         {
659           'target_name': 'chromium_builder_win_cf',
660           'type': 'none',
661           'conditions': [
662             ['target_arch!="x64"', {
663               'dependencies': [
664                 '../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
665                 '../chrome_frame/chrome_frame.gyp:chrome_frame_perftests',
666                 '../chrome_frame/chrome_frame.gyp:chrome_frame_reliability_tests',
667                 '../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
668                 '../chrome_frame/chrome_frame.gyp:chrome_frame_unittests',
669                 '../chrome_frame/chrome_frame.gyp:npchrome_frame',
670               ],
671             }], # target_arch!="x64"
672           ],
673         },
674         {
675           'target_name': 'chromium_builder_dbg_tsan_win',
676           'type': 'none',
677           'dependencies': [
678             '../base/base.gyp:base_unittests',
679             '../cloud_print/cloud_print.gyp:cloud_print_unittests',
680             '../components/components.gyp:components_unittests',
681             '../content/content.gyp:content_unittests',
682             '../crypto/crypto.gyp:crypto_unittests',
683             '../ipc/ipc.gyp:ipc_tests',
684             '../jingle/jingle.gyp:jingle_unittests',
685             '../media/media.gyp:media_unittests',
686             '../net/net.gyp:net_unittests',
687             '../printing/printing.gyp:printing_unittests',
688             '../remoting/remoting.gyp:remoting_unittests',
689             '../sql/sql.gyp:sql_unittests',
690             '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
691             '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber_unittests',
692             '../url/url.gyp:googleurl_unittests',
693           ],
694         },
695         {
696           'target_name': 'chromium_builder_dbg_drmemory_win',
697           'type': 'none',
698           'dependencies': [
699             '../base/base.gyp:base_unittests',
700             '../chrome/chrome.gyp:unit_tests',
701             '../cloud_print/cloud_print.gyp:cloud_print_unittests',
702             '../components/components.gyp:components_unittests',
703             '../content/content.gyp:content_unittests',
704             '../crypto/crypto.gyp:crypto_unittests',
705             '../device/device.gyp:device_unittests',
706             '../ipc/ipc.gyp:ipc_tests',
707             '../jingle/jingle.gyp:jingle_unittests',
708             '../media/media.gyp:media_unittests',
709             '../net/net.gyp:net_unittests',
710             '../printing/printing.gyp:printing_unittests',
711             '../remoting/remoting.gyp:remoting_unittests',
712             '../sql/sql.gyp:sql_unittests',
713             '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
714             '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber_unittests',
715             '../url/url.gyp:googleurl_unittests',
716           ],
717         },
718         {
719           'target_name': 'webkit_builder_win',
720           'type': 'none',
721           'dependencies': [
722             'all_webkit',
723           ],
724         },
725       ],  # targets
726       'conditions': [
727         ['branding=="Chrome"', {
728           'targets': [
729             {
730               'target_name': 'chrome_official_builder',
731               'type': 'none',
732               'dependencies': [
733                 '../chrome/chrome.gyp:chromedriver',
734                 '../chrome/chrome.gyp:crash_service',
735                 '../chrome/chrome.gyp:interactive_ui_tests',
736                 '../chrome/chrome.gyp:policy_templates',
737                 '../chrome/chrome.gyp:reliability_tests',
738                 '../chrome/chrome.gyp:automated_ui_tests',
739                 '../chrome/installer/mini_installer.gyp:mini_installer',
740                 '../chrome_frame/chrome_frame.gyp:npchrome_frame',
741                 '../courgette/courgette.gyp:courgette',
742                 '../cloud_print/cloud_print.gyp:cloud_print',
743                 '../remoting/remoting.gyp:remoting_webapp',
744                 '../third_party/widevine/cdm/widevine_cdm.gyp:widevinecdmadapter',
745               ],
746               'conditions': [
747                 # If you change this condition, make sure you also change it
748                 # in chrome_tests.gypi
749                 ['enable_automation==1 and (OS=="mac" or (os_posix==1 and target_arch==python_arch))', {
750                   'dependencies': [
751                     '../chrome/chrome.gyp:pyautolib',
752                   ],
753                 }],
754                 ['internal_pdf', {
755                   'dependencies': [
756                     '../pdf/pdf.gyp:pdf',
757                   ],
758                 }], # internal_pdf
759                 ['target_arch=="ia32"', {
760                   'dependencies': [
761                     '../chrome/chrome.gyp:crash_service_win64',
762                     '../courgette/courgette.gyp:courgette64',
763                   ],
764                 }],
765                 ['component != "shared_library" and wix_exists == "True" and \
766                     sas_dll_exists == "True"', {
767                   'dependencies': [
768                     '../remoting/remoting.gyp:remoting_host_installation',
769                   ],
770                 }], # component != "shared_library"
771                 ['target_arch=="x64"', {
772                   'dependencies!': [
773                     '../chrome_frame/chrome_frame.gyp:npchrome_frame',
774                   ],
775                   'defines': [
776                     'OMIT_CHROME_FRAME',
777                   ],
778                 }], # target_arch=="x64"
779               ]
780             },
781           ], # targets
782         }], # branding=="Chrome"
783        ], # conditions
784     }], # OS="win"
785     ['use_aura==1', {
786       'targets': [
787         {
788           'target_name': 'aura_builder',
789           'type': 'none',
790           'dependencies': [
791             '../cc/cc_tests.gyp:cc_unittests',
792             '../chrome/chrome.gyp:browser_tests',
793             '../chrome/chrome.gyp:chrome',
794             '../chrome/chrome.gyp:interactive_ui_tests',
795             '../chrome/chrome.gyp:unit_tests',
796             '../components/components.gyp:components_unittests',
797             '../content/content.gyp:content_browsertests',
798             '../content/content.gyp:content_unittests',
799             '../device/device.gyp:device_unittests',
800             '../ppapi/ppapi_internal.gyp:ppapi_unittests',
801             '../remoting/remoting.gyp:remoting_unittests',
802             '../ui/app_list/app_list.gyp:*',
803             '../ui/aura/aura.gyp:*',
804             '../ui/compositor/compositor.gyp:*',
805             '../ui/message_center/message_center.gyp:*',
806             '../ui/ui.gyp:ui_unittests',
807             '../ui/snapshot/snapshot.gyp:snapshot_unittests',
808             '../ui/views/views.gyp:views',
809             '../ui/views/views.gyp:views_examples_with_content_exe',
810             '../ui/views/views.gyp:views_unittests',
811             '../ui/keyboard/keyboard.gyp:*',
812             '../webkit/renderer/compositor_bindings/compositor_bindings_tests.gyp:webkit_compositor_bindings_unittests',
813             'all_webkit',
814           ],
815           'conditions': [
816             ['OS=="win"', {
817               'dependencies': [
818                 '../chrome/chrome.gyp:crash_service',
819                 '../chrome_frame/chrome_frame.gyp:npchrome_frame',
820               ],
821             }],
822             ['OS=="win" and target_arch!="x64"', {
823               'dependencies': [
824                 '../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
825                 '../chrome_frame/chrome_frame.gyp:chrome_frame_perftests',
826                 '../chrome_frame/chrome_frame.gyp:chrome_frame_reliability_tests',
827                 '../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
828                 '../chrome_frame/chrome_frame.gyp:chrome_frame_unittests',
829               ],
830             }],
831             ['OS=="win" and target_arch=="x64"', {
832               'dependencies!': [
833                 '../chrome_frame/chrome_frame.gyp:npchrome_frame',
834               ],
835               'defines': [
836                 'OMIT_CHROME_FRAME',
837               ],
838             }],
839             ['OS=="win" and target_arch=="ia32"', {
840               'dependencies': [
841                 '../chrome/chrome.gyp:crash_service_win64',
842               ],
843             }],
844             ['use_ash==1', {
845               'dependencies': [
846                 '../ash/ash.gyp:ash_shell',
847                 '../ash/ash.gyp:ash_unittests',
848               ],
849             }],
850             ['OS=="linux"', {
851               # Tests that currently only work on Linux.
852               'dependencies': [
853                 '../base/base.gyp:base_unittests',
854                 '../ipc/ipc.gyp:ipc_tests',
855                 '../sql/sql.gyp:sql_unittests',
856                 '../sync/sync.gyp:sync_unit_tests',
857               ],
858             }],
859             ['OS=="mac"', {
860               # Exclude dependencies that are not currently implemented.
861               'dependencies!': [
862                 '../chrome/chrome.gyp:chrome',
863                 '../chrome/chrome.gyp:unit_tests',
864                 '../device/device.gyp:device_unittests',
865                 '../ui/views/views.gyp:views_unittests',
866               ],
867             }],
868             ['chromeos==1', {
869               'dependencies': [
870                 '../chromeos/chromeos.gyp:chromeos_unittests',
871               ],
872             }],
873           ],
874         },
875       ],  # targets
876     }], # "use_aura==1"
877     ['test_isolation_mode != "noop"', {
878       'targets': [
879         {
880           'target_name': 'chromium_swarm_tests',
881           'type': 'none',
882           'dependencies': [
883             '../base/base.gyp:base_unittests_run',
884             '../chrome/chrome.gyp:browser_tests_run',
885             '../chrome/chrome.gyp:interactive_ui_tests_run',
886             '../chrome/chrome.gyp:sync_integration_tests_run',
887             '../chrome/chrome.gyp:unit_tests_run',
888             '../net/net.gyp:net_unittests_run',
889           ],
890         }, # target_name: chromium_swarm_tests
891       ],
892     }],
893   ], # conditions