# Copyright 2014 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.

{
  'targets': [
    {
      # GN version: //chrome/browser/devtools
      'target_name': 'debugger',
      'type': 'static_library',
      'variables': { 'enable_wexit_time_destructors': 1, },
      'dependencies': [
        '../base/base.gyp:base',
        '../content/content.gyp:content_browser',
        '../net/net.gyp:net',
        'browser/devtools/devtools_protocol_constants.gyp:devtools_protocol_constants',
      ],
      'include_dirs': [
        '..',
      ],
      'sources': [
        'browser/devtools/devtools_network_conditions.cc',
        'browser/devtools/devtools_network_conditions.h',
        'browser/devtools/devtools_network_controller.cc',
        'browser/devtools/devtools_network_controller.h',
        'browser/devtools/devtools_network_interceptor.cc',
        'browser/devtools/devtools_network_interceptor.h',
        'browser/devtools/devtools_network_protocol_handler.cc',
        'browser/devtools/devtools_network_protocol_handler.h',
        'browser/devtools/devtools_network_transaction.cc',
        'browser/devtools/devtools_network_transaction.h',
        'browser/devtools/devtools_network_transaction_factory.cc',
        'browser/devtools/devtools_network_transaction_factory.h',
        'browser/devtools/devtools_protocol.cc',
        'browser/devtools/devtools_protocol.h',
        # These files are generated by devtools_protocol_constants_generator.py.
        '<(SHARED_INTERMEDIATE_DIR)/chrome/browser/devtools/devtools_protocol_constants.cc',
        '<(SHARED_INTERMEDIATE_DIR)/chrome/browser/devtools/devtools_protocol_constants.h',
      ],
      'conditions': [
        ['OS!="android"', {
          'dependencies': [
            '../net/net.gyp:http_server',
            '../skia/skia.gyp:skia',
            '../third_party/icu/icu.gyp:icui18n',
            '../third_party/icu/icu.gyp:icuuc',
            '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
            '../third_party/libusb/libusb.gyp:libusb',
            'chrome_resources.gyp:chrome_extra_resources',
            'chrome_resources.gyp:chrome_resources',
            'chrome_resources.gyp:chrome_strings',
            'chrome_resources.gyp:theme_resources',
            'common/extensions/api/api.gyp:chrome_api',
          ],
          'sources': [
            'browser/devtools/device/adb/adb_client_socket.cc',
            'browser/devtools/device/adb/adb_client_socket.h',
            'browser/devtools/device/adb/adb_device_info_query.cc',
            'browser/devtools/device/adb/adb_device_info_query.h',
            'browser/devtools/device/adb/adb_device_provider.cc',
            'browser/devtools/device/adb/adb_device_provider.h',
            'browser/devtools/device/android_device_manager.cc',
            'browser/devtools/device/android_device_manager.h',
            'browser/devtools/device/android_web_socket.cc',
            'browser/devtools/device/devtools_android_bridge.cc',
            'browser/devtools/device/devtools_android_bridge.h',
            'browser/devtools/device/port_forwarding_controller.cc',
            'browser/devtools/device/port_forwarding_controller.h',
            'browser/devtools/device/self_device_provider.cc',
            'browser/devtools/device/self_device_provider.h',
            'browser/devtools/device/usb/android_rsa.cc',
            'browser/devtools/device/usb/android_rsa.h',
            'browser/devtools/device/usb/android_usb_device.cc',
            'browser/devtools/device/usb/android_usb_device.h',
            'browser/devtools/device/usb/android_usb_socket.cc',
            'browser/devtools/device/usb/android_usb_socket.h',
            'browser/devtools/device/usb/usb_device_provider.cc',
            'browser/devtools/device/usb/usb_device_provider.h',
            'browser/devtools/browser_list_tabcontents_provider.cc',
            'browser/devtools/browser_list_tabcontents_provider.h',
            'browser/devtools/chrome_devtools_manager_delegate.cc',
            'browser/devtools/chrome_devtools_manager_delegate.h',
            'browser/devtools/devtools_contents_resizing_strategy.cc',
            'browser/devtools/devtools_contents_resizing_strategy.h',
            'browser/devtools/devtools_embedder_message_dispatcher.cc',
            'browser/devtools/devtools_embedder_message_dispatcher.h',
            'browser/devtools/devtools_file_helper.cc',
            'browser/devtools/devtools_file_helper.h',
            'browser/devtools/devtools_file_system_indexer.cc',
            'browser/devtools/devtools_file_system_indexer.h',
            'browser/devtools/devtools_target_impl.cc',
            'browser/devtools/devtools_target_impl.h',
            'browser/devtools/devtools_targets_ui.cc',
            'browser/devtools/devtools_targets_ui.h',
            'browser/devtools/devtools_toggle_action.cc',
            'browser/devtools/devtools_toggle_action.h',
            'browser/devtools/devtools_ui_bindings.cc',
            'browser/devtools/devtools_ui_bindings.h',
            'browser/devtools/devtools_window.cc',
            'browser/devtools/devtools_window.h',
            'browser/devtools/remote_debugging_server.cc',
            'browser/devtools/remote_debugging_server.h',
          ],
        }], # OS!="android"
        ['debug_devtools==1', {
          'defines': [
            'DEBUG_DEVTOOLS=1',
           ],
        }],
      ],
      # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
      'msvs_disabled_warnings': [ 4267, ],
    },
  ],
}