source: thirdparty/blosc/blosc-export.h @ 981e22c

Revision 981e22c, 1.6 KB checked in by Hal Finkel <hfinkel@…>, 8 years ago (diff)

Upgrade to latest blosc library

blosc git: e394f327ccc78319d90a06af0b88bce07034b8dd

  • Property mode set to 100644
Line 
1/*********************************************************************
2  Blosc - Blocked Shuffling and Compression Library
3
4  Author: Francesc Alted <[email protected]>
5
6  See LICENSES/BLOSC.txt for details about copyright and rights to use.
7**********************************************************************/
8#ifndef BLOSC_EXPORT_H
9#define BLOSC_EXPORT_H
10
11/* Macros for specifying exported symbols.
12   BLOSC_EXPORT is used to decorate symbols that should be
13   exported by the blosc shared library.
14   BLOSC_NO_EXPORT is used to decorate symbols that should NOT
15   be exported by the blosc shared library.
16*/
17#if defined(BLOSC_SHARED_LIBRARY)
18  #if defined(_MSC_VER)
19    #define BLOSC_EXPORT __declspec(dllexport)
20  #elif (defined(__GNUC__) && __GNUC__ >= 4) || defined(__clang__)
21    #if defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__)
22      #define BLOSC_EXPORT __attribute__((dllexport))
23    #else
24      #define BLOSC_EXPORT __attribute__((visibility("default")))
25    #endif  /* defined(_WIN32) || defined(__CYGWIN__) */
26  #else
27    #error Cannot determine how to define BLOSC_EXPORT for this compiler.
28  #endif
29#else
30  #define BLOSC_EXPORT
31#endif  /* defined(BLOSC_SHARED_LIBRARY) */
32
33#if defined(__GNUC__) || defined(__clang__)
34  #define BLOSC_NO_EXPORT __attribute__((visibility("hidden")))
35#else
36  #define BLOSC_NO_EXPORT
37#endif  /* defined(__GNUC__) || defined(__clang__) */
38
39/* When testing, export everything to make it easier to implement tests. */
40#if defined(BLOSC_TESTING)
41  #undef BLOSC_NO_EXPORT
42  #define BLOSC_NO_EXPORT BLOSC_EXPORT
43#endif  /* defined(BLOSC_TESTING) */
44
45#endif  /* BLOSC_EXPORT_H */
Note: See TracBrowser for help on using the repository browser.