Home | History | Annotate | Download | only in base
      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