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