| # 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==0 or chromecast==1)', { |
| '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_export.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': [ |
| 'MIDI_IMPLEMENTATION', |
| ], |
| 'include_dirs': [ |
| '../..', |
| ], |
| 'sources': [ |
| 'midi_export.h', |
| 'midi_manager.cc', |
| 'midi_manager.h', |
| 'midi_manager_android.cc', |
| 'midi_manager_android.h', |
| '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', |
| 'midi_switches.cc', |
| 'midi_switches.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_device_android.cc', |
| 'midi_device_android.h', |
| 'midi_input_port_android.cc', |
| 'midi_input_port_android.h', |
| 'midi_jni_registrar.cc', |
| 'midi_jni_registrar.h', |
| 'midi_output_port_android.cc', |
| 'midi_output_port_android.h', |
| ], |
| 'defines': [ |
| 'EXPORT_USB_MIDI', |
| ], |
| }], |
| ['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', |
| ], |
| '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', |
| 'isolate_file': 'midi_unittests.isolate', |
| }, |
| '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/MidiDeviceAndroid.java', |
| 'java/src/org/chromium/media/midi/MidiManagerAndroid.java', |
| 'java/src/org/chromium/media/midi/MidiInputPortAndroid.java', |
| 'java/src/org/chromium/media/midi/MidiOutputPortAndroid.java', |
| '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', |
| ], |
| }, |
| ], |
| }], |
| ], |
| } |