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