1 // Copyright 2016 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 #ifndef MOJO_PUBLIC_CPP_SYSTEM_SYSTEM_EXPORT_H_
6 #define MOJO_PUBLIC_CPP_SYSTEM_SYSTEM_EXPORT_H_
7 
8 #if defined(COMPONENT_BUILD)
9 
10 #if defined(WIN32)
11 
12 #if defined(MOJO_CPP_SYSTEM_IMPLEMENTATION)
13 #define MOJO_CPP_SYSTEM_EXPORT __declspec(dllexport)
14 #else
15 #define MOJO_CPP_SYSTEM_EXPORT __declspec(dllimport)
16 #endif
17 
18 #else  // !defined(WIN32)
19 
20 #if defined(MOJO_CPP_SYSTEM_IMPLEMENTATION)
21 #define MOJO_CPP_SYSTEM_EXPORT __attribute((visibility("default")))
22 #else
23 #define MOJO_CPP_SYSTEM_EXPORT
24 #endif
25 
26 #endif  // defined(WIN32)
27 
28 #else  // !defined(COMPONENT_BUILD)
29 
30 #define MOJO_CPP_SYSTEM_EXPORT
31 
32 #endif  // defined(COMPONENT_BUILD)
33 
34 #endif  // MOJO_PUBLIC_CPP_SYSTEM_SYSTEM_EXPORT_H_
35