libarc-validate/arc/validate/export.hxx
RYAN e15a1f3265
All checks were successful
on-push / build-and-test (push) Successful in 13s
Add build2 project structure
2024-09-02 10:42:50 +02:00

33 lines
1.2 KiB
C++

#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