Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / media / midi / usb_midi_export.h
blob0335d63cddd25e0d886f18297f66fcb3decda9df
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.
5 #ifndef MEDIA_MIDI_USB_MIDI_EXPORT_H_
6 #define MEDIA_MIDI_USB_MIDI_EXPORT_H_
8 // These files can be included as part of the midi component using the
9 // MIDI_IMPLEMENTATION define (where we want to export in the component build),
10 // or in the unit tests (where we never want to export/import, even in
11 // component mode). The EXPORT_USB_MIDI define controls this.
12 #if defined(COMPONENT_BUILD) && defined(EXPORT_USB_MIDI)
13 #if defined(WIN32)
15 #if defined(MIDI_IMPLEMENTATION)
16 #define USB_MIDI_EXPORT __declspec(dllexport)
17 #else
18 #define USB_MIDI_EXPORT __declspec(dllimport)
19 #endif // defined(MIDI_IMPLEMENTATION)
21 #else // defined(WIN32)
22 #if defined(MIDI_IMPLEMENTATION)
23 #define USB_MIDI_EXPORT __attribute__((visibility("default")))
24 #else
25 #define USB_MIDI_EXPORT
26 #endif
27 #endif
29 #else // defined(COMPONENT_BUILD)
30 #define USB_MIDI_EXPORT
31 #endif
33 #endif // MEDIA_MIDI_USB_MIDI_EXPORT_H_