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 */ |
---|