libarc-validate/arc/validate/export.hxx

33 lines
1.2 KiB
C++
Raw Permalink Normal View History

2024-09-02 08:41:13 +00:00
#ifndef arc__validate__export_hxx_
#define arc__validate__export_hxx_
#if defined _WIN32 || defined __CYGWIN__
# define LIBARC_VALIDATE_SO_IMPORT __declspec(dllimport)
# define LIBARC_VALIDATE_SO_EXPORT __declspec(dllexport)
# define LIBARC_VALIDATE_SO_LOCAL
#else
# if __GNUC__ >= 4
# define LIBARC_VALIDATE_SO_IMPORT __attribute__ ((visibility ("default")))
# define LIBARC_VALIDATE_SO_EXPORT __attribute__ ((visibility ("default")))
# define LIBARC_VALIDATE_SO_LOCAL __attribute__ ((visibility ("hidden")))
# else
# define LIBARC_VALIDATE_SO_IMPORT
# define LIBARC_VALIDATE_SO_EXPORT
# define LIBARC_VALIDATE_SO_LOCAL
# endif
#endif
#if defined(LIBARC_VALIDATE_STATIC) // Using static.
# define LIBARC_VALIDATE_SYMEXPORT
#elif defined(LIBARC_VALIDATE_STATIC_BUILD) // Building static.
# define LIBARC_VALIDATE_SYMEXPORT
#elif defined(LIBARC_VALIDATE_SHARED) // Using shared.
# define LIBARC_VALIDATE_SYMEXPORT LIBARC_VALIDATE_SO_IMPORT
#elif defined(LIBARC_VALIDATE_SHARED_BUILD) // Building shared.
# define LIBARC_VALIDATE_SYMEXPORT LIBARC_VALIDATE_SO_EXPORT
#else
# error define LIBARC_VALIDATE_STATIC or LIBARC_VALIDATE_SHARED
#endif
#endif