[981e22c] | 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 */ |
---|