1 // Copyright (c) 2012 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 SYNC_SYNC_EXPORT_H_ 6 #define SYNC_SYNC_EXPORT_H_ 7 8 #if defined(COMPONENT_BUILD) 9 #if defined(WIN32) 10 11 #if defined(SYNC_IMPLEMENTATION) 12 #define SYNC_EXPORT __declspec(dllexport) 13 #define SYNC_EXPORT_PRIVATE __declspec(dllexport) 14 #elif defined(SYNC_TEST) 15 #define SYNC_EXPORT __declspec(dllimport) 16 #define SYNC_EXPORT_PRIVATE __declspec(dllimport) 17 #else 18 #define SYNC_EXPORT __declspec(dllimport) 19 #define SYNC_EXPORT_PRIVATE 20 #endif // defined(SYNC_IMPLEMENTATION) 21 22 #else // defined(WIN32) 23 #if defined(SYNC_IMPLEMENTATION) 24 #define SYNC_EXPORT __attribute__((visibility("default"))) 25 #define SYNC_EXPORT_PRIVATE __attribute__((visibility("default"))) 26 #elif defined(SYNC_TEST) 27 #define SYNC_EXPORT 28 #define SYNC_EXPORT_PRIVATE __attribute__((visibility("default"))) 29 #else 30 #define SYNC_EXPORT 31 #define SYNC_EXPORT_PRIVATE 32 #endif // defined(SYNC_IMPLEMENTATION) 33 #endif 34 35 #else // defined(COMPONENT_BUILD) 36 #define SYNC_EXPORT 37 #define SYNC_EXPORT_PRIVATE 38 #endif 39 40 #endif // SYNC_SYNC_EXPORT_H_ 41