| // Copyright (c) 2011 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. |
| |
| #ifndef IPC_IPC_EXPORT_H_ |
| #define IPC_IPC_EXPORT_H_ |
| |
| // Defines IPC_EXPORT so that functionality implemented by the IPC module can be |
| // exported to consumers. |
| |
| #if defined(COMPONENT_BUILD) |
| #if defined(WIN32) |
| |
| #if defined(IPC_IMPLEMENTATION) |
| #define IPC_EXPORT __declspec(dllexport) |
| #else |
| #define IPC_EXPORT __declspec(dllimport) |
| #endif // defined(IPC_IMPLEMENTATION) |
| |
| #if defined(IPC_MOJO_IMPLEMENTATION) |
| #define IPC_MOJO_EXPORT __declspec(dllexport) |
| #else |
| #define IPC_MOJO_EXPORT __declspec(dllimport) |
| #endif // defined(IPC_MOJO_IMPLEMENTATION) |
| |
| #else // defined(WIN32) |
| |
| #if defined(IPC_IMPLEMENTATION) |
| #define IPC_EXPORT __attribute__((visibility("default"))) |
| #else |
| #define IPC_EXPORT |
| #endif |
| |
| #if defined(IPC_MOJO_IMPLEMENTATION) |
| #define IPC_MOJO_EXPORT __attribute__((visibility("default"))) |
| #else |
| #define IPC_MOJO_EXPORT |
| #endif |
| |
| #endif |
| |
| #else // defined(COMPONENT_BUILD) |
| #define IPC_EXPORT |
| #define IPC_MOJO_EXPORT |
| #endif |
| |
| #endif // IPC_IPC_EXPORT_H_ |