1 // Copyright (c) 2011 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 IPC_IPC_EXPORT_H_
6 #define IPC_IPC_EXPORT_H_
7 
8 // Defines IPC_EXPORT so that functionality implemented by the IPC module can be
9 // exported to consumers.
10 
11 #if defined(COMPONENT_BUILD)
12 #if defined(WIN32)
13 
14 #if defined(IPC_IMPLEMENTATION)
15 #define IPC_EXPORT __declspec(dllexport)
16 #else
17 #define IPC_EXPORT __declspec(dllimport)
18 #endif  // defined(IPC_IMPLEMENTATION)
19 
20 #else  // defined(WIN32)
21 
22 #if defined(IPC_IMPLEMENTATION)
23 #define IPC_EXPORT __attribute__((visibility("default")))
24 #else
25 #define IPC_EXPORT
26 #endif
27 
28 #endif
29 
30 #else  // defined(COMPONENT_BUILD)
31 #define IPC_EXPORT
32 #endif
33 
34 #endif  // IPC_IPC_EXPORT_H_
35