1# Copyright 2014 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
6  'targets': [
7    {
8      # GN version: //components/storage_monitor
9      'target_name': 'storage_monitor',
10      'type': 'static_library',
11      'include_dirs': [
12        '..',
13      ],
14      'dependencies': [
15        '../base/base.gyp:base',
16      ],
17      'sources': [
18        'storage_monitor/image_capture_device.h',
19        'storage_monitor/image_capture_device.mm',
20        'storage_monitor/image_capture_device_manager.h',
21        'storage_monitor/image_capture_device_manager.mm',
22        'storage_monitor/media_storage_util.cc',
23        'storage_monitor/media_storage_util.h',
24        'storage_monitor/media_transfer_protocol_device_observer_linux.cc',
25        'storage_monitor/media_transfer_protocol_device_observer_linux.h',
26        'storage_monitor/mtab_watcher_linux.cc',
27        'storage_monitor/mtab_watcher_linux.h',
28        'storage_monitor/portable_device_watcher_win.cc',
29        'storage_monitor/portable_device_watcher_win.h',
30        'storage_monitor/removable_device_constants.cc',
31        'storage_monitor/removable_device_constants.h',
32        'storage_monitor/removable_storage_observer.h',
33        'storage_monitor/storage_info.cc',
34        'storage_monitor/storage_info.h',
35        'storage_monitor/storage_monitor.cc',
36        'storage_monitor/storage_monitor.h',
37        'storage_monitor/storage_monitor_chromeos.cc',
38        'storage_monitor/storage_monitor_chromeos.h',
39        'storage_monitor/storage_monitor_linux.cc',
40        'storage_monitor/storage_monitor_linux.h',
41        'storage_monitor/storage_monitor_mac.h',
42        'storage_monitor/storage_monitor_mac.mm',
43        'storage_monitor/storage_monitor_win.cc',
44        'storage_monitor/storage_monitor_win.h',
45        'storage_monitor/transient_device_ids.cc',
46        'storage_monitor/transient_device_ids.h',
47        'storage_monitor/udev_util_linux.cc',
48        'storage_monitor/udev_util_linux.h',
49        'storage_monitor/volume_mount_watcher_win.cc',
50        'storage_monitor/volume_mount_watcher_win.h',
51      ],
52      'conditions': [
53        ['OS == "mac"', {
54          'link_settings': {
55            'libraries': [
56              '$(SDKROOT)/System/Library/Frameworks/DiskArbitration.framework',
57              '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
58              '$(SDKROOT)/System/Library/Frameworks/ImageCaptureCore.framework',
59            ],
60          },
61        }],
62        ['OS=="linux"', {
63          'dependencies': [
64            '../device/media_transfer_protocol/media_transfer_protocol.gyp:device_media_transfer_protocol',
65            '../device/media_transfer_protocol/media_transfer_protocol.gyp:mtp_file_entry_proto',
66            '../device/media_transfer_protocol/media_transfer_protocol.gyp:mtp_storage_info_proto',
67          ],
68        }],
69        ['use_udev==1', {
70          'dependencies': [
71            '../device/udev_linux/udev.gyp:udev_linux',
72          ],
73        }, {  # use_udev==0
74          'sources!': [
75            'storage_monitor/storage_monitor_linux.cc',
76            'storage_monitor/storage_monitor_linux.h',
77            'storage_monitor/udev_util_linux.cc',
78            'storage_monitor/udev_util_linux.h',
79          ],
80        }],
81        ['chromeos==1', {
82          'sources!': [
83            'storage_monitor/mtab_watcher_linux.cc',
84            'storage_monitor/mtab_watcher_linux.h',
85            'storage_monitor/storage_monitor_linux.cc',
86            'storage_monitor/storage_monitor_linux.h',
87          ],
88        }],
89      ],
90    },
91    {
92      # GN version: //components/storage_monitor:test_support
93      'target_name': 'storage_monitor_test_support',
94      'type': 'static_library',
95      'include_dirs': [
96        '..',
97      ],
98      'dependencies': [
99        '../base/base.gyp:base',
100        'storage_monitor',
101      ],
102      'sources': [
103        'storage_monitor/mock_removable_storage_observer.cc',
104        'storage_monitor/mock_removable_storage_observer.h',
105        'storage_monitor/test_media_transfer_protocol_manager_linux.cc',
106        'storage_monitor/test_media_transfer_protocol_manager_linux.h',
107        'storage_monitor/test_portable_device_watcher_win.cc',
108        'storage_monitor/test_portable_device_watcher_win.h',
109        'storage_monitor/test_storage_monitor.cc',
110        'storage_monitor/test_storage_monitor.h',
111        'storage_monitor/test_storage_monitor_win.cc',
112        'storage_monitor/test_storage_monitor_win.h',
113        'storage_monitor/test_volume_mount_watcher_win.cc',
114        'storage_monitor/test_volume_mount_watcher_win.h',
115      ],
116      'conditions': [
117        ['OS=="linux"', {
118          'dependencies': [
119            '../device/media_transfer_protocol/media_transfer_protocol.gyp:device_media_transfer_protocol',
120            '../device/media_transfer_protocol/media_transfer_protocol.gyp:mtp_file_entry_proto',
121          ],
122        }],
123      ],
124    },
125  ],
126}
127