Roll trace-viewer to 5b0446a2.
[chromium-blink-merge.git] / sync / base / sync_export.h
blob83c65a68396467103882fc5a09e0658020da6597
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)
9 #if defined(WIN32)
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)
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
35 #else // defined(COMPONENT_BUILD)
36 #define SYNC_EXPORT
37 #define SYNC_EXPORT_PRIVATE
38 #endif
40 #endif // SYNC_SYNC_EXPORT_H_