Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(217)

Side by Side Diff: media/midi/BUILD.gn

Issue 1065743003: Reland: Web MIDI: split build rules for media/midi (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: gyp fix Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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.
4
5 import("//build/config/android/config.gni")
6 import("//build/config/features.gni")
7 import("//media/media_options.gni")
8 import("//testing/test.gni")
9
10 if (is_android) {
11 # For generate_jni().
12 import("//build/config/android/rules.gni")
13 }
14
15 # Common configuration for targets in the media/midi directory.
16 # NOT for exporting.
17 config("midi_config") {
18 if (use_alsa) {
19 defines = [ "USE_ALSA" ]
20 }
21 }
22
23 # USB MIDI specific source files that are used in Android port, and unit tests.
24 source_set("usb_midi") {
25 sources = [
26 "midi_manager_usb.cc",
27 "midi_manager_usb.h",
28 "usb_midi_descriptor_parser.cc",
29 "usb_midi_descriptor_parser.h",
30 "usb_midi_device.h",
31 "usb_midi_input_stream.cc",
32 "usb_midi_input_stream.h",
33 "usb_midi_jack.h",
34 "usb_midi_output_stream.cc",
35 "usb_midi_output_stream.h",
36 ]
37
38 # TODO(toyoshim): Do not use media/base/media_export.h in media/midi, and
39 # use MIDI_IMPLEMENTATION instead of MEDIA_IMPLEMENTATION. Also, create midi
40 # namespace inside media.
41 defines = [ "MEDIA_IMPLEMENTATION" ]
DaleCurtis 2015/04/20 16:23:37 I think this one is fine to keep, we usually stick
Takashi Toyoshima 2015/04/21 06:50:46 Done.
42 deps = [
43 "//base",
44 ]
45 }
46
47 # Android specific Java source files that are used to generate jni header files.
48 if (is_android) {
49 android_library("midi_java") {
50 deps = [
51 "//base:base_java",
52 ]
53
54 DEPRECATED_java_in_dir = "java/src"
55 }
56
57 generate_jni("midi_jni_headers") {
58 sources = [
59 "java/src/org/chromium/media/midi/UsbMidiDeviceAndroid.java",
60 "java/src/org/chromium/media/midi/UsbMidiDeviceFactoryAndroid.java",
61 ]
62 jni_package = "media/midi"
63 }
64 }
65
66 component("midi") {
67 sources = [
68 "midi_manager.cc",
69 "midi_manager.h",
70 "midi_manager_mac.cc",
71 "midi_manager_mac.h",
72 "midi_manager_win.cc",
73 "midi_manager_win.h",
74 "midi_message_queue.cc",
75 "midi_message_queue.h",
76 "midi_message_util.cc",
77 "midi_message_util.h",
78 "midi_port_info.cc",
79 "midi_port_info.h",
80 "midi_scheduler.cc",
81 "midi_scheduler.h",
82 ]
83
84 configs += [ ":midi_config" ]
85
86 # TODO(toyoshim): Use MIDI_IMPLEMENTATION.
87 defines = [ "MEDIA_IMPLEMENTATION" ]
88 deps = []
89 libs = []
90
91 if (is_android) {
92 sources += [
93 "midi_jni_registrar.cc",
94 "midi_jni_registrar.h",
95 "midi_manager_android.cc",
96 "usb_midi_device_android.cc",
97 "usb_midi_device_android.h",
98 "usb_midi_device_factory_android.cc",
99 "usb_midi_device_factory_android.h",
100 ]
101
102 deps += [
103 ":usb_midi",
104 ":midi_jni_headers",
105 ]
106 }
107
108 if (is_mac) {
109 libs += [
110 "CoreAudio.framework",
111 "CoreMIDI.framework",
112 ]
113 }
114
115 if (is_win) {
116 deps += [ "//device/usb" ]
117 }
118
119 if (use_alsa) {
120 deps += [
121 "//crypto",
122 "//crypto:platform",
123 ]
124 libs += [ "asound" ]
125 sources += [
126 "midi_manager_alsa.cc",
127 "midi_manager_alsa.h",
128 ]
129 }
130
131 if (use_udev) {
132 deps += [ "//device/udev_linux" ]
133 }
134 }
135
136 # TODO(toyoshim): Check if all tests pass on Android.
137 test("midi_unittests") {
138 sources = [
139 "midi_manager_unittest.cc",
140 "midi_manager_usb_unittest.cc",
141 "midi_message_queue_unittest.cc",
142 "midi_message_util_unittest.cc",
143 "usb_midi_descriptor_parser_unittest.cc",
144 "usb_midi_input_stream_unittest.cc",
145 "usb_midi_output_stream_unittest.cc",
146 ]
147
148 configs += [ ":midi_config" ]
149 deps = [
150 ":midi",
151 "//base/test/:run_all_unittests",
152 "//base/test/:test_support",
153 "//testing/gtest",
154 ]
155
156 if (!is_android) {
157 deps += [ ":usb_midi" ]
158 }
159
160 if (is_mac) {
161 sources += [ "midi_manager_mac_unittest.cc" ]
162 }
163
164 if (use_alsa) {
165 sources += [ "midi_manager_alsa_unittest.cc" ]
166 }
167 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698