| // 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 NET_BASE_NET_EXPORT_H_ |
| #define NET_BASE_NET_EXPORT_H_ |
| |
| // Defines NET_EXPORT so that functionality implemented by the net module can |
| // be exported to consumers, and NET_EXPORT_PRIVATE that allows unit tests to |
| // access features not intended to be used directly by real consumers. |
| |
| #if defined(COMPONENT_BUILD) |
| #if defined(_MSC_VER) |
| |
| #if defined(NET_IMPLEMENTATION) |
| #define NET_EXPORT __declspec(dllexport) |
| #define NET_EXPORT_PRIVATE __declspec(dllexport) |
| #else |
| #define NET_EXPORT __declspec(dllimport) |
| #define NET_EXPORT_PRIVATE __declspec(dllimport) |
| #endif // defined(NET_IMPLEMENTATION) |
| |
| #else // defined(WIN32) |
| #if defined(NET_IMPLEMENTATION) |
| #define NET_EXPORT __attribute__((visibility("default"))) |
| #define NET_EXPORT_PRIVATE __attribute__((visibility("default"))) |
| #else |
| #define NET_EXPORT |
| #define NET_EXPORT_PRIVATE |
| #endif |
| #endif |
| |
| #else /// defined(COMPONENT_BUILD) |
| #define NET_EXPORT |
| #define NET_EXPORT_PRIVATE |
| #endif |
| |
| #endif // NET_BASE_NET_EXPORT_H_ |