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 NET_BASE_NET_EXPORT_H_ 6#define NET_BASE_NET_EXPORT_H_ 7 8// Defines NET_EXPORT so that functionality implemented by the net module can 9// be exported to consumers, and NET_EXPORT_PRIVATE that allows unit tests to 10// access features not intended to be used directly by real consumers. 11 12#if defined(COMPONENT_BUILD) 13#if defined(WIN32) 14 15#if defined(NET_IMPLEMENTATION) 16#define NET_EXPORT __declspec(dllexport) 17#define NET_EXPORT_PRIVATE __declspec(dllexport) 18#else 19#define NET_EXPORT __declspec(dllimport) 20#define NET_EXPORT_PRIVATE __declspec(dllimport) 21#endif // defined(NET_IMPLEMENTATION) 22 23#else // defined(WIN32) 24#if defined(NET_IMPLEMENTATION) 25#define NET_EXPORT __attribute__((visibility("default"))) 26#define NET_EXPORT_PRIVATE __attribute__((visibility("default"))) 27#else 28#define NET_EXPORT 29#define NET_EXPORT_PRIVATE 30#endif 31#endif 32 33#else /// defined(COMPONENT_BUILD) 34#define NET_EXPORT 35#define NET_EXPORT_PRIVATE 36#endif 37 38#endif // NET_BASE_NET_EXPORT_H_ 39