Roll WebRTC 8613:8622, Libjingle 8611:8616
[chromium-blink-merge.git] / build / gn_migration.gypi
blob273c38efc8384619c63d2006cd2e0f02e010a5a1
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
18 #          will 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
27 #          above contracts.
30   'targets': [
31     {
32       # This target should mirror the structure of //:gn_all
33       # as closely as possible, for ease of comparison.
34       'target_name': 'gn_all',
35       'type': 'none',
36       'dependencies': [
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',
87       ],
88       'conditions': [
89         ['enable_extensions==1 and OS!="mac"', {
90           'dependencies': [
91             '../extensions/shell/app_shell.gyp:app_shell_unittests',
92           ],
93         }],
94         ['OS!="win"', {
95           'dependencies': [
96             '../breakpad/breakpad.gyp:symupload',
97           ],
98         }],
99         ['use_x11==1', {
100           'dependencies': [
101             '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
102           ],
103         }],
104         ['toolkit_views==1', {
105           'dependencies': [
106             '../ui/views/views.gyp:views_unittests',
107           ],
108         }],
109         ['use_aura==1', {
110           'dependencies': [
111             '../ui/wm/wm.gyp:wm_unittests',
112           ],
113         }],
114         ['use_ozone==1', {
115           'dependencies': [
116             '../ui/ozone/ozone.gyp:ozone',
117           ],
118         }],
119         ['OS=="win" or OS=="mac" or chromeos==1', {
120           'dependencies': [
121             '../rlz/rlz.gyp:rlz_lib',
122           ],
123         }],
124         ['OS=="android"', {
125           'dependencies': [
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',
133       
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',
145       
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",
162           ],
163           'dependencies!': [
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',
175             #"//ppapi/examples",
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',
181           ],
182         }],
183         ['OS=="linux"', {
184           'dependencies': [
185             '../sandbox/sandbox.gyp:chrome_sandbox',
186             '../sandbox/sandbox.gyp:sandbox_linux_unittests',
187          ],
188         }],
189         ['OS=="mac"', {
190           'dependencies': [
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.
195             "//cc/blink",
196             "//components/ui/zoom:ui_zoom",
197             "//content",
198             "//content/test:test_support",
199             "//device/battery",
200             "//device/bluetooth",
201             "//device/nfc",
202             "//device/usb",
203             "//device/vibration",
204             "//media/blink",
205             "//pdf",
206             "//storage/browser",
207             "//third_party/brotli",
208             "//third_party/flac",
209             "//third_party/hunspell",
210             "//third_party/iccjpeg",
211             "//third_party/libphonenumber",
212             "//third_party/ots",
213             "//third_party/qcms",
214             "//third_party/smhasher:murmurhash3",
215             "//third_party/speex",
216             "//third_party/webrtc/system_wrappers",
217             "//ui/native_theme",
218             "//ui/snapshot",
219             "//ui/surface",
220           ],
221           'dependencies!': [
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)
237           ],
238         }],
239         ['OS=="win"', {
240           'dependencies': [
241             "//ui/metro_viewer",
242             '../third_party/codesighs/codesighs.gyp:msdump2symdb',
243           ],
244           'dependencies!': [
245             "//crypto:crypto_unittests",  # TODO(GYP)
246             "//net:net_unittests",  # TODO(GYP)
247           ],
248         }],
249       ],
250     },
251     {
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',
255       'type': 'none',
256       'dependencies': [
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',
290       ],
291       'conditions': [
292         ['use_aura==1', {
293           'dependencies': [
294             '../ui/aura/aura.gyp:aura_bench',
295           ],
296         }],
297         ['use_ash==1', {
298           'dependencies': [
299             '../ash/ash.gyp:ash_shell',
300             '../ash/ash.gyp:ash_shell_unittests',
301             '../ash/ash.gyp:ash_unittests',
302           ],
303         }],
304         ['OS=="android"', {
305           'dependencies': [
306             '../breakpad/breakpad.gyp:dump_syms',
307           ],
308         }],
309         ['OS=="linux"', {
310           'dependencies': [
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',
321           ],
322         }],
323         ['OS!="win"', {
324           'dependencies': [
325             '../third_party/codesighs/codesighs.gyp:nm2tsv',
326           ],
327         }],
328         ['OS=="mac"', {
329           'dependencies': [
330             '../breakpad/breakpad.gyp:crash_inspector',
331             '../breakpad/breakpad.gyp:dump_syms',
332             '../breakpad/breakpad.gyp:symupload',
333           ],
334         }],
335         ['OS=="android" or OS=="linux"', {
336           'dependencies': [
337             '../net/net.gyp:disk_cache_memory_test',
338           ],
339         }],
340       ],
341     },
342     {
343       'target_name': 'gyp_remaining',
344       'type': 'none',
345       'dependencies': [
346         ':add_to_gn_all',
347       ],
348       'conditions': [
349         ['OS=="linux"', {
350           'dependencies': [
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:*',
433           ],
434           'conditions': [
435             ['disable_nacl==0 and disable_nacl_untrusted==0', {
436               'dependencies': [
437                 '../components/nacl.gyp:nacl_loader_unittests',
438                 '../mojo/mojo_nacl.gyp:monacl_shell',
439                 '../remoting/remoting.gyp:remoting_key_tester',
440               ]
441             }],
442             ['test_isolation_mode!="noop"', {
443               'dependencies': [
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',
470               ],
471             }],
472           ],
473         }],
474         ['use_aura==1', {
475           'dependencies': [
476             '../ui/aura/aura.gyp:aura_demo',
477             '../ui/aura/aura.gyp:aura_unittests',
478           ],
479         }],
480       ],
481     },
482     {
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',
486       'type': 'none',
487       'dependencies': [
488         'All',
489         'aura_builder',
490         'blink_tests',
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',
498       ],
499     },
500       ]