All instances of addresses as void* are changed to uintptr_t in
[chromium-blink-merge.git] / media / midi / midi.gyp
blobc4fc9455ce99720b9d92eb5244ef36865f717604
1 # Copyright 2015 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.
6   'variables': {
7     'chromium_code': 1,
8     'conditions': [
9       ['(OS=="linux" or OS=="freebsd" or OS=="solaris") and (embedded!=1 or (chromecast==1 and target_arch!="arm"))', {
10         'use_alsa%': 1,
11       }, {
12         'use_alsa%': 0,
13       }],
14     ],
15     # Source files that are used in production code for Android, and in tests
16     # for others.
17     'usb_midi_sources': [
18       'midi_manager_usb.cc',
19       'midi_manager_usb.h',
20       'usb_midi_descriptor_parser.cc',
21       'usb_midi_descriptor_parser.h',
22       'usb_midi_device.h',
23       'usb_midi_export.h',
24       'usb_midi_input_stream.cc',
25       'usb_midi_input_stream.h',
26       'usb_midi_jack.h',
27       'usb_midi_output_stream.cc',
28       'usb_midi_output_stream.h',
29     ],
30   },
31   'targets': [
32     {
33       # GN version: //media/midi
34       'target_name': 'midi',
35       'type': '<(component)',
36       'dependencies': [
37         '../../base/base.gyp:base',
38       ],
39       'defines': [
40         'MIDI_IMPLEMENTATION',
41       ],
42       'include_dirs': [
43         '../..',
44       ],
45       'sources': [
46         'midi_export.h',
47         'midi_manager.cc',
48         'midi_manager.h',
49         'midi_manager_android.cc',
50         'midi_manager_mac.cc',
51         'midi_manager_mac.h',
52         'midi_manager_win.cc',
53         'midi_manager_win.h',
54         'midi_message_queue.cc',
55         'midi_message_queue.h',
56         'midi_message_util.cc',
57         'midi_message_util.h',
58         'midi_port_info.cc',
59         'midi_port_info.h',
60         'midi_scheduler.cc',
61         'midi_scheduler.h',
62         'usb_midi_device_android.cc',
63         'usb_midi_device_android.h',
64         'usb_midi_device_factory_android.cc',
65         'usb_midi_device_factory_android.h',
66       ],
67       'direct_dependent_settings': {
68         'include_dirs': [
69           '../..',
70         ],
71       },
72       'conditions': [
73         ['use_alsa==1 and use_udev==1', {
74           'dependencies': [
75             '../../crypto/crypto.gyp:crypto',
76             '../../device/udev_linux/udev.gyp:udev_linux',
77           ],
78           'defines': [
79             'USE_ALSA',
80             'USE_UDEV',
81           ],
82           'sources': [
83             'midi_manager_alsa.cc',
84             'midi_manager_alsa.h',
85           ],
86           'link_settings': {
87             'libraries': [
88               '-lasound',
89             ],
90           },
91         }],
92         ['OS=="android"', {
93           'dependencies': [
94             '../../base/base.gyp:base_i18n',
95             'midi_jni_headers',
96             'midi_java',
97           ],
98           'sources': [
99             '<@(usb_midi_sources)',
100             'midi_jni_registrar.cc',
101             'midi_jni_registrar.h',
102           ],
103           'defines': [
104             'EXPORT_USB_MIDI',
105           ],
106         }],
107         ['OS=="mac"', {
108           'link_settings': {
109             'libraries': [
110               '$(SDKROOT)/System/Library/Frameworks/CoreAudio.framework',
111               '$(SDKROOT)/System/Library/Frameworks/CoreMIDI.framework',
112             ],
113           },
114         }],
115         ['OS=="win"', {
116           'dependencies': [
117             '../../device/usb/usb.gyp:device_usb',
118           ],
119         }],
120       ],  # conditions
121     },
122     {
123       # GN version: //media/midi:midi_unittests
124       'target_name': 'midi_unittests',
125       'type': '<(gtest_target_type)',
126       'dependencies': [
127         'midi',
128         '../../base/base.gyp:base',
129         '../../base/base.gyp:run_all_unittests',
130         '../../testing/gtest.gyp:gtest',
131       ],
132       'include_dirs': [
133         '../..',
134       ],
135       'sources': [
136         'midi_manager_unittest.cc',
137         'midi_manager_usb_unittest.cc',
138         'midi_message_queue_unittest.cc',
139         'midi_message_util_unittest.cc',
140         'usb_midi_descriptor_parser_unittest.cc',
141         'usb_midi_input_stream_unittest.cc',
142         'usb_midi_output_stream_unittest.cc',
143       ],
144       'conditions': [
145         ['use_alsa==1 and use_udev==1', {
146           'defines': [
147             'USE_ALSA',
148             'USE_UDEV',
149           ],
150           'sources': [
151             'midi_manager_alsa_unittest.cc',
152           ],
153         }],
154         ['use_x11==1', {
155           'dependencies': [
156             '../../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
157           ],
158         }],
159         ['OS=="android"', {
160           'dependencies': [
161             '../../testing/android/native_test.gyp:native_test_native_code',
162           ],
163         }, {
164           'sources': [
165             '<@(usb_midi_sources)',
166           ],
167         }],
168         ['OS=="mac"', {
169           'sources': [
170             'midi_manager_mac_unittest.cc',
171           ],
172         }],
173       ],
174     },
175   ],
176   'conditions': [
177     ['OS=="android"', {
178       'targets': [
179         {
180           # TODO(GN)
181           'target_name': 'midi_unittests_apk',
182           'type': 'none',
183           'dependencies': [
184             'midi_java',
185             'midi_unittests',
186           ],
187           'variables': {
188             'test_suite_name': 'midi_unittests',
189             'isolate_file': 'midi_unittests.isolate',
190           },
191           'includes': ['../../build/apk_test.gypi'],
192         },
193         {
194           # GN: //media/midi:midi_java
195           'target_name': 'midi_java',
196           'type': 'none',
197           'dependencies': [
198             '../../base/base.gyp:base',
199           ],
200           'variables': {
201             'java_in_dir': 'java',
202           },
203           'includes': ['../../build/java.gypi' ],
204         },
205         {
206           # GN: //media/midi:midi_jni_headers
207           'target_name': 'midi_jni_headers',
208           'type': 'none',
209           'sources': [
210             'java/src/org/chromium/media/midi/UsbMidiDeviceAndroid.java',
211             'java/src/org/chromium/media/midi/UsbMidiDeviceFactoryAndroid.java',
212           ],
213           'variables': {
214             'jni_gen_package': 'media/midi',
215           },
216           'includes': ['../../build/jni_generator.gypi'],
217         },
218       ],
219     }],
220     ['test_isolation_mode != "noop"', {
221       'targets': [
222         {
223           'target_name': 'midi_unittests_run',
224           'type': 'none',
225           'dependencies': [
226             'midi_unittests',
227           ],
228           'includes': [
229             '../../build/isolate.gypi',
230           ],
231           'sources': [
232             'midi_unittests.isolate',
233           ],
234         },
235       ],
236     }],
237   ],