// 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_