y3c-stl 0.3.3
Friendly C++ STL wrapper with automatic stacktrace
Loading...
Searching...
No Matches
y3c-config.h
Go to the documentation of this file.
1#pragma once
2
3/* #undef Y3C_ABI_MAJOR */
4#define Y3C_SHARED 1
5#define Y3C_SYSTEM_DLLEXPORT 0
6#define Y3C_SYSTEM_VISIBILITY 1
7#define Y3C_SYSTEM_ADD_DEBUG 0
8
9#if Y3C_SHARED
10#if Y3C_SYSTEM_DLLEXPORT
11#ifdef Y3C_BUILDING
12#define Y3C_DLL __declspec(dllexport)
13#else // !Y3C_BUILDING
14#define Y3C_DLL __declspec(dllimport)
15#endif // Y3C_BUILDING
16#elif Y3C_SYSTEM_VISIBILITY
17#ifdef Y3C_BUILDING
18#define Y3C_DLL __attribute__((visibility("default")))
19#else // !Y3C_BUILDING
20#define Y3C_DLL
21#endif // Y3C_BUILDING
22#else // DLLEXPORT, VISIBILITY
23// clang-format off
24#error "neither Y3C_SYSTEM_DLLEXPORT nor Y3C_SYSTEM_VISIBILITY is defined"
25// clang-format on
26#endif
27#else // !Y3C_SHARED
28#define Y3C_DLL
29#endif // Y3C_SHARED
30
31#if Y3C_SYSTEM_DLLEXPORT
32#define Y3C_CALL __cdecl
33#else // !DLLEXPORT
34#define Y3C_CALL
35#endif