31 lines
886 B
C
31 lines
886 B
C
#pragma once
|
|
|
|
#if defined(_WIN32) || defined(_WIN64) || defined(__WINDOWS__)
|
|
#define API_EXPORT __declspec(dllexport)
|
|
#define API_IMPORT __declspec(dllimport)
|
|
#define API_LOCAL
|
|
#elif defined(linux) || defined(__linux) || defined(__linux__)
|
|
#define API_EXPORT __attribute__((visibility("default")))
|
|
#define API_IMPORT __attribute__((visibility("default")))
|
|
#define API_LOCAL __attribute__((visibility("hidden")))
|
|
#elif defined(__APPLE__)
|
|
#define API_EXPORT __attribute__((visibility("default")))
|
|
#define API_IMPORT __attribute__((visibility("default")))
|
|
#define API_LOCAL __attribute__((visibility("hidden")))
|
|
#else
|
|
#define API_EXPORT
|
|
#define API_IMPORT
|
|
#define API_LOCAL
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
#define API_DEMANGLED extern "C"
|
|
#else
|
|
#define API_DEMANGLED
|
|
#endif
|
|
|
|
#ifdef API_EXPORTS
|
|
#define API_PUBLIC API_DEMANGLED API_EXPORT
|
|
#else
|
|
#define API_PUBLIC API_DEMANGLED API_IMPORT
|
|
#endif |