30 #ifndef CRYPTOPP_CONFIG_DLL_H 31 #define CRYPTOPP_CONFIG_DLL_H 35 #if defined(CRYPTOPP_DOXYGEN_PROCESSING) 45 #define CRYPTOPP_IMPORTS ... 55 #define CRYPTOPP_EXPORTS ... 62 #define CRYPTOPP_IS_DLL 72 #define CRYPTOPP_DLL_TEMPLATE_CLASS ... 82 #define CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS ... 92 #define CRYPTOPP_STATIC_TEMPLATE_CLASS ... 102 #define CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS ... 111 #define CRYPTOPP_TABLE extern 119 #define CRYPTOPP_API ... 121 #else // CRYPTOPP_DOXYGEN_PROCESSING 123 #if defined(CRYPTOPP_WIN32_AVAILABLE) 125 #if defined(CRYPTOPP_EXPORTS) 126 # define CRYPTOPP_IS_DLL 127 # define CRYPTOPP_DLL __declspec(dllexport) 128 #elif defined(CRYPTOPP_IMPORTS) 129 # define CRYPTOPP_IS_DLL 130 # define CRYPTOPP_DLL __declspec(dllimport) 132 # define CRYPTOPP_DLL 136 #define CRYPTOPP_TABLE extern 137 #define CRYPTOPP_API __cdecl 139 #else // not CRYPTOPP_WIN32_AVAILABLE 142 #define CRYPTOPP_TABLE extern 146 #endif // CRYPTOPP_WIN32_AVAILABLE 148 #if defined(__MWERKS__) 149 # define CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS extern class CRYPTOPP_DLL 150 #elif defined(__BORLANDC__) || defined(__SUNPRO_CC) 151 # define CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS template class CRYPTOPP_DLL 153 # define CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS extern template class CRYPTOPP_DLL 156 #if defined(CRYPTOPP_MANUALLY_INSTANTIATE_TEMPLATES) && !defined(CRYPTOPP_IMPORTS) 157 # define CRYPTOPP_DLL_TEMPLATE_CLASS template class CRYPTOPP_DLL 159 # define CRYPTOPP_DLL_TEMPLATE_CLASS CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS 162 #if defined(__MWERKS__) 163 # define CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS extern class 164 #elif defined(__BORLANDC__) || defined(__SUNPRO_CC) 165 # define CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS template class 167 # define CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS extern template class 170 #if defined(CRYPTOPP_MANUALLY_INSTANTIATE_TEMPLATES) && !defined(CRYPTOPP_EXPORTS) 171 # define CRYPTOPP_STATIC_TEMPLATE_CLASS template class 173 # define CRYPTOPP_STATIC_TEMPLATE_CLASS CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS 176 #endif // CRYPTOPP_DOXYGEN_PROCESSING 178 #endif // CRYPTOPP_CONFIG_DLL_H Library configuration file.