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


{
  'variables' :
  {
     'data_reduction_proxy_core_browser_sources' : [
        # Note: sources list duplicated in GN build.
        "data_reduction_proxy/core/browser/data_reduction_proxy_debug_ui_service.h",
        'data_reduction_proxy/core/browser/data_reduction_proxy_bypass_protocol.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_bypass_protocol.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_bypass_stats.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_bypass_stats.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_config.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_config.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_config_retrieval_params.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_config_retrieval_params.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_config_service_client.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_configurator.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_configurator.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_delegate.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_experiments_stats.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_experiments_stats.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_interceptor.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_interceptor.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_io_data.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_metrics.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_metrics.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_mutable_config_values.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_mutable_config_values.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_network_delegate.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_prefs.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_prefs.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_request_options.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_request_options.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_service.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_service.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_service_observer.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_settings.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_settings.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_tamper_detection.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_tamper_detection.h',
        'data_reduction_proxy/core/browser/data_store.cc',
        'data_reduction_proxy/core/browser/data_store.h',
        'data_reduction_proxy/core/browser/data_usage_store.cc',
        'data_reduction_proxy/core/browser/data_usage_store.h',
        'data_reduction_proxy/core/browser/db_data_owner.cc',
        'data_reduction_proxy/core/browser/db_data_owner.h',
     ],
     'data_reduction_proxy_core_browser_deps' : [
        'data_reduction_proxy_version_header',
        '../base/base.gyp:base',
        '../crypto/crypto.gyp:crypto',
        'pref_registry',
     ],
     'data_reduction_proxy_core_common_sources' : [
        # Note: sources list duplicated in GN build.
        'data_reduction_proxy/core/common/data_reduction_proxy_bypass_action_list.h',
        'data_reduction_proxy/core/common/data_reduction_proxy_bypass_type_list.h',
        'data_reduction_proxy/core/common/data_reduction_proxy_client_config_parser.cc',
        'data_reduction_proxy/core/common/data_reduction_proxy_client_config_parser.h',
        'data_reduction_proxy/core/common/data_reduction_proxy_config_values.h',
        'data_reduction_proxy/core/common/data_reduction_proxy_event_creator.cc',
        'data_reduction_proxy/core/common/data_reduction_proxy_event_creator.h',
        'data_reduction_proxy/core/common/data_reduction_proxy_event_storage_delegate.h',
        'data_reduction_proxy/core/common/data_reduction_proxy_event_store.cc',
        'data_reduction_proxy/core/common/data_reduction_proxy_event_store.h',
        'data_reduction_proxy/core/common/data_reduction_proxy_headers.cc',
        'data_reduction_proxy/core/common/data_reduction_proxy_headers.h',
        'data_reduction_proxy/core/common/data_reduction_proxy_params.cc',
        'data_reduction_proxy/core/common/data_reduction_proxy_params.h',
        'data_reduction_proxy/core/common/data_reduction_proxy_pref_names.cc',
        'data_reduction_proxy/core/common/data_reduction_proxy_pref_names.h',
        'data_reduction_proxy/core/common/data_reduction_proxy_switches.cc',
        'data_reduction_proxy/core/common/data_reduction_proxy_switches.h',
     ],
  },
  'conditions': [
    # Small versions of libraries for Cronet.
    ['OS=="android"', {
      'targets' : [
       {
         # GN version: //components/data_reduction_proxy/core/browser
         'target_name': 'data_reduction_proxy_core_browser_small',
         'type': 'static_library',
         'dependencies': [
           '<@(data_reduction_proxy_core_browser_deps)',
           '../net/net.gyp:net_small',
           '../url/url.gyp:url_lib_use_icu_alternatives_on_android',
           'data_reduction_proxy_core_common_small',
           'data_reduction_proxy_proto',
         ],
         'include_dirs': [
           '..',
         ],
         'sources': [
           '<@(data_reduction_proxy_core_browser_sources)'
         ],
       },
       {
         # GN version: //components/data_reduction_proxy/core/common
         'target_name': 'data_reduction_proxy_core_common_small',
         'type': 'static_library',
         'dependencies': [
           '../base/base.gyp:base',
           '../url/url.gyp:url_lib_use_icu_alternatives_on_android',
           'data_reduction_proxy_proto',
         ],
         'include_dirs': [
           '..',
         ],
         'sources': [
           '<@(data_reduction_proxy_core_common_sources)'
         ],
       },
    ]}]
  ],
  'targets': [
   {
      # GN Version: //components/data_reduction_proxy/content
      'target_name': 'data_reduction_proxy_content',
      'type': 'static_library',
      'dependencies': [
        '../base/base.gyp:base',
        '../content/content.gyp:content_browser',
        '../skia/skia.gyp:skia',
        '../ui/base/ui_base.gyp:ui_base',
        'components_resources.gyp:components_resources',
        'components_strings.gyp:components_strings',
      ],
      'include_dirs': [
        '..',
      ],
      'sources': [
        # Note: sources list duplicated in GN build.
        'data_reduction_proxy/content/browser/content_data_reduction_proxy_debug_ui_service.cc',
        'data_reduction_proxy/content/browser/content_data_reduction_proxy_debug_ui_service.h',
        'data_reduction_proxy/content/browser/data_reduction_proxy_debug_blocking_page.cc',
        'data_reduction_proxy/content/browser/data_reduction_proxy_debug_blocking_page.h',
        'data_reduction_proxy/content/browser/data_reduction_proxy_debug_resource_throttle.cc',
        'data_reduction_proxy/content/browser/data_reduction_proxy_debug_resource_throttle.h',
        'data_reduction_proxy/content/browser/data_reduction_proxy_debug_ui_manager.cc',
        'data_reduction_proxy/content/browser/data_reduction_proxy_debug_ui_manager.h',
      ],
    },
    {
      # GN version: //components/data_reduction_proxy/content/common
      'target_name': 'data_reduction_proxy_content_common',
      'type': 'static_library',
      'dependencies': [
        '../content/content.gyp:content_common',
        '../ipc/ipc.gyp:ipc',
      ],
      'include_dirs': [
        '..',
      ],
      'sources': [
        'data_reduction_proxy/content/common/data_reduction_proxy_messages.cc',
        'data_reduction_proxy/content/common/data_reduction_proxy_messages.h',
      ],
    },
    {
      # GN version: //components/data_reduction_proxy/content/browser
      'target_name': 'data_reduction_proxy_content_browser',
      'type': 'static_library',
      'dependencies': [
        '../content/content.gyp:content_common',
        '../ipc/ipc.gyp:ipc',
        'data_reduction_proxy_content_common',
      ],
      'include_dirs': [
        '..',
      ],
      'sources': [
        'data_reduction_proxy/content/browser/data_reduction_proxy_message_filter.cc',
        'data_reduction_proxy/content/browser/data_reduction_proxy_message_filter.h',
      ],
    },
    {
      # GN version: //components/data_reduction_proxy/core/browser
      'target_name': 'data_reduction_proxy_core_browser',
      'type': 'static_library',
      'conditions': [
        ['OS != "ios"', {
          'defines': [
            'USE_GOOGLE_API_KEYS_FOR_AUTH_KEY' 
          ]
        }],
      ],
      'defines': [
        'USE_GOOGLE_API_KEYS'
      ],
      'dependencies': [
        '<@(data_reduction_proxy_core_browser_deps)',
        '../google_apis/google_apis.gyp:google_apis',
        '../net/net.gyp:net',
        '../url/url.gyp:url_lib',
        'data_reduction_proxy_core_common',
        'data_reduction_proxy_proto',
        '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
      ],
      'export_dependent_settings': [
        'data_reduction_proxy_proto',
      ],
      'include_dirs': [
        '..',
      ],
      'sources': [
        '<@(data_reduction_proxy_core_browser_sources)',
        'data_reduction_proxy/core/browser/data_store_impl.cc',
        'data_reduction_proxy/core/browser/data_store_impl.h',
      ],
    },
    {
      # GN version: //components/data_reduction_proxy/core/common
      'target_name': 'data_reduction_proxy_core_common',
      'type': 'static_library',
      'dependencies': [
        '../base/base.gyp:base',
        '../url/url.gyp:url_lib',
        'data_reduction_proxy_proto',
      ],
      'include_dirs': [
        '..',
      ],
      'sources': [
        '<@(data_reduction_proxy_core_common_sources)'
      ],
    },
    {
      # GN version: //components/data_reduction_proxy/core/browser:test_support
      'target_name': 'data_reduction_proxy_test_support',
      'type': 'static_library',
      'dependencies' : [
        '../base/base.gyp:base',
        '../net/net.gyp:net',
        '../net/net.gyp:net_test_support',
        '../testing/gmock.gyp:gmock',
        '../testing/gtest.gyp:gtest',
        'data_reduction_proxy_content',
        'data_reduction_proxy_core_browser',
        'data_reduction_proxy_core_common',
        'data_reduction_proxy_proto',
      ],
      'include_dirs': [
        '..',
      ],
      'sources': [
        # Note: sources list duplicated in GN build.
        'data_reduction_proxy/core/browser/data_reduction_proxy_config_test_utils.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_config_test_utils.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_configurator_test_utils.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_configurator_test_utils.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_settings_test_utils.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_settings_test_utils.h',
        'data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.cc',
        'data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.h',
        'data_reduction_proxy/core/common/data_reduction_proxy_event_storage_delegate_test_utils.cc',
        'data_reduction_proxy/core/common/data_reduction_proxy_event_storage_delegate_test_utils.h',
        'data_reduction_proxy/core/common/data_reduction_proxy_headers_test_utils.cc',
        'data_reduction_proxy/core/common/data_reduction_proxy_headers_test_utils.h',
        'data_reduction_proxy/core/common/data_reduction_proxy_params_test_utils.cc',
        'data_reduction_proxy/core/common/data_reduction_proxy_params_test_utils.h',
      ],
      # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
      'msvs_disabled_warnings': [4267, ],
    },
    {
      # GN version: //components/data_reduction_proxy/proto
      'target_name': 'data_reduction_proxy_proto',
      'type': 'static_library',
      'dependencies': [
      ],
      'include_dirs': [
      ],
      'sources': [
        # Note: sources list duplicated in GN build.
        'data_reduction_proxy/proto/client_config.proto',
        'data_reduction_proxy/proto/data_store.proto',
      ],
      'variables': {
        'proto_in_dir': 'data_reduction_proxy/proto',
        'proto_out_dir': 'components/data_reduction_proxy/proto',
      },
      'includes': [ '../build/protoc.gypi' ],
    },
    {
      'target_name': 'data_reduction_proxy_version_header',
      'type': 'none',
      'direct_dependent_settings': {
        'include_dirs': [
          '<(SHARED_INTERMEDIATE_DIR)',
        ],
      },
      'actions': [
        {
          'action_name': 'version_header',
          'message': 'Generating version header file: <@(_outputs)',
          'inputs': [
            '<(version_path)',
            'data_reduction_proxy/core/common/version.h.in',
          ],
          'outputs': [
            '<(SHARED_INTERMEDIATE_DIR)/components/data_reduction_proxy/core/common/version.h',
          ],
          'action': [
            'python',
            '<(version_py_path)',
            '-e', 'VERSION_FULL="<(version_full)"',
            'data_reduction_proxy/core/common/version.h.in',
            '<@(_outputs)',
          ],
          'includes': [
            '../build/util/version.gypi',
          ],
        },
      ],
    },
  ],
}
