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

Unified Diff: media/midi/midi.gyp

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 side-by-side diff with in-line comments
Download patch
Index: media/midi/midi.gyp
diff --git a/media/midi/midi.gyp b/media/midi/midi.gyp
new file mode 100644
index 0000000000000000000000000000000000000000..1c46b30f9c323ce926ebf7546a3cdc895769897e
--- /dev/null
+++ b/media/midi/midi.gyp
@@ -0,0 +1,226 @@
+# 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': [
+ # TODO(toyoshim): Do not use media/base/media_export.h in media/midi,
+ # and use MIDI_IMPLEMENTATION instead of MEDIA_IMPLEMENTATION. Also,
+ # create midi namespace inside media.
+ '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', {
+ 'dependencies': [
+ '../../crypto/crypto.gyp:crypto',
DaleCurtis 2015/04/20 16:23:37 What's this dep for?
Takashi Toyoshima 2015/04/21 06:50:46 It's for crypto/sha2.h from midi_manager_alsa.cc.
+ ],
+ 'defines': [
+ 'USE_ALSA',
+ ],
+ 'sources': [
+ 'midi_manager_alsa.cc',
+ 'midi_manager_alsa.h',
+ ],
+ 'link_settings': {
+ 'libraries': [
+ '-lasound',
+ ],
+ },
+ }],
+ ['OS=="android"', {
+ 'dependencies': [
+ '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': [
+ # TODO(toyoshim): Use MIDI_IMPLEMENTATION.
+ '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', {
+ 'defines': [
+ 'USE_ALSA',
+ ],
+ 'sources': [
+ 'midi_manager_alsa_unittest.cc',
+ ],
+ }],
+ ['OS!="android"', {
+ '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',
+ ],
+ },
+ ],
+ }],
+ ],
+}

Powered by Google App Engine
This is Rietveld 408576698