ZXC 0.15.0
High-performance asymmetric lossless compression library
Loading...
Searching...
No Matches
zxc_export.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause */
2/*
3 * ZXC - High-performance lossless compression
4 *
5 * Copyright (c) Bertrand Lebonnois and contributors.
6 */
7
28#ifndef ZXC_EXPORT_H
29#define ZXC_EXPORT_H
30
37#ifdef ZXC_STATIC_DEFINE
38
48#define ZXC_EXPORT
49
57#define ZXC_NO_EXPORT
58
59#else /* shared library */
60
61#ifndef ZXC_EXPORT
62#ifdef zxc_lib_EXPORTS
63/* Building the library */
64#ifdef _WIN32
65#define ZXC_EXPORT __declspec(dllexport)
66#else
67#define ZXC_EXPORT __attribute__((visibility("default")))
68#endif
69#else
70/* Consuming the library */
71#if defined(_WIN32) && defined(ZXC_DLL_IMPORT)
72#define ZXC_EXPORT __declspec(dllimport)
73#elif defined(_WIN32)
74/* Static library, vendored sources, or a DLL consumed without ZXC_DLL_IMPORT:
75 no annotation links in every case. */
76#define ZXC_EXPORT
77#else
78#define ZXC_EXPORT __attribute__((visibility("default")))
79#endif
80#endif
81#endif
82
83#ifndef ZXC_NO_EXPORT
84#ifdef _WIN32
85#define ZXC_NO_EXPORT
86#else
87#define ZXC_NO_EXPORT __attribute__((visibility("hidden")))
88#endif
89#endif
90
91#endif /* ZXC_STATIC_DEFINE */
92
93#ifndef ZXC_DEPRECATED
101#ifdef _WIN32
102#define ZXC_DEPRECATED __declspec(deprecated)
103#else
104#define ZXC_DEPRECATED __attribute__((__deprecated__))
105#endif
106#endif
107
112#ifndef ZXC_DEPRECATED_EXPORT
113#define ZXC_DEPRECATED_EXPORT ZXC_EXPORT ZXC_DEPRECATED
114#endif
115
120#ifndef ZXC_DEPRECATED_NO_EXPORT
121#define ZXC_DEPRECATED_NO_EXPORT ZXC_NO_EXPORT ZXC_DEPRECATED
122#endif
123
/* end of export */
125
126#endif /* ZXC_EXPORT_H */