1 # Copyright (c) 2015 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.
5 # This file defines three targets that we are using to
6 # track the progress of the GYP->GN migration:
8 # If you run 'ninja gn_build gyp_remaining gyp_groups', and then
9 # run 'ninja', the second ninja invocation should do nothing. This
10 # indicates that everything built by a ninja build is in fact
11 # listed in one of these targets.
13 # 'gn_all' lists what GN is currently capable of building and should
14 # match the 'gn_all' target in //BUILD.gn.
16 # 'gyp_remaining' lists all of the targets that still need to be converted,
17 # i.e., all of the other (non-empty) targets that a GYP build
20 # 'gyp_groups' lists any empty (group) targets in the GYP build that
21 # are not picked up by gn_all or gyp_remaining; this is a
22 # separate target to ensure that when we build it, only
23 # stamp targets file are we don't accidentally pick up something
24 # not listed in one of the other two targets.
26 # TODO(GYP), TODO(dpranke) Add a build step to the bot that enforces the
32 # This target should mirror the structure of //:gn_all
33 # as closely as possible, for ease of comparison.
34 'target_name': 'gn_all',
37 '../base/base.gyp:base_unittests',
38 '../cc/cc_tests.gyp:cc_unittests',
39 '../chrome/chrome.gyp:chrome',
40 '../chrome/chrome.gyp:browser_tests',
41 '../chrome/chrome.gyp:interactive_ui_tests',
42 '../chrome/chrome.gyp:sync_integration_tests',
43 '../chrome/chrome.gyp:unit_tests',
44 '../components/components_tests.gyp:components_unittests',
45 '../content/content_shell_and_tests.gyp:content_shell',
46 '../content/content_shell_and_tests.gyp:content_browsertests',
47 '../content/content_shell_and_tests.gyp:content_perftests',
48 '../content/content_shell_and_tests.gyp:content_unittests',
49 '../crypto/crypto.gyp:crypto_unittests',
50 '../extensions/extensions_tests.gyp:extensions_browsertests',
51 '../extensions/extensions_tests.gyp:extensions_unittests',
52 '../google_apis/gcm/gcm.gyp:gcm_unit_tests',
53 '../gpu/gpu.gyp:gpu_unittests',
54 '../ipc/ipc.gyp:ipc_tests',
55 '../ipc/mojo/ipc_mojo.gyp:ipc_mojo_unittests',
56 '../jingle/jingle.gyp:jingle_unittests',
57 '../media/media.gyp:media_unittests',
58 '../media/cast/cast.gyp:cast_unittests',
59 '../mojo/mojo.gyp:mojo',
60 '../mojo/mojo_base.gyp:mojo_common_unittests',
61 '../net/net.gyp:net_unittests',
62 '../printing/printing.gyp:printing_unittests',
63 '../skia/skia_tests.gyp:skia_unittests',
64 '../sql/sql.gyp:sql_unittests',
65 '../sync/sync.gyp:sync_unit_tests',
66 '../third_party/WebKit/public/all.gyp:all_blink',
67 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
68 '../third_party/codesighs/codesighs.gyp:codesighs',
69 '../third_party/mojo/mojo_edk_tests.gyp:mojo_system_unittests',
70 '../third_party/mojo/mojo_edk_tests.gyp:mojo_public_bindings_unittests',
71 '../third_party/mojo/mojo_edk_tests.gyp:mojo_public_environment_unittests',
72 '../third_party/mojo/mojo_edk_tests.gyp:mojo_public_system_unittests',
73 '../third_party/mojo/mojo_edk_tests.gyp:mojo_public_utility_unittests',
74 '../third_party/pdfium/samples/samples.gyp:pdfium_test',
75 '../third_party/smhasher/smhasher.gyp:pmurhash',
76 '../third_party/sqlite/sqlite.gyp:sqlite_shell',
77 '../tools/gn/gn.gyp:gn',
78 '../tools/gn/gn.gyp:gn_unittests',
79 '../ui/accessibility/accessibility.gyp:accessibility_unittests',
80 '../ui/app_list/app_list.gyp:app_list_unittests',
81 '../ui/base/ui_base_tests.gyp:ui_base_unittests',
82 '../ui/display/display.gyp:display_unittests',
83 '../ui/events/events.gyp:events_unittests',
84 '../ui/gfx/gfx_tests.gyp:gfx_unittests',
85 '../ui/touch_selection/ui_touch_selection.gyp:ui_touch_selection_unittests',
86 '../url/url.gyp:url_unittests',
89 ['enable_extensions==1 and OS!="mac"', {
91 '../extensions/shell/app_shell.gyp:app_shell_unittests',
96 '../breakpad/breakpad.gyp:symupload',
101 '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
104 ['toolkit_views==1', {
106 '../ui/views/views.gyp:views_unittests',
111 '../ui/wm/wm.gyp:wm_unittests',
116 '../ui/ozone/ozone.gyp:ozone',
119 ['OS=="win" or OS=="mac" or chromeos==1', {
121 '../rlz/rlz.gyp:rlz_lib',
126 '../base/base.gyp:chromium_android_linker',
127 '../build/android/rezip.gyp:rezip_apk_jar',
128 '../chrome/chrome.gyp:chrome_shell_apk',
129 '../chrome/chrome.gyp:chromedriver_webview_shell_apk',
130 #"//clank" TODO(GYP) - conditional somehow?
131 '../tools/imagediff/imagediff.gyp:imagediff#host',
132 '../tools/telemetry/telemetry.gyp:bitmaptools#host',
134 # TODO(GYP): Remove these when the components_unittests work.
135 #"//components/history/core/test:test",
136 #"//components/policy:policy_component_test_support",
137 #"//components/policy:test_support",
138 #"//components/rappor:test_support",
139 #"//components/signin/core/browser:test_support",
140 #"//components/sync_driver:test_support",
141 #"//components/user_manager",
142 #"//components/wallpaper",
144 '../content/content_shell_and_tests.gyp:content_shell_apk',
146 # TODO(GYP): Are these needed, or will they be pulled in automatically?
147 #"//third_party/android_tools:android_gcm_java",
148 #"//third_party/android_tools:uiautomator_java",
149 #"//third_party/android_tools:android_support_v13_java",
150 #"//third_party/android_tools:android_support_v7_appcompat_java",
151 #"//third_party/android_tools:android_support_v7_mediarouter_java",
152 #"//third_party/mesa",
153 #"//third_party/mockito:mockito_java",
154 #"//third_party/openmax_dl/dl",
155 #"//third_party/speex",
156 #"//ui/android:ui_java",
158 # TODO(GYP): Are these needed?
159 #"//chrome/test:test_support_unit",
160 #"//third_party/smhasher:murmurhash3",
161 #"//ui/message_center:test_support",
164 '../breakpad/breakpad.gyp:symupload',
165 '../chrome/chrome.gyp:browser_tests',
166 '../chrome/chrome.gyp:interactive_ui_tests',
167 '../chrome/chrome.gyp:sync_integration_tests',
168 '../chrome/chrome.gyp:unit_tests',
169 '../extensions/extensions_tests.gyp:extensions_browsertests',
170 '../extensions/extensions_tests.gyp:extensions_unittests',
171 '../google_apis/gcm/gcm.gyp:gcm_unit_tests',
172 '../ipc/ipc.gyp:ipc_tests',
173 '../jingle/jingle.gyp:jingle_unittests',
174 '../net/net.gyp:net_unittests',
176 '../third_party/pdfium/samples/samples.gyp:pdfium_test',
177 '../tools/gn/gn.gyp:gn',
178 '../tools/gn/gn.gyp:gn_unittests',
179 '../ui/app_list/app_list.gyp:app_list_unittests',
180 '../url/url.gyp:url_unittests',
185 '../sandbox/sandbox.gyp:chrome_sandbox',
186 '../sandbox/sandbox.gyp:sandbox_linux_unittests',
191 '../third_party/apple_sample_code/apple_sample_code.gyp:apple_sample_code',
192 '../third_party/molokocacao/molokocacao.gyp:molokocacao',
194 # TODO(GYP): remove these when the corresponding root targets work.
196 "//components/ui/zoom:ui_zoom",
198 "//content/test:test_support",
200 "//device/bluetooth",
203 "//device/vibration",
207 "//third_party/brotli",
208 "//third_party/flac",
209 "//third_party/hunspell",
210 "//third_party/iccjpeg",
211 "//third_party/libphonenumber",
213 "//third_party/qcms",
214 "//third_party/smhasher:murmurhash3",
215 "//third_party/speex",
216 "//third_party/webrtc/system_wrappers",
222 "//chrome", # TODO(GYP)
223 "//chrome/test:browser_tests", # TODO(GYP)
224 "//chrome/test:interactive_ui_tests", # TODO(GYP)
225 "//chrome/test:sync_integration_tests", # TODO(GYP)
226 "//chrome/test:unit_tests", # TODO(GYP)
227 "//components:components_unittests", # TODO(GYP)
228 "//content/test:content_browsertests", # TODO(GYP)
229 "//content/test:content_perftests", # TODO(GYP)
230 "//content/test:content_unittests", # TODO(GYP)
231 "//extensions:extensions_browsertests", # TODO(GYP)
232 "//extensions:extensions_unittests", # TODO(GYP)
233 "//net:net_unittests", # TODO(GYP)
234 "//third_party/usrsctp", # TODO(GYP)
235 "//ui/app_list:app_list_unittests", # TODO(GYP)
236 "//ui/gfx:gfx_unittests", # TODO(GYP)
242 '../third_party/codesighs/codesighs.gyp:msdump2symdb',
245 "//crypto:crypto_unittests", # TODO(GYP)
246 "//net:net_unittests", # TODO(GYP)
252 # This target contains a list of things that actually currently
253 # build in GN, but aren't listed in //:gn_all
254 'target_name': 'add_to_gn_all',
257 '../breakpad/breakpad.gyp:microdump_stackwalk',
258 '../breakpad/breakpad.gyp:minidump_dump',
259 '../breakpad/breakpad.gyp:minidump_stackwalk',
260 '../cc/cc_tests.gyp:cc_perftests',
261 '../cc/blink/cc_blink_tests.gyp:cc_blink_unittests',
262 '../chrome/chrome.gyp:sync_performance_tests',
263 '../chrome/tools/profile_reset/jtl_compiler.gyp:jtl_compiler',
264 '../courgette/courgette.gyp:courgette_minimal_tool',
265 '../courgette/courgette.gyp:courgette_unittests',
266 '../extensions/shell/app_shell.gyp:app_shell',
267 '../gin/gin.gyp:gin_unittests',
268 '../google_apis/google_apis.gyp:google_apis_unittests',
269 '../gpu/gpu.gyp:angle_unittests',
270 '../gpu/gpu.gyp:gpu_perftests',
271 '../ipc/ipc.gyp:ipc_perftests',
272 '../media/media.gyp:ffmpeg_regression_tests', # TODO(GYP) this should be conditional on media_use_ffmpeg
273 '../media/media.gyp:media_perftests',
274 '../net/net.gyp:crash_cache',
275 '../net/net.gyp:crl_set_dump',
276 '../net/net.gyp:dns_fuzz_stub',
277 '../net/net.gyp:dump_cache',
278 '../net/net.gyp:gdig',
279 '../net/net.gyp:get_server_time',
280 '../net/net.gyp:net_watcher', # TODO(GYP): This should be conditional on use_v8_in_net
281 '../net/net.gyp:run_testserver',
282 '../net/net.gyp:stress_cache',
283 '../net/net.gyp:tld_cleanup',
284 '../ppapi/ppapi_internal.gyp:ppapi_tests', # TODO(GYP): Split out the examples and tests
285 '../third_party/codesighs/codesighs.gyp:maptsvdifftool',
286 '../third_party/mojo/mojo_edk_tests.gyp:mojo_public_system_perftests',
287 '../ui/compositor/compositor.gyp:compositor_unittests',
288 '../ui/keyboard/keyboard.gyp:keyboard_unittests',
289 '../ui/snapshot/snapshot.gyp:snapshot_unittests',
294 '../ui/aura/aura.gyp:aura_bench',
299 '../ash/ash.gyp:ash_shell',
300 '../ash/ash.gyp:ash_shell_unittests',
301 '../ash/ash.gyp:ash_unittests',
306 '../breakpad/breakpad.gyp:dump_syms',
311 '../breakpad/breakpad.gyp:breakpad_unittests',
312 '../breakpad/breakpad.gyp:dump_syms',
313 '../breakpad/breakpad.gyp:generate_test_dump',
314 '../breakpad/breakpad.gyp:minidump-2-core',
315 '../net/net.gyp:disk_cache_memory_test',
316 '../net/net.gyp:flip_in_mem_edsm_server',
317 '../net/net.gyp:flip_in_mem_edsm_server_unittests',
318 '../net/net.gyp:quic_client',
319 '../net/net.gyp:quic_server',
320 '../dbus/dbus.gyp:dbus_unittests',
325 '../third_party/codesighs/codesighs.gyp:nm2tsv',
330 '../breakpad/breakpad.gyp:crash_inspector',
331 '../breakpad/breakpad.gyp:dump_syms',
332 '../breakpad/breakpad.gyp:symupload',
335 ['OS=="android" or OS=="linux"', {
337 '../net/net.gyp:disk_cache_memory_test',
343 'target_name': 'gyp_remaining',
351 '../base/base.gyp:base_i18n_perftests',
352 '../base/base.gyp:base_perftests',
353 '../base/base.gyp:build_utf8_validator_tables#host',
354 '../base/base.gyp:check_example',
355 '../base/base.gyp:protect_file_posix',
356 '../breakpad/breakpad.gyp:core-2-minidump',
357 '../build/sanitizers/sanitizers.gyp:llvm-symbolizer',
358 '../chrome/chrome.gyp:chrome_app_unittests',
359 '../chrome/chrome.gyp:chromedriver',
360 '../chrome/chrome.gyp:chromedriver_tests',
361 '../chrome/chrome.gyp:chromedriver_unittests',
362 '../chrome/chrome.gyp:load_library_perf_tests',
363 '../chrome/chrome.gyp:performance_browser_tests',
364 '../chrome/chrome.gyp:service_discovery_sniffer',
365 '../cloud_print/cloud_print.gyp:cloud_print_unittests',
366 '../components/components.gyp:network_hints_browser',
367 '../components/components.gyp:policy_templates',
368 '../components/components.gyp:session_manager_component',
369 '../components/components_tests.gyp:components_browsertests',
370 '../components/components_tests.gyp:components_perftests',
371 '../content/content.gyp:content_app_browser',
372 '../content/content.gyp:content_app_child',
373 '../content/content_shell_and_tests.gyp:content_gl_benchmark',
374 '../content/content_shell_and_tests.gyp:content_gl_tests',
375 '../courgette/courgette.gyp:courgette',
376 '../courgette/courgette.gyp:courgette_fuzz',
377 '../dbus/dbus.gyp:dbus_test_server',
378 '../device/device_tests.gyp:device_unittests',
379 '../gin/gin.gyp:gin_v8_snapshot_fingerprint',
380 '../gin/gin.gyp:gin_shell',
381 '../google_apis/gcm/gcm.gyp:mcs_probe',
382 '../gpu/gpu.gyp:gl_tests',
383 '../gpu/tools/tools.gyp:compositor_model_bench',
384 '../gpu/gles2_conform_support/gles2_conform_support.gyp:gles2_conform_support',
385 '../gpu/gles2_conform_support/gles2_conform_test.gyp:gles2_conform_test',
386 '../gpu/khronos_glcts_support/khronos_glcts_test.gyp:khronos_glcts_test',
387 '../media/cast/cast.gyp:cast_benchmarks',
388 '../media/cast/cast.gyp:generate_barcode_video',
389 '../media/cast/cast.gyp:generate_timecode_audio',
390 '../media/cast/cast.gyp:tap_proxy',
391 '../media/media.gyp:player_x11',
392 '../mojo/mojo_base.gyp:mojo_application_chromium',
393 '../net/net.gyp:hpack_example_generator',
394 '../net/net.gyp:hpack_fuzz_mutator',
395 '../net/net.gyp:hpack_fuzz_wrapper',
396 '../net/net.gyp:net_perftests',
397 '../ppapi/ppapi_internal.gyp:ppapi_unittests',
398 '../ppapi/tools/ppapi_tools.gyp:pepper_hash_for_uma',
399 '../remoting/app_remoting_webapp.gyp:ar_sample_app',
400 '../remoting/remoting.gyp:remoting_host',
401 '../remoting/remoting.gyp:remoting_it2me_native_messaging_host',
402 '../remoting/remoting.gyp:remoting_me2me_host',
403 '../remoting/remoting.gyp:remoting_me2me_native_messaging_host',
404 '../remoting/remoting.gyp:remoting_native_messaging_manifests',
405 '../remoting/remoting.gyp:remoting_perftests',
406 '../remoting/remoting.gyp:remoting_start_host',
407 '../remoting/remoting.gyp:remoting_unittests',
408 '../sandbox/sandbox.gyp:sandbox_linux_jni_unittests',
409 '../skia/skia.gyp:filter_fuzz_stub',
410 '../skia/skia.gyp:image_operations_bench',
411 '../sync/sync.gyp:run_sync_testserver',
412 '../sync/sync.gyp:sync_endtoend_tests',
413 '../sync/tools/sync_tools.gyp:sync_client',
414 '../sync/tools/sync_tools.gyp:sync_listen_notifications',
415 '../testing/gmock.gyp:gmock_main',
416 '../third_party/leveldatabase/leveldatabase.gyp:env_chromium_unittests',
417 '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber_unittests',
418 '../third_party/libaddressinput/libaddressinput.gyp:libaddressinput_unittests',
419 '../third_party/webrtc/tools/tools.gyp:frame_analyzer',
420 '../third_party/webrtc/tools/tools.gyp:rgba_to_i420_converter',
421 '../tools/gn/gn.gyp:generate_test_gn_data',
422 '../tools/perf/clear_system_cache/clear_system_cache.gyp:clear_system_cache',
423 #'../tools/telemetry/telemetry.gyp:bitmaptools', TODO(GYP) should this be #host ?
424 '../ui/app_list/app_list.gyp:app_list_demo',
425 '../ui/compositor/compositor.gyp:compositor_unittests',
426 '../ui/message_center/message_center.gyp:message_center_unittests',
427 '../ui/views/examples/examples.gyp:views_examples_with_content_exe',
428 '../v8/tools/gyp/v8.gyp:v8_snapshot',
429 '../v8/tools/gyp/v8.gyp:postmortem-metadata',
431 # TODO(GYP) - list all of the examples explicitly.
432 '../ppapi/ppapi_internal.gyp:*',
435 ['disable_nacl==0 and disable_nacl_untrusted==0', {
437 '../components/nacl.gyp:nacl_loader_unittests',
438 '../mojo/mojo_nacl.gyp:monacl_shell',
439 '../remoting/remoting.gyp:remoting_key_tester',
442 ['test_isolation_mode!="noop"', {
444 '../ash/ash.gyp:ash_unittests_run',
445 '../base/base.gyp:base_unittests_run',
446 '../cc/cc_tests.gyp:cc_unittests_run',
447 '../chrome/chrome.gyp:browser_tests_run',
448 '../chrome/chrome.gyp:chrome_run',
449 '../chrome/chrome.gyp:interactive_ui_tests_run',
450 '../chrome/chrome.gyp:sync_integration_tests_run',
451 '../chrome/chrome.gyp:unit_tests_run',
452 '../components/components_tests.gyp:components_browsertests_run',
453 '../components/components_tests.gyp:components_unittests_run',
454 '../content/content_shell_and_tests.gyp:content_browsertests_run',
455 '../content/content_shell_and_tests.gyp:content_unittests_run',
456 '../crypto/crypto.gyp:crypto_unittests_run',
457 '../courgette/courgette.gyp:courgette_unittests_run',
458 '../gpu/gpu.gyp:gpu_unittests_run',
459 '../media/cast/cast.gyp:cast_unittests_run',
460 '../media/media.gyp:media_unittests_run',
461 '../net/net.gyp:net_unittests_run',
462 '../sandbox/sandbox.gyp:sandbox_linux_unittests_run',
463 '../sql/sql.gyp:sql_unittests_run',
464 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests_run',
465 '../ui/accessibility/accessibility.gyp:accessibility_unittests_run',
466 '../ui/app_list/app_list.gyp:app_list_unittests_run',
467 '../ui/events/events.gyp:events_unittests_run',
468 '../ui/message_center/message_center.gyp:message_center_unittests_run',
469 '../ui/touch_selection/ui_touch_selection.gyp:ui_touch_selection_unittests_run',
476 '../ui/aura/aura.gyp:aura_demo',
477 '../ui/aura/aura.gyp:aura_unittests',
483 # This target, when built, should cause no actual work
484 # to be done, just update a bunch of stamp files.
485 'target_name': 'gyp_groups',
491 'chromium_builder_asan',
492 'chromium_builder_chromedriver',
493 'chromium_builder_perf',
494 'chromium_builder_tests',
495 'chromium_builder_webrtc',
496 'chromium_gpu_builder',
497 'chromium_gpu_debug_builder',