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.
5 #ifndef SYNC_SYNC_EXPORT_H_
6 #define SYNC_SYNC_EXPORT_H_
8 #if defined(COMPONENT_BUILD)
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)
18 #define SYNC_EXPORT __declspec(dllimport)
19 #define SYNC_EXPORT_PRIVATE
20 #endif // defined(SYNC_IMPLEMENTATION)
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)
28 #define SYNC_EXPORT_PRIVATE __attribute__((visibility("default")))
31 #define SYNC_EXPORT_PRIVATE
32 #endif // defined(SYNC_IMPLEMENTATION)
35 #else // defined(COMPONENT_BUILD)
37 #define SYNC_EXPORT_PRIVATE
40 #endif // SYNC_SYNC_EXPORT_H_