# 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',
        '../third_party/zlib/google/zip.gyp:compression_utils',
        'component_metrics_proto',
        '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',
          ],
        },
      ],
    }],
    ['chromeos==1', {
      'targets': [
        {
          # GN version: //components/metrics:leak_detector
          'target_name': 'metrics_leak_detector',
          'type': 'static_library',
          'dependencies': [
            '../base/base.gyp:base',
          ],
          'sources': [
            'metrics/leak_detector/call_stack_manager.cc',
            'metrics/leak_detector/call_stack_manager.h',
            'metrics/leak_detector/call_stack_table.cc',
            'metrics/leak_detector/call_stack_table.h',
            'metrics/leak_detector/custom_allocator.cc',
            'metrics/leak_detector/custom_allocator.h',
            'metrics/leak_detector/leak_analyzer.cc',
            'metrics/leak_detector/leak_analyzer.h',
            'metrics/leak_detector/leak_detector_impl.cc',
            'metrics/leak_detector/leak_detector_impl.h',
            'metrics/leak_detector/leak_detector_value_type.cc',
            'metrics/leak_detector/leak_detector_value_type.h',
            'metrics/leak_detector/ranked_list.cc',
            'metrics/leak_detector/ranked_list.h',
          ],
        },
      ],
    }],
    ['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',
          ],
        },
      ],
    }],
  ],
}
