# 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: //components/metrics
      'target_name': 'metrics',
      'type': 'static_library',
      'include_dirs': [
        '..',
      ],
      'dependencies': [
        '../base/base.gyp:base',
        '../base/base.gyp:base_i18n',
        '../base/base.gyp:base_prefs',
        'component_metrics_proto',
        'compression',
        'variations',
      ],
      'export_dependent_settings': [
        'component_metrics_proto',
      ],
      'sources': [
        'metrics/call_stack_profile_metrics_provider.cc',
        'metrics/call_stack_profile_metrics_provider.h',
        'metrics/clean_exit_beacon.cc',
        'metrics/clean_exit_beacon.h',
        'metrics/client_info.cc',
        'metrics/client_info.h',
        'metrics/cloned_install_detector.cc',
        'metrics/cloned_install_detector.h',
        'metrics/daily_event.cc',
        'metrics/daily_event.h',
        'metrics/drive_metrics_provider.cc',
        'metrics/drive_metrics_provider.h',
        'metrics/drive_metrics_provider_android.cc',
        'metrics/drive_metrics_provider_ios.mm',
        'metrics/drive_metrics_provider_linux.cc',
        'metrics/drive_metrics_provider_mac.mm',
        'metrics/drive_metrics_provider_win.cc',
        'metrics/histogram_encoder.cc',
        'metrics/histogram_encoder.h',
        'metrics/machine_id_provider.h',
        'metrics/machine_id_provider_stub.cc',
        'metrics/machine_id_provider_win.cc',
        'metrics/metrics_log.cc',
        'metrics/metrics_log.h',
        'metrics/metrics_log_manager.cc',
        'metrics/metrics_log_manager.h',
        'metrics/metrics_log_uploader.cc',
        'metrics/metrics_log_uploader.h',
        'metrics/metrics_pref_names.cc',
        'metrics/metrics_pref_names.h',
        'metrics/metrics_provider.cc',
        'metrics/metrics_provider.h',
        'metrics/metrics_reporting_scheduler.cc',
        'metrics/metrics_reporting_scheduler.h',
        'metrics/metrics_service.cc',
        'metrics/metrics_service.h',
        'metrics/metrics_service_accessor.cc',
        'metrics/metrics_service_accessor.h',
        'metrics/metrics_service_client.cc',
        'metrics/metrics_service_client.h',
        'metrics/metrics_state_manager.cc',
        'metrics/metrics_state_manager.h',
        'metrics/metrics_switches.cc',
        'metrics/metrics_switches.h',
        'metrics/persisted_logs.cc',
        'metrics/persisted_logs.h',
        'metrics/stability_metrics_helper.cc',
        'metrics/stability_metrics_helper.h',
        'metrics/system_memory_stats_recorder.h',
        'metrics/system_memory_stats_recorder_linux.cc',
        'metrics/system_memory_stats_recorder_win.cc',
        'metrics/url_constants.cc',
        'metrics/url_constants.h',
      ],
      'conditions': [
        ['chromeos==1', {
          'dependencies': [
            'metrics_serialization',
          ],
        }],
        ['OS == "mac"', {
          'link_settings': {
            'libraries': [
              # The below are all needed for drive_metrics_provider_mac.mm.
              '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
              '$(SDKROOT)/System/Library/Frameworks/DiskArbitration.framework',
              '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
              '$(SDKROOT)/System/Library/Frameworks/IOKit.framework',
            ],
          },
        }],
        ['OS=="win"', {
          'sources!': [
            'metrics/machine_id_provider_stub.cc',
          ],
        }],
      ],
    },
    {
      # GN version: //components/metrics:net
      'target_name': 'metrics_net',
      'type': 'static_library',
      'include_dirs': [
        '..',
      ],
      'dependencies': [
        '../base/base.gyp:base',
        '../net/net.gyp:net',
        '../url/url.gyp:url_lib',
        'component_metrics_proto',
        'data_use_measurement_core',
        'metrics',
        'version_info',
      ],
      'sources': [
        'metrics/net/net_metrics_log_uploader.cc',
        'metrics/net/net_metrics_log_uploader.h',
        'metrics/net/network_metrics_provider.cc',
        'metrics/net/network_metrics_provider.h',
        'metrics/net/version_utils.cc',
        'metrics/net/version_utils.h',
        'metrics/net/wifi_access_point_info_provider.cc',
        'metrics/net/wifi_access_point_info_provider.h',
        'metrics/net/wifi_access_point_info_provider_chromeos.cc',
        'metrics/net/wifi_access_point_info_provider_chromeos.h',
      ],
    },
    {
      # GN version: //components/metrics:ui
      'target_name': 'metrics_ui',
      'type': 'static_library',
      'include_dirs': [
        '..',
      ],
      'dependencies': [
        '../base/base.gyp:base',
        '../ui/gfx/gfx.gyp:gfx',
        'metrics',
      ],
      'sources': [
        'metrics/ui/screen_info_metrics_provider.cc',
        'metrics/ui/screen_info_metrics_provider.h',
      ],
    },
    {
      # Protobuf compiler / generator for UMA (User Metrics Analysis).
      #
      # GN version: //components/metrics/proto:proto
      'target_name': 'component_metrics_proto',
      'type': 'static_library',
      'sources': [
        'metrics/proto/call_stack_profile.proto',
        'metrics/proto/cast_logs.proto',
        'metrics/proto/chrome_user_metrics_extension.proto',
        'metrics/proto/histogram_event.proto',
        'metrics/proto/omnibox_event.proto',
        'metrics/proto/omnibox_input_type.proto',
        'metrics/proto/perf_data.proto',
        'metrics/proto/perf_stat.proto',
        'metrics/proto/profiler_event.proto',
        'metrics/proto/sampled_profile.proto',
        'metrics/proto/system_profile.proto',
        'metrics/proto/user_action_event.proto',
      ],
      'variables': {
        'proto_in_dir': 'metrics/proto',
        'proto_out_dir': 'components/metrics/proto',
      },
      'includes': [ '../build/protoc.gypi' ],
    },
    {
      # TODO(isherman): Remove all //chrome dependencies on this target, and
      # merge the files in this target with components_unittests.
      # GN version: //components/metrics:test_support
      'target_name': 'metrics_test_support',
      'type': 'static_library',
      'include_dirs': [
        '..',
      ],
      'dependencies': [
        'component_metrics_proto',
        'metrics',
      ],
      'export_dependent_settings': [
        'component_metrics_proto',
      ],
      'sources': [
        'metrics/test_metrics_provider.cc',
        'metrics/test_metrics_provider.h',
        'metrics/test_metrics_service_client.cc',
        'metrics/test_metrics_service_client.h',
      ],
    },
    {
      # GN version: //components/metrics:profiler
      'target_name': 'metrics_profiler',
      'type': 'static_library',
      'include_dirs': [
        '..',
      ],
      'dependencies': [
        'component_metrics_proto',
        'metrics',
        'variations',
      ],
      'export_dependent_settings': [
        'component_metrics_proto',
      ],
      'sources': [
        'metrics/profiler/profiler_metrics_provider.cc',
        'metrics/profiler/profiler_metrics_provider.h',
        'metrics/profiler/tracking_synchronizer.cc',
        'metrics/profiler/tracking_synchronizer.h',
        'metrics/profiler/tracking_synchronizer_delegate.h',
        'metrics/profiler/tracking_synchronizer_observer.cc',
        'metrics/profiler/tracking_synchronizer_observer.h',
      ],
    },
  ],
  'conditions': [
    ['OS=="linux"', {
      'targets': [
        {
          'target_name': 'metrics_serialization',
          'type': 'static_library',
          'sources': [
            'metrics/serialization/metric_sample.cc',
            'metrics/serialization/metric_sample.h',
            'metrics/serialization/serialization_utils.cc',
            'metrics/serialization/serialization_utils.h',
          ],
          'dependencies': [
            '../base/base.gyp:base',
          ],
        },
      ],
    }],
    ['OS!="ios"', {
      'targets': [
        {
          # GN version: //components/metrics:gpu
          'target_name': 'metrics_gpu',
          'type': 'static_library',
          'include_dirs': [
            '..',
          ],
          'dependencies': [
            '../base/base.gyp:base',
            '../content/content.gyp:content_browser',
            'component_metrics_proto',
            'metrics',
          ],
          'sources': [
            'metrics/gpu/gpu_metrics_provider.cc',
            'metrics/gpu/gpu_metrics_provider.h',
          ],
        },
        {
          # GN version: //components/metrics:profiler_content
          'target_name': 'metrics_profiler_content',
          'type': 'static_library',
          'include_dirs': [
            '..',
          ],
          'dependencies': [
            '../base/base.gyp:base',
            '../content/content.gyp:content_browser',
            '../content/content.gyp:content_common',
            'metrics_profiler',
          ],
          'sources': [
            'metrics/profiler/content/content_tracking_synchronizer_delegate.cc',
            'metrics/profiler/content/content_tracking_synchronizer_delegate.h',
          ],
        },
      ],
    }, {  # OS==ios
      'targets': [
        {
          # GN version: //components/metrics:profiler_ios
          'target_name': 'metrics_profiler_ios',
          'type': 'static_library',
          'include_dirs': [
            '..',
          ],
          'dependencies': [
            '../base/base.gyp:base',
            'metrics_profiler',
          ],
          'sources': [
            'metrics/profiler/ios/ios_tracking_synchronizer_delegate.cc',
            'metrics/profiler/ios/ios_tracking_synchronizer_delegate.h',
          ],
        },
      ],
    }],
  ],
}
