Index: media/midi/midi.gyp |
diff --git a/media/midi/midi.gyp b/media/midi/midi.gyp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..554f1a977b2f206663a6c477944f511d4b9bb47b |
--- /dev/null |
+++ b/media/midi/midi.gyp |
@@ -0,0 +1,235 @@ |
+# Copyright 2015 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+{ |
+ 'variables': { |
+ 'chromium_code': 1, |
+ 'conditions': [ |
+ ['(OS=="linux" or OS=="freebsd" or OS=="solaris") and (embedded!=1 or (chromecast==1 and target_arch!="arm"))', { |
+ 'use_alsa%': 1, |
+ }, { |
+ 'use_alsa%': 0, |
+ }], |
+ ], |
+ # Source files that are used in production code for Android, and in tests |
+ # for others. |
+ 'usb_midi_sources': [ |
+ 'midi_manager_usb.cc', |
+ 'midi_manager_usb.h', |
+ 'usb_midi_descriptor_parser.cc', |
+ 'usb_midi_descriptor_parser.h', |
+ 'usb_midi_device.h', |
+ 'usb_midi_input_stream.cc', |
+ 'usb_midi_input_stream.h', |
+ 'usb_midi_jack.h', |
+ 'usb_midi_output_stream.cc', |
+ 'usb_midi_output_stream.h', |
+ ], |
+ }, |
+ 'targets': [ |
+ { |
+ # GN version: //media/midi |
+ 'target_name': 'midi', |
+ 'type': '<(component)', |
+ 'dependencies': [ |
+ '../../base/base.gyp:base', |
+ ], |
+ 'defines': [ |
+ 'MEDIA_IMPLEMENTATION', |
+ ], |
+ 'include_dirs': [ |
+ '../..', |
+ ], |
+ 'sources': [ |
+ 'midi_manager.cc', |
+ 'midi_manager.h', |
+ 'midi_manager_android.cc', |
+ 'midi_manager_mac.cc', |
+ 'midi_manager_mac.h', |
+ 'midi_manager_win.cc', |
+ 'midi_manager_win.h', |
+ 'midi_message_queue.cc', |
+ 'midi_message_queue.h', |
+ 'midi_message_util.cc', |
+ 'midi_message_util.h', |
+ 'midi_port_info.cc', |
+ 'midi_port_info.h', |
+ 'midi_scheduler.cc', |
+ 'midi_scheduler.h', |
+ 'usb_midi_device_android.cc', |
+ 'usb_midi_device_android.h', |
+ 'usb_midi_device_factory_android.cc', |
+ 'usb_midi_device_factory_android.h', |
+ ], |
+ 'direct_dependent_settings': { |
+ 'include_dirs': [ |
+ '../..', |
+ ], |
+ }, |
+ 'conditions': [ |
+ ['use_alsa==1 and use_udev==1', { |
+ 'dependencies': [ |
+ '../../crypto/crypto.gyp:crypto', |
+ '../../device/udev_linux/udev.gyp:udev_linux', |
+ ], |
+ 'defines': [ |
+ 'USE_ALSA', |
+ 'USE_UDEV', |
+ ], |
+ 'sources': [ |
+ 'midi_manager_alsa.cc', |
+ 'midi_manager_alsa.h', |
+ ], |
+ 'link_settings': { |
+ 'libraries': [ |
+ '-lasound', |
+ ], |
+ }, |
+ }], |
+ ['OS=="android"', { |
+ 'dependencies': [ |
+ '../../base/base.gyp:base_i18n', |
+ 'midi_jni_headers', |
+ 'midi_java', |
+ ], |
+ 'sources': [ |
+ '<@(usb_midi_sources)', |
+ 'midi_jni_registrar.cc', |
+ 'midi_jni_registrar.h', |
+ ], |
+ }], |
+ ['OS=="mac"', { |
+ 'link_settings': { |
+ 'libraries': [ |
+ '$(SDKROOT)/System/Library/Frameworks/CoreAudio.framework', |
+ '$(SDKROOT)/System/Library/Frameworks/CoreMIDI.framework', |
+ ], |
+ }, |
+ }], |
+ ['OS=="win"', { |
+ 'dependencies': [ |
+ '../../device/usb/usb.gyp:device_usb', |
+ ], |
+ }], |
+ ], # conditions |
+ }, |
+ { |
+ # GN version: //media/midi:midi_unittests |
+ 'target_name': 'midi_unittests', |
+ 'type': '<(gtest_target_type)', |
+ 'dependencies': [ |
+ 'midi', |
+ '../../base/base.gyp:base', |
+ '../../base/base.gyp:run_all_unittests', |
+ '../../testing/gtest.gyp:gtest', |
+ ], |
+ 'defines': [ |
+ 'MEDIA_IMPLEMENTATION', |
+ ], |
+ 'include_dirs': [ |
+ '../..', |
+ ], |
+ 'sources': [ |
+ 'midi_manager_unittest.cc', |
+ 'midi_manager_usb_unittest.cc', |
+ 'midi_message_queue_unittest.cc', |
+ 'midi_message_util_unittest.cc', |
+ 'usb_midi_descriptor_parser_unittest.cc', |
+ 'usb_midi_input_stream_unittest.cc', |
+ 'usb_midi_output_stream_unittest.cc', |
+ ], |
+ 'conditions': [ |
+ ['use_alsa==1 and use_udev==1', { |
+ 'defines': [ |
+ 'USE_ALSA', |
+ 'USE_UDEV', |
+ ], |
+ 'sources': [ |
+ 'midi_manager_alsa_unittest.cc', |
+ ], |
+ }], |
+ ['use_x11==1', { |
+ 'dependencies': [ |
+ '../../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck', |
+ ], |
+ }], |
+ ['OS=="android"', { |
+ 'dependencies': [ |
+ '../../testing/android/native_test.gyp:native_test_native_code', |
+ ], |
+ }, { |
+ 'sources': [ |
+ '<@(usb_midi_sources)', |
+ ], |
+ }], |
+ ['OS=="mac"', { |
+ 'sources': [ |
+ 'midi_manager_mac_unittest.cc', |
+ ], |
+ }], |
+ ], |
+ }, |
+ ], |
+ 'conditions': [ |
+ ['OS=="android"', { |
+ 'targets': [ |
+ { |
+ # TODO(GN) |
+ 'target_name': 'midi_unittests_apk', |
+ 'type': 'none', |
+ 'dependencies': [ |
+ 'midi_java', |
+ 'midi_unittests', |
+ ], |
+ 'variables': { |
+ 'test_suite_name': 'midi_unittests', |
+ }, |
+ 'includes': ['../../build/apk_test.gypi'], |
+ }, |
+ { |
+ # GN: //media/midi:midi_java |
+ 'target_name': 'midi_java', |
+ 'type': 'none', |
+ 'dependencies': [ |
+ '../../base/base.gyp:base', |
+ ], |
+ 'variables': { |
+ 'java_in_dir': 'java', |
+ }, |
+ 'includes': ['../../build/java.gypi' ], |
+ }, |
+ { |
+ # GN: //media/midi:midi_jni_headers |
+ 'target_name': 'midi_jni_headers', |
+ 'type': 'none', |
+ 'sources': [ |
+ 'java/src/org/chromium/media/midi/UsbMidiDeviceAndroid.java', |
+ 'java/src/org/chromium/media/midi/UsbMidiDeviceFactoryAndroid.java', |
+ ], |
+ 'variables': { |
+ 'jni_gen_package': 'media/midi', |
+ }, |
+ 'includes': ['../../build/jni_generator.gypi'], |
+ }, |
+ ], |
+ }], |
+ ['test_isolation_mode != "noop"', { |
+ 'targets': [ |
+ { |
+ 'target_name': 'midi_unittests_run', |
+ 'type': 'none', |
+ 'dependencies': [ |
+ 'midi_unittests', |
+ ], |
+ 'includes': [ |
+ '../../build/isolate.gypi', |
+ ], |
+ 'sources': [ |
+ 'midi_unittests.isolate', |
+ ], |
+ }, |
+ ], |
+ }], |
+ ], |
+} |