# Copyright (c) 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This file defines five targets that we are using to track the progress of the
# GYP->GN migration:
#
# 'both_gn_and_gyp' lists what GN is currently capable of building and should
# match the 'both_gn_and_gyp' target in //BUILD.gn.
#
# 'gyp_all' Should include everything built when building "all"; i.e., if you
# type 'ninja gyp_all' and then 'ninja all', the second build should do
# nothing. 'gyp_all' should just depend on the other four targets.
#
# 'gyp_only' lists any targets that are not meant to be ported over to the GN
# build.
#
# 'gyp_remaining' lists all of the targets that still need to be converted,
# i.e., all of the other (non-empty) targets that a GYP build will build.
#
# TODO(GYP): crbug.com/481694. Add a build step to the bot that enforces the
# above contracts.

{
  'targets': [
    {
      'target_name': 'gyp_all',
      'type': 'none',
      'dependencies': [
        'both_gn_and_gyp',
        'gyp_only',
        'gyp_remaining',
      ]
    },
    {
      # This target should mirror the structure of //:both_gn_and_gyp
      # in src/BUILD.gn as closely as possible, for ease of comparison.
      'target_name': 'both_gn_and_gyp',
      'type': 'none',
      'dependencies': [
        '../base/base.gyp:base_i18n_perftests',
        '../base/base.gyp:base_perftests',
        '../base/base.gyp:base_unittests',
        '../base/base.gyp:build_utf8_validator_tables#host',
        '../base/base.gyp:check_example',
        '../cc/cc_tests.gyp:cc_perftests',
        '../cc/cc_tests.gyp:cc_unittests',
        '../cc/blink/cc_blink_tests.gyp:cc_blink_unittests',
        '../chrome/chrome.gyp:chrome',
        '../chrome/chrome.gyp:browser_tests',
        '../chrome/chrome.gyp:chrome_app_unittests',
        '../chrome/chrome.gyp:chromedriver',
        '../chrome/chrome.gyp:chromedriver_tests',
        '../chrome/chrome.gyp:chromedriver_unittests',
        '../chrome/chrome.gyp:interactive_ui_tests',
        '../chrome/chrome.gyp:load_library_perf_tests',
        '../chrome/chrome.gyp:performance_browser_tests',
        '../chrome/chrome.gyp:sync_integration_tests',
        '../chrome/chrome.gyp:sync_performance_tests',
        '../chrome/chrome.gyp:unit_tests',
        '../chrome/tools/profile_reset/jtl_compiler.gyp:jtl_compiler',
        '../cloud_print/cloud_print.gyp:cloud_print_unittests',
        '../components/components.gyp:network_hints_browser',
        '../components/components.gyp:policy_templates',
        '../components/components.gyp:webui_generator',
        '../components/components_tests.gyp:components_browsertests',
        '../components/components_tests.gyp:components_perftests',
        '../components/components_tests.gyp:components_unittests',
        '../content/content.gyp:content_app_browser',
        '../content/content.gyp:content_app_child',
        '../content/content_shell_and_tests.gyp:content_browsertests',
        '../content/content_shell_and_tests.gyp:content_gl_benchmark',
        '../content/content_shell_and_tests.gyp:content_gl_tests',
        '../content/content_shell_and_tests.gyp:content_perftests',
        '../content/content_shell_and_tests.gyp:content_shell',
        '../content/content_shell_and_tests.gyp:content_unittests',
        '../courgette/courgette.gyp:courgette',
        '../courgette/courgette.gyp:courgette_fuzz',
        '../courgette/courgette.gyp:courgette_minimal_tool',
        '../courgette/courgette.gyp:courgette_unittests',
        '../crypto/crypto.gyp:crypto_unittests',
        '../extensions/extensions_tests.gyp:extensions_browsertests',
        '../extensions/extensions_tests.gyp:extensions_unittests',
        '../device/device_tests.gyp:device_unittests',
        '../gin/gin.gyp:gin_v8_snapshot_fingerprint',
        '../gin/gin.gyp:gin_shell',
        '../gin/gin.gyp:gin_unittests',
        '../google_apis/gcm/gcm.gyp:gcm_unit_tests',
        '../google_apis/gcm/gcm.gyp:mcs_probe',
        '../google_apis/google_apis.gyp:google_apis_unittests',
        '../gpu/gpu.gyp:angle_unittests',
        '../gpu/gpu.gyp:gl_tests',
        '../gpu/gpu.gyp:gpu_perftests',
        '../gpu/gpu.gyp:gpu_unittests',
        '../gpu/gles2_conform_support/gles2_conform_support.gyp:gles2_conform_support',  # TODO(GYP) crbug.com/471920
        '../gpu/gles2_conform_support/gles2_conform_test.gyp:gles2_conform_test',  # TODO(GYP) crbug.com/471920
        '../gpu/khronos_glcts_support/khronos_glcts_test.gyp:khronos_glcts_test',  # TODO(GYP) crbug.com/471903 to make this complete.
        '../ipc/ipc.gyp:ipc_perftests',
        '../ipc/ipc.gyp:ipc_tests',
        '../ipc/mojo/ipc_mojo.gyp:ipc_mojo_unittests',
        '../jingle/jingle.gyp:jingle_unittests',
        '../media/media.gyp:ffmpeg_regression_tests',  # TODO(GYP) this should be conditional on media_use_ffmpeg
        '../media/media.gyp:media_perftests',
        '../media/media.gyp:media_unittests',
        '../media/midi/midi.gyp:midi_unittests',
        '../media/cast/cast.gyp:cast_benchmarks',
        '../media/cast/cast.gyp:cast_unittests',
        '../media/cast/cast.gyp:generate_barcode_video',
        '../media/cast/cast.gyp:generate_timecode_audio',
        '../mojo/mojo.gyp:mojo',
        '../mojo/mojo_base.gyp:mojo_application_chromium',
        '../mojo/mojo_base.gyp:mojo_common_unittests',
        '../net/net.gyp:crash_cache',
        '../net/net.gyp:crl_set_dump',
        '../net/net.gyp:dns_fuzz_stub',
        '../net/net.gyp:dump_cache',
        '../net/net.gyp:gdig',
        '../net/net.gyp:get_server_time',
        '../net/net.gyp:hpack_example_generator',
        '../net/net.gyp:hpack_fuzz_mutator',
        '../net/net.gyp:hpack_fuzz_wrapper',
        '../net/net.gyp:net_perftests',
        '../net/net.gyp:net_unittests',
        '../net/net.gyp:net_watcher',  # TODO(GYP): This should be conditional on use_v8_in_net
        '../net/net.gyp:run_testserver',
        '../net/net.gyp:stress_cache',
        '../net/net.gyp:tld_cleanup',
        '../ppapi/ppapi_internal.gyp:ppapi_example_audio',
        '../ppapi/ppapi_internal.gyp:ppapi_example_audio_input',
        '../ppapi/ppapi_internal.gyp:ppapi_example_c_stub',
        '../ppapi/ppapi_internal.gyp:ppapi_example_cc_stub',
        '../ppapi/ppapi_internal.gyp:ppapi_example_compositor',
        '../ppapi/ppapi_internal.gyp:ppapi_example_crxfs',
        '../ppapi/ppapi_internal.gyp:ppapi_example_enumerate_devices',
        '../ppapi/ppapi_internal.gyp:ppapi_example_file_chooser',
        '../ppapi/ppapi_internal.gyp:ppapi_example_flash_topmost',
        '../ppapi/ppapi_internal.gyp:ppapi_example_gamepad',
        '../ppapi/ppapi_internal.gyp:ppapi_example_gles2',
        '../ppapi/ppapi_internal.gyp:ppapi_example_gles2_spinning_cube',
        '../ppapi/ppapi_internal.gyp:ppapi_example_graphics_2d',
        '../ppapi/ppapi_internal.gyp:ppapi_example_ime',
        '../ppapi/ppapi_internal.gyp:ppapi_example_input',
        '../ppapi/ppapi_internal.gyp:ppapi_example_media_stream_audio',
        '../ppapi/ppapi_internal.gyp:ppapi_example_media_stream_video',
        '../ppapi/ppapi_internal.gyp:ppapi_example_mouse_cursor',
        '../ppapi/ppapi_internal.gyp:ppapi_example_mouse_lock',
        '../ppapi/ppapi_internal.gyp:ppapi_example_paint_manager',
        '../ppapi/ppapi_internal.gyp:ppapi_example_post_message',
        '../ppapi/ppapi_internal.gyp:ppapi_example_printing',
        '../ppapi/ppapi_internal.gyp:ppapi_example_scaling',
        '../ppapi/ppapi_internal.gyp:ppapi_example_scroll',
        '../ppapi/ppapi_internal.gyp:ppapi_example_simple_font',
        '../ppapi/ppapi_internal.gyp:ppapi_example_threading',
        '../ppapi/ppapi_internal.gyp:ppapi_example_url_loader',
        '../ppapi/ppapi_internal.gyp:ppapi_example_url_loader_file',
        '../ppapi/ppapi_internal.gyp:ppapi_example_vc',
        '../ppapi/ppapi_internal.gyp:ppapi_example_video_decode',
        '../ppapi/ppapi_internal.gyp:ppapi_example_video_decode_dev',
        '../ppapi/ppapi_internal.gyp:ppapi_example_video_effects',
        '../ppapi/ppapi_internal.gyp:ppapi_example_video_encode',
        '../ppapi/ppapi_internal.gyp:ppapi_tests',
        '../ppapi/ppapi_internal.gyp:ppapi_perftests',
        '../ppapi/ppapi_internal.gyp:ppapi_unittests',
        '../ppapi/tools/ppapi_tools.gyp:pepper_hash_for_uma',
        '../printing/printing.gyp:printing_unittests',
        '../skia/skia_tests.gyp:skia_unittests',
        '../skia/skia.gyp:filter_fuzz_stub',
        '../skia/skia.gyp:image_operations_bench',
        '../sql/sql.gyp:sql_unittests',
        '../sync/sync.gyp:run_sync_testserver',
        '../sync/sync.gyp:sync_endtoend_tests',
        '../sync/sync.gyp:sync_unit_tests',
        '../sync/tools/sync_tools.gyp:sync_client',
        '../sync/tools/sync_tools.gyp:sync_listen_notifications',
        '../testing/gmock.gyp:gmock_main',
        '../third_party/WebKit/public/all.gyp:blink_tests',
        '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
        '../third_party/codesighs/codesighs.gyp:codesighs',
        '../third_party/codesighs/codesighs.gyp:maptsvdifftool',
        '../third_party/leveldatabase/leveldatabase.gyp:env_chromium_unittests',
        '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber_unittests',
        '../third_party/libaddressinput/libaddressinput.gyp:libaddressinput_unittests',
        '../third_party/mojo/mojo_edk_tests.gyp:mojo_system_unittests',
        '../third_party/mojo/mojo_edk_tests.gyp:mojo_public_bindings_unittests',
        '../third_party/mojo/mojo_edk_tests.gyp:mojo_public_environment_unittests',
        '../third_party/mojo/mojo_edk_tests.gyp:mojo_public_system_perftests',
        '../third_party/mojo/mojo_edk_tests.gyp:mojo_public_system_unittests',
        '../third_party/mojo/mojo_edk_tests.gyp:mojo_public_utility_unittests',
        '../third_party/pdfium/samples/samples.gyp:pdfium_diff',
        '../third_party/pdfium/samples/samples.gyp:pdfium_test',
        '../third_party/smhasher/smhasher.gyp:pmurhash',
        '../tools/gn/gn.gyp:gn',
        '../tools/gn/gn.gyp:generate_test_gn_data',
        '../tools/gn/gn.gyp:gn_unittests',
        '../tools/imagediff/image_diff.gyp:image_diff',
        '../tools/perf/clear_system_cache/clear_system_cache.gyp:clear_system_cache',
        '../tools/telemetry/telemetry.gyp:bitmaptools#host',
        '../ui/accessibility/accessibility.gyp:accessibility_unittests',
        '../ui/app_list/app_list.gyp:app_list_unittests',
        '../ui/base/ui_base_tests.gyp:ui_base_unittests',
        '../ui/compositor/compositor.gyp:compositor_unittests',
        '../ui/display/display.gyp:display_unittests',
        '../ui/events/events.gyp:events_unittests',
        '../ui/gfx/gfx_tests.gyp:gfx_unittests',
        '../ui/gl/gl_tests.gyp:gl_unittests',
        '../ui/message_center/message_center.gyp:message_center_unittests',
        '../ui/snapshot/snapshot.gyp:snapshot_unittests',
        '../ui/touch_selection/ui_touch_selection.gyp:ui_touch_selection_unittests',
        '../ui/views/examples/examples.gyp:views_examples_with_content_exe',
        '../url/url.gyp:url_unittests',
        '../v8/tools/gyp/v8.gyp:v8_snapshot',
        '../v8/tools/gyp/v8.gyp:postmortem-metadata',
      ],
      'conditions': [
        ['clang==1', {
          'dependencies': [
            '../build/sanitizers/sanitizers.gyp:llvm-symbolizer',
          ],
        }],
        ['disable_nacl==0 and disable_nacl_untrusted==0', {
          'dependencies': [
            '../components/nacl.gyp:nacl_loader_unittests',
          ]
        }],
        ['enable_extensions==1 and OS!="mac"', {
          'dependencies': [
            '../extensions/shell/app_shell.gyp:app_shell',
            '../extensions/shell/app_shell.gyp:app_shell_unittests',
          ],
        }],
        ['enable_mdns==1', {
          'dependencies': [
            '../chrome/chrome.gyp:service_discovery_sniffer',
          ]
        }],
        ['remoting==1', {
          'dependencies': [
            '../remoting/remoting_all.gyp:remoting_all',
          ],
        }],
        ['remoting==1 and chromeos==0', {
          'dependencies': [
            '../remoting/remoting.gyp:remoting_me2me_host',
            '../remoting/remoting.gyp:remoting_me2me_native_messaging_host',
          ],
        }],
        ['toolkit_views==1', {
          'dependencies': [
            '../ui/app_list/app_list.gyp:app_list_demo',
            '../ui/views/views.gyp:views_unittests',
          ],
        }],
        ['use_ash==1', {
          'dependencies': [
            '../ash/ash.gyp:ash_shell',
            '../ash/ash.gyp:ash_shell_unittests',
            '../ash/ash.gyp:ash_unittests',
          ],
        }],
        ['use_ash==1 or chromeos== 1', {
          'dependencies': [
            '../components/components.gyp:session_manager_component',
          ]
        }],
        ['use_aura==1', {
          'dependencies': [
            '../ui/aura/aura.gyp:aura_bench',
            '../ui/aura/aura.gyp:aura_demo',
            '../ui/aura/aura.gyp:aura_unittests',
            '../ui/keyboard/keyboard.gyp:keyboard_unittests',
            '../ui/wm/wm.gyp:wm_unittests',
          ],
        }],
        ['use_ozone==1', {
          'dependencies': [
            '../ui/ozone/ozone.gyp:ozone',
          ],
        }],


        ['use_x11==1', {
          'dependencies': [
            '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
          ],
          'conditions': [
            ['target_arch!="arm"', {
              'dependencies': [
                '../gpu/tools/tools.gyp:compositor_model_bench',
              ],
            }],
          ],
        }],
        ['OS=="android"', {
          'dependencies': [
            '../base/base.gyp:chromium_android_linker',
            '../breakpad/breakpad.gyp:dump_syms',
            '../build/android/rezip.gyp:rezip_apk_jar',
            '../chrome/chrome.gyp:chrome_shell_apk',
            '../chrome/chrome.gyp:chromedriver_webview_shell_apk',
            #"//clank" TODO(GYP) - conditional somehow?
            '../tools/imagediff/image_diff.gyp:image_diff#host',
            '../tools/telemetry/telemetry.gyp:bitmaptools#host',

            # TODO(GYP): Remove these when the components_unittests work.
            #"//components/history/core/test:test",
            #"//components/policy:policy_component_test_support",
            #"//components/policy:test_support",
            #"//components/rappor:test_support",
            #"//components/signin/core/browser:test_support",
            #"//components/sync_driver:test_support",
            #"//components/user_manager",
            #"//components/wallpaper",

            '../content/content_shell_and_tests.gyp:content_shell_apk',

            # TODO(GYP): Are these needed, or will they be pulled in automatically?
            #"//third_party/android_tools:android_gcm_java",
            #"//third_party/android_tools:uiautomator_java",
            #"//third_party/android_tools:android_support_v13_java",
            #"//third_party/android_tools:android_support_v7_appcompat_java",
            #"//third_party/android_tools:android_support_v7_mediarouter_java",
            #"//third_party/mesa",
            #"//third_party/mockito:mockito_java",
            #"//third_party/openmax_dl/dl",
            #"//third_party/speex",
            #"//ui/android:ui_java",

            # TODO(GYP): Are these needed?
            #"//chrome/test:test_support_unit",
            #"//third_party/smhasher:murmurhash3",
            #"//ui/message_center:test_support",
          ],
          'dependencies!': [
            '../breakpad/breakpad.gyp:symupload',
            '../chrome/chrome.gyp:browser_tests',
            '../chrome/chrome.gyp:chromedriver',
            '../chrome/chrome.gyp:chromedriver_unitests',
            '../chrome/chrome.gyp:interactive_ui_tests',
            '../chrome/chrome.gyp:performance_browser_tests',
            '../chrome/chrome.gyp:sync_integration_tests',
            '../chrome/chrome.gyp:unit_tests',
            '../extensions/extensions_tests.gyp:extensions_browsertests',
            '../extensions/extensions_tests.gyp:extensions_unittests',
            '../google_apis/gcm/gcm.gyp:gcm_unit_tests',
            '../ipc/ipc.gyp:ipc_tests',
            '../jingle/jingle.gyp:jingle_unittests',
            '../net/net.gyp:net_unittests',
            #"//ppapi/examples",
            '../third_party/pdfium/samples/samples.gyp:pdfium_test',
            '../tools/gn/gn.gyp:gn',
            '../tools/gn/gn.gyp:gn_unittests',
            '../tools/imagediff/image_diff.gyp:image_diff',
            '../tools/gn/gn.gyp:gn',
            '../tools/gn/gn.gyp:gn_unittests',
            '../ui/app_list/app_list.gyp:app_list_unittests',
            '../url/url.gyp:url_unittests',
          ],
        }],
        ['OS=="android" or OS=="linux"', {
          'dependencies': [
            '../net/net.gyp:disk_cache_memory_test',
          ],
        }],
        ['chromeos==1', {
          'dependencies': [
            '../chromeos/chromeos.gyp:chromeos_unittests',
            '../ui/chromeos/ui_chromeos.gyp:ui_chromeos_unittests',
          ]
        }],
        ['chromeos==1 or OS=="win" or OS=="mac"', {
          'dependencies': [
            '../rlz/rlz.gyp:rlz_id',
            '../rlz/rlz.gyp:rlz_lib',
            '../rlz/rlz.gyp:rlz_unittests',
          ],
        }],
        ['OS=="android" or OS=="linux" or os_bsd==1', {
          'dependencies': [
            '../breakpad/breakpad.gyp:core-2-minidump',
            '../breakpad/breakpad.gyp:microdump_stackwalk',
            '../breakpad/breakpad.gyp:minidump_dump',
            '../breakpad/breakpad.gyp:minidump_stackwalk',
            '../breakpad/breakpad.gyp:symupload',
            '../third_party/codesighs/codesighs.gyp:nm2tsv',
          ],
        }],
        ['OS=="linux"', {
          'dependencies': [
            '../breakpad/breakpad.gyp:breakpad_unittests',
            '../breakpad/breakpad.gyp:dump_syms#host',
            '../breakpad/breakpad.gyp:generate_test_dump',
            '../breakpad/breakpad.gyp:minidump-2-core',
            '../dbus/dbus.gyp:dbus_test_server',
            '../dbus/dbus.gyp:dbus_unittests',
            '../media/cast/cast.gyp:tap_proxy',
            '../net/net.gyp:disk_cache_memory_test',
            '../net/net.gyp:flip_in_mem_edsm_server',
            '../net/net.gyp:flip_in_mem_edsm_server_unittests',
            '../net/net.gyp:epoll_quic_client',
            '../net/net.gyp:epoll_quic_server',
            '../net/net.gyp:hpack_example_generator',
            '../net/net.gyp:hpack_fuzz_mutator',
            '../net/net.gyp:hpack_fuzz_wrapper',
            '../net/net.gyp:net_perftests',
            '../net/net.gyp:quic_client',
            '../net/net.gyp:quic_server',
            '../sandbox/sandbox.gyp:chrome_sandbox',
            '../sandbox/sandbox.gyp:sandbox_linux_unittests',
            '../sandbox/sandbox.gyp:sandbox_linux_jni_unittests',
            '../third_party/sqlite/sqlite.gyp:sqlite_shell',
         ],
        }],
        ['OS=="mac"', {
          'dependencies': [
            '../breakpad/breakpad.gyp:crash_inspector',
            '../breakpad/breakpad.gyp:dump_syms',
            '../breakpad/breakpad.gyp:symupload',
            '../third_party/apple_sample_code/apple_sample_code.gyp:apple_sample_code',
            '../third_party/molokocacao/molokocacao.gyp:molokocacao',

            # TODO(GYP): remove these when the corresponding root targets work.
            #"//cc/blink",
            #"//components/ui/zoom:ui_zoom",
            #"//content",
            #"//content/test:test_support",
            #"//device/battery",
            #"//device/bluetooth",
            #"//device/nfc",
            #"//device/usb",
            #"//device/vibration",
            #"//media/blink",
            #"//pdf",
            #"//storage/browser",
            #"//third_party/brotli",
            #"//third_party/flac",
            #"//third_party/hunspell",
            #//third_party/iccjpeg",
            #"//third_party/libphonenumber",
            #"//third_party/ots",
            #"//third_party/qcms",
            #"//third_party/smhasher:murmurhash3",
            #"//third_party/speex",
            #"//third_party/webrtc/system_wrappers",
            #"//ui/native_theme",
            #"//ui/snapshot",
            #"//ui/surface",
          ],
          'dependencies!': [
            #"//chrome",  # TODO(GYP)
            #"//chrome/test:browser_tests",  # TODO(GYP)
            #"//chrome/test:interactive_ui_tests",  # TODO(GYP)
            #"//chrome/test:sync_integration_tests",  # TODO(GYP)
            #"//chrome/test:unit_tests",  # TODO(GYP)
            #"//components:components_unittests",  # TODO(GYP)
            #"//content/test:content_browsertests",  # TODO(GYP)
            #"//content/test:content_perftests",  # TODO(GYP)
            #"//content/test:content_unittests",  # TODO(GYP)
            #"//extensions:extensions_browsertests",  # TODO(GYP)
            #"//extensions:extensions_unittests",  # TODO(GYP)
            #"//net:net_unittests",  # TODO(GYP)
            #"//third_party/usrsctp",  # TODO(GYP)
            #"//ui/app_list:app_list_unittests",  # TODO(GYP)
            #"//ui/gfx:gfx_unittests",  # TODO(GYP)
          ],
        }],
        ['OS=="win"', {
          'dependencies': [
            '../base/base.gyp:pe_image_test',
            '../chrome/chrome.gyp:crash_service',
            '../chrome_elf/chrome_elf.gyp:chrome_elf_unittests',
            '../chrome_elf/chrome_elf.gyp:dll_hash_main',
            '../components/components.gyp:wifi_test',
            '../net/net.gyp:quic_client',
            '../net/net.gyp:quic_server',
            '../sandbox/sandbox.gyp:pocdll',
            '../sandbox/sandbox.gyp:sandbox_poc',
            '../sandbox/sandbox.gyp:sbox_integration_tests',
            '../sandbox/sandbox.gyp:sbox_unittests',
            '../sandbox/sandbox.gyp:sbox_validation_tests',
            '../testing/gtest.gyp:gtest_main',
            '../third_party/codesighs/codesighs.gyp:msdump2symdb',
            '../third_party/codesighs/codesighs.gyp:msmap2tsv',
            '../third_party/pdfium/samples/samples.gyp:pdfium_diff',
            '../win8/win8.gyp:metro_viewer',
          ],
        }],
      ],
    },
    {
      'target_name': 'gyp_only',
      'type': 'none',
      'conditions': [
        ['OS=="linux" or OS=="win"', {
          'conditions': [
            ['disable_nacl==0 and disable_nacl_untrusted==0', {
              'dependencies': [
                '../mojo/mojo_nacl.gyp:monacl_shell',  # This should not be built in chromium.
              ]
            }],
          ]
        }],
      ],
    },
    {
      'target_name': 'gyp_remaining',
      'type': 'none',
      'conditions': [
        ['remoting==1', {
          'dependencies': [
            '../remoting/app_remoting_webapp.gyp:ar_sample_app',  # crbug.com/471916
          ],
        }],
        ['test_isolation_mode!="noop"', {
          'dependencies': [
            '../base/base.gyp:base_unittests_run',
            '../cc/cc_tests.gyp:cc_unittests_run',
            '../chrome/chrome.gyp:browser_tests_run',
            '../chrome/chrome.gyp:chrome_run',
            '../chrome/chrome.gyp:interactive_ui_tests_run',
            '../chrome/chrome.gyp:sync_integration_tests_run',
            '../chrome/chrome.gyp:unit_tests_run',
            '../components/components_tests.gyp:components_browsertests_run',
            '../components/components_tests.gyp:components_unittests_run',
            '../content/content_shell_and_tests.gyp:content_browsertests_run',
            '../content/content_shell_and_tests.gyp:content_unittests_run',
            '../crypto/crypto.gyp:crypto_unittests_run',
            '../courgette/courgette.gyp:courgette_unittests_run',
            '../gpu/gpu.gyp:gpu_unittests_run',
            '../media/cast/cast.gyp:cast_unittests_run',
            '../media/media.gyp:media_unittests_run',
            '../media/midi/midi.gyp:midi_unittests_run',
            '../net/net.gyp:net_unittests_run',
            '../sql/sql.gyp:sql_unittests_run',
            '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests_run',
            '../ui/accessibility/accessibility.gyp:accessibility_unittests_run',
            '../ui/app_list/app_list.gyp:app_list_unittests_run',
            '../ui/events/events.gyp:events_unittests_run',
            '../ui/message_center/message_center.gyp:message_center_unittests_run',
            '../ui/touch_selection/ui_touch_selection.gyp:ui_touch_selection_unittests_run',
          ],
        }],
        ['test_isolation_mode!="noop" and use_ash==1', {
          'dependencies': [
            '../ash/ash.gyp:ash_unittests_run',
          ],
        }],
        ['test_isolation_mode!="noop" and OS=="linux"', {
          'dependencies': [
            '../sandbox/sandbox.gyp:sandbox_linux_unittests_run',
          ],
        }],
        ['use_openssl==1', {
          'dependencies': [
            # TODO(GYP): All of these targets still need to be converted.
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_ecdsa_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_bn_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_pqueue_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_digest_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_cipher_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_hkdf_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_constant_time_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_thread_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_base64_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_gcm_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_bytestring_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_evp_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_dsa_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_rsa_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_hmac_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_aead_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_ssl_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_err_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_lhash_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_pbkdf_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_dh_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_pkcs12_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_example_mul',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_ec_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_bio_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_pkcs7_test',
            '../third_party/boringssl/boringssl_tests.gyp:boringssl_unittests',
          ],
        }],
        ['chromeos==1', {
          'dependencies': [
            '../content/content_shell_and_tests.gyp:video_encode_accelerator_unittest',
          ],
        }],
        ['chromeos==1 and target_arch != "arm"', {
          'dependencies': [
            '../content/content_shell_and_tests.gyp:vaapi_jpeg_decoder_unittest',
          ],
        }],
        ['chromeos==1 or OS=="win" or OS=="android"', {
          'dependencies': [
            '../content/content_shell_and_tests.gyp:video_decode_accelerator_unittest',
          ],
        }],
        ['OS=="linux" or OS=="win"', {
          'dependencies': [
            # TODO(GYP): Figure out which of these run on android/mac/win/ios/etc.
            '../net/net.gyp:net_docs',
            '../remoting/app_remoting_test.gyp:ar_sample_test_driver',

            # TODO(GYP): in progress - see tfarina.
            '../third_party/webrtc/tools/tools.gyp:frame_analyzer',
            '../third_party/webrtc/tools/tools.gyp:rgba_to_i420_converter',
          ],
        }],
        ['OS=="win"', {
          'dependencies': [
            # TODO(GYP): All of these targets still need to be converted.
            '../base/base.gyp:debug_message',
            '../chrome/chrome.gyp:app_installer',
            '../chrome/chrome.gyp:app_installer_unittests',
            '../chrome/chrome.gyp:app_shim',
            '../chrome/chrome.gyp:gcapi_dll',
            '../chrome/chrome.gyp:gcapi_test',
            '../chrome/chrome.gyp:installer_util_unittests',
            '../chrome/chrome.gyp:pack_policy_templates',
            '../chrome/chrome.gyp:sb_sigutil',
            '../chrome/chrome.gyp:setup',
            '../chrome/chrome.gyp:setup_unittests',
            '../chrome/installer/mini_installer.gyp:mini_installer',
            '../chrome/tools/crash_service/caps/caps.gyp:caps',
            '../cloud_print/gcp20/prototype/gcp20_device.gyp:gcp20_device',
            '../cloud_print/gcp20/prototype/gcp20_device.gyp:gcp20_device_unittests',
            '../cloud_print/service/service.gyp:cloud_print_service',
            '../cloud_print/service/service.gyp:cloud_print_service_config',
            '../cloud_print/service/service.gyp:cloud_print_service_setup',
            '../cloud_print/virtual_driver/win/install/virtual_driver_install.gyp:virtual_driver_setup',
            '../cloud_print/virtual_driver/win/virtual_driver.gyp:gcp_portmon',
            '../content/content_shell_and_tests.gyp:content_shell_crash_service',
            '../content/content_shell_and_tests.gyp:layout_test_helper',
            '../gpu/gpu.gyp:angle_end2end_tests',
            '../gpu/gpu.gyp:angle_perftests',
            '../net/net.gyp:net_docs',
            '../ppapi/ppapi_internal.gyp:ppapi_perftests',
            '../remoting/app_remoting_test.gyp:ar_sample_test_driver',
            '../remoting/remoting.gyp:remoting_breakpad_tester',
            '../remoting/remoting.gyp:remoting_console',
            '../remoting/remoting.gyp:remoting_desktop',
            '../rlz/rlz.gyp:rlz',
            '../tools/win/static_initializers/static_initializers.gyp:static_initializers',
          ],
        }],
        ['OS=="win" and win_use_allocator_shim==1', {
          'dependencies': [
            '../base/allocator/allocator.gyp:allocator_unittests',
          ]
        }],
        ['OS=="win" and target_arch=="ia32"', {
          'dependencies': [
            # TODO(GYP): All of these targets need to be ported over.
            '../base/base.gyp:base_win64',
            '../base/base.gyp:base_i18n_nacl_win64',
            '../chrome/chrome.gyp:crash_service_win64',
            '../chrome/chrome.gyp:launcher_support64',
            '../components/components.gyp:breakpad_win64',
            '../courgette/courgette.gyp:courgette64',
            '../crypto/crypto.gyp:crypto_nacl_win64',
            '../ipc/ipc.gyp:ipc_win64',
            '../sandbox/sandbox.gyp:sandbox_win64',
            '../cloud_print/virtual_driver/win/virtual_driver64.gyp:gcp_portmon64',
            '../cloud_print/virtual_driver/win/virtual_driver64.gyp:virtual_driver_lib64',
          ],
        }],
        ['OS=="win" and target_arch=="ia32" and configuration_policy==1', {
          'dependencies': [
            # TODO(GYP): All of these targets need to be ported over.
            '../components/components.gyp:policy_win64',
          ]
        }],
      ],
    },
  ]
}

