OLD | NEW |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//build/config/android/config.gni") | 5 import("//build/config/android/config.gni") |
6 import("//build/config/features.gni") | 6 import("//build/config/features.gni") |
7 import("//build/config/ui.gni") | 7 import("//build/config/ui.gni") |
8 import("//media/media_options.gni") | 8 import("//media/media_options.gni") |
9 import("//testing/test.gni") | 9 import("//testing/test.gni") |
10 | 10 |
11 if (is_android) { | 11 if (is_android) { |
12 # For generate_jni(). | 12 # For generate_jni(). |
13 import("//build/config/android/rules.gni") | 13 import("//build/config/android/rules.gni") |
14 } | 14 } |
15 | 15 |
16 # Common configuration for targets in the media/midi directory. | 16 # Common configuration for targets in the media/midi directory. |
17 config("midi_config") { | 17 config("midi_config") { |
18 if (use_alsa) { | 18 if (use_alsa) { |
19 defines = [ | 19 defines = [ |
20 "USE_ALSA", | 20 "USE_ALSA", |
21 "USE_UDEV", | 21 "USE_UDEV", |
22 ] | 22 ] |
23 } | 23 } |
24 | 24 |
25 visibility = [ ":*" ] | 25 visibility = [ ":*" ] |
26 } | 26 } |
27 | 27 |
28 # USB MIDI specific source files that are used in Android port, and unit tests. | 28 # USB MIDI specific source files that are used in Android port, and unit tests. |
29 source_set("usb_midi") { | 29 # These can't easily be a source set because "midi" is a component and the |
30 sources = [ | 30 # component export flags must always be the same. |
31 "midi_manager_usb.cc", | 31 usb_midi_sources = [ |
32 "midi_manager_usb.h", | 32 "midi_manager_usb.cc", |
33 "usb_midi_descriptor_parser.cc", | 33 "midi_manager_usb.h", |
34 "usb_midi_descriptor_parser.h", | 34 "usb_midi_descriptor_parser.cc", |
35 "usb_midi_device.h", | 35 "usb_midi_descriptor_parser.h", |
36 "usb_midi_input_stream.cc", | 36 "usb_midi_device.h", |
37 "usb_midi_input_stream.h", | 37 "usb_midi_export.h", |
38 "usb_midi_jack.h", | 38 "usb_midi_input_stream.cc", |
39 "usb_midi_output_stream.cc", | 39 "usb_midi_input_stream.h", |
40 "usb_midi_output_stream.h", | 40 "usb_midi_jack.h", |
41 ] | 41 "usb_midi_output_stream.cc", |
42 | 42 "usb_midi_output_stream.h", |
43 defines = [ "MEDIA_IMPLEMENTATION" ] | 43 ] |
44 deps = [ | |
45 "//base", | |
46 ] | |
47 } | |
48 | 44 |
49 # Android specific Java source files that are used to generate jni header files. | 45 # Android specific Java source files that are used to generate jni header files. |
50 if (is_android) { | 46 if (is_android) { |
51 android_library("midi_java") { | 47 android_library("midi_java") { |
52 deps = [ | 48 deps = [ |
53 "//base:base_java", | 49 "//base:base_java", |
54 ] | 50 ] |
55 | 51 |
56 DEPRECATED_java_in_dir = "java/src" | 52 DEPRECATED_java_in_dir = "java/src" |
57 } | 53 } |
58 | 54 |
59 generate_jni("midi_jni_headers") { | 55 generate_jni("midi_jni_headers") { |
60 sources = [ | 56 sources = [ |
61 "java/src/org/chromium/media/midi/UsbMidiDeviceAndroid.java", | 57 "java/src/org/chromium/media/midi/UsbMidiDeviceAndroid.java", |
62 "java/src/org/chromium/media/midi/UsbMidiDeviceFactoryAndroid.java", | 58 "java/src/org/chromium/media/midi/UsbMidiDeviceFactoryAndroid.java", |
63 ] | 59 ] |
64 jni_package = "media/midi" | 60 jni_package = "media/midi" |
65 } | 61 } |
66 } | 62 } |
67 | 63 |
68 component("midi") { | 64 component("midi") { |
69 sources = [ | 65 sources = [ |
| 66 "midi_export.h", |
70 "midi_manager.cc", | 67 "midi_manager.cc", |
71 "midi_manager.h", | 68 "midi_manager.h", |
72 "midi_manager_mac.cc", | 69 "midi_manager_mac.cc", |
73 "midi_manager_mac.h", | 70 "midi_manager_mac.h", |
74 "midi_manager_win.cc", | 71 "midi_manager_win.cc", |
75 "midi_manager_win.h", | 72 "midi_manager_win.h", |
76 "midi_message_queue.cc", | 73 "midi_message_queue.cc", |
77 "midi_message_queue.h", | 74 "midi_message_queue.h", |
78 "midi_message_util.cc", | 75 "midi_message_util.cc", |
79 "midi_message_util.h", | 76 "midi_message_util.h", |
80 "midi_port_info.cc", | 77 "midi_port_info.cc", |
81 "midi_port_info.h", | 78 "midi_port_info.h", |
82 "midi_scheduler.cc", | 79 "midi_scheduler.cc", |
83 "midi_scheduler.h", | 80 "midi_scheduler.h", |
84 ] | 81 ] |
85 | 82 |
86 configs += [ ":midi_config" ] | 83 configs += [ ":midi_config" ] |
87 | 84 |
88 defines = [ "MEDIA_IMPLEMENTATION" ] | 85 defines = [ "MIDI_IMPLEMENTATION" ] |
89 deps = [] | 86 deps = [ |
| 87 "//base", |
| 88 ] |
90 libs = [] | 89 libs = [] |
91 | 90 |
92 if (is_android) { | 91 if (is_android) { |
93 sources += [ | 92 sources += [ |
94 "midi_jni_registrar.cc", | 93 "midi_jni_registrar.cc", |
95 "midi_jni_registrar.h", | 94 "midi_jni_registrar.h", |
96 "midi_manager_android.cc", | 95 "midi_manager_android.cc", |
97 "usb_midi_device_android.cc", | 96 "usb_midi_device_android.cc", |
98 "usb_midi_device_android.h", | 97 "usb_midi_device_android.h", |
99 "usb_midi_device_factory_android.cc", | 98 "usb_midi_device_factory_android.cc", |
100 "usb_midi_device_factory_android.h", | 99 "usb_midi_device_factory_android.h", |
101 ] | 100 ] + usb_midi_sources |
| 101 |
| 102 # Since the USB sources are part of the component. |
| 103 defines += [ "EXPORT_USB_MIDI" ] |
102 | 104 |
103 deps += [ | 105 deps += [ |
104 "//base:i18n", | 106 "//base:i18n", |
105 ":midi_jni_headers", | 107 ":midi_jni_headers", |
106 ":usb_midi", | |
107 ] | 108 ] |
108 } | 109 } |
109 | 110 |
110 if (is_mac) { | 111 if (is_mac) { |
111 libs += [ | 112 libs += [ |
112 "CoreAudio.framework", | 113 "CoreAudio.framework", |
113 "CoreMIDI.framework", | 114 "CoreMIDI.framework", |
114 ] | 115 ] |
115 } | 116 } |
116 | 117 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 | 149 |
149 configs += [ ":midi_config" ] | 150 configs += [ ":midi_config" ] |
150 deps = [ | 151 deps = [ |
151 ":midi", | 152 ":midi", |
152 "//base/test/:run_all_unittests", | 153 "//base/test/:run_all_unittests", |
153 "//base/test/:test_support", | 154 "//base/test/:test_support", |
154 "//testing/gtest", | 155 "//testing/gtest", |
155 ] | 156 ] |
156 | 157 |
157 if (!is_android) { | 158 if (!is_android) { |
158 deps += [ ":usb_midi" ] | 159 sources += usb_midi_sources |
159 } | 160 } |
160 | 161 |
161 if (is_mac) { | 162 if (is_mac) { |
162 sources += [ "midi_manager_mac_unittest.cc" ] | 163 sources += [ "midi_manager_mac_unittest.cc" ] |
163 } | 164 } |
164 | 165 |
165 if (use_alsa && use_udev) { | 166 if (use_alsa && use_udev) { |
166 sources += [ "midi_manager_alsa_unittest.cc" ] | 167 sources += [ "midi_manager_alsa_unittest.cc" ] |
167 } | 168 } |
168 | 169 |
169 if (use_x11) { | 170 if (use_x11) { |
170 deps += [ "//tools/xdisplaycheck" ] | 171 deps += [ "//tools/xdisplaycheck" ] |
171 } | 172 } |
172 } | 173 } |
OLD | NEW |