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#if defined(IPC_MOJO_IMPLEMENTATION) 21#define IPC_MOJO_EXPORT __declspec(dllexport) 22#else 23#define IPC_MOJO_EXPORT __declspec(dllimport) 24#endif // defined(IPC_MOJO_IMPLEMENTATION) 25 26#else // defined(WIN32) 27 28#if defined(IPC_IMPLEMENTATION) 29#define IPC_EXPORT __attribute__((visibility("default"))) 30#else 31#define IPC_EXPORT 32#endif 33 34#if defined(IPC_MOJO_IMPLEMENTATION) 35#define IPC_MOJO_EXPORT __attribute__((visibility("default"))) 36#else 37#define IPC_MOJO_EXPORT 38#endif 39 40#endif 41 42#else // defined(COMPONENT_BUILD) 43#define IPC_EXPORT 44#define IPC_MOJO_EXPORT 45#endif 46 47#endif // IPC_IPC_EXPORT_H_ 48