/* $Id: rig_dll.h,v 1.10 2006-10-13 12:02:36 aa6e Exp $ */ /* * Provide definitions to compile in Windows * using C-friendly options, e.g. * * HAMLIB_API -> __cdecl * HAMLIB_EXPORT, HAMLIB_EXPORT_VAR -> __declspec(dllexport) * BACKEND_EXPORT, BACKEND_EXPORT_VAR -> __declspec(dllexport) * * No effect in non-Windows environments. */ /* * Temporarily commented out, until cygwin port is sorted out */ #if 0 #if defined(__CYGWIN__) || defined(_WIN32) # if defined(HAMLIB_DLL) # if defined(HAMLIB_STATIC) # undef HAMLIB_STATIC # endif # if defined(ALL_STATIC) # undef ALL_STATIC # endif # endif # undef HAMLIB_IMPEXP # undef BACKEND_IMPEXP # undef HAMLIB_API # undef HAMLIB_EXPORT # undef HAMLIB_EXPORT_VAR # if defined(HAMLIB_DLL) && defined(IN_HAMLIB) /* building a DLL */ # define HAMLIB_IMPEXP __declspec(dllexport) # define BACKEND_IMPEXP __declspec(dllexport) # elif defined(HAMLIB_STATIC) || defined(ALL_STATIC) /* building or linking to a static library */ # define HAMLIB_IMPEXP # define BACKEND_IMPEXP # else /* linking to the DLL */ # define HAMLIB_IMPEXP __declspec(dllimport) # define BACKEND_IMPEXP __declspec(dllexport) # endif # define HAMLIB_API __cdecl # define HAMLIB_EXPORT(type) HAMLIB_IMPEXP type HAMLIB_API # define HAMLIB_EXPORT_VAR(type) HAMLIB_IMPEXP type # define BACKEND_EXPORT(type) BACKEND_IMPEXP type HAMLIB_API # define BACKEND_EXPORT_VAR(type) BACKEND_IMPEXP type #endif #endif #if defined(_WIN32) && !defined(__CYGWIN__) # undef HAMLIB_IMPEXP # undef BACKEND_IMPEXP # undef HAMLIB_API # undef HAMLIB_EXPORT # undef HAMLIB_EXPORT_VAR # undef BACKEND_EXPORT # undef BACKEND_EXPORT_VAR # ifdef DLL_EXPORT # define HAMLIB_API __cdecl # ifdef IN_HAMLIB # define BACKEND_IMPEXP __declspec(dllexport) # define HAMLIB_IMPEXP __declspec(dllexport) # else # define BACKEND_IMPEXP __declspec(dllexport) # define HAMLIB_IMPEXP __declspec(dllimport) # endif # else # define HAMLIB_IMPEXP __declspec(dllimport) /* must be static build, no directive? */ # endif #endif /* Take care of non-cygwin platforms */ #if !defined(HAMLIB_IMPEXP) # define HAMLIB_IMPEXP #endif #if !defined(BACKEND_IMPEXP) # define BACKEND_IMPEXP #endif #if !defined(HAMLIB_API) # define HAMLIB_API #endif #if !defined(HAMLIB_EXPORT) # define HAMLIB_EXPORT(type) HAMLIB_IMPEXP type HAMLIB_API #endif #if !defined(HAMLIB_EXPORT_VAR) # define HAMLIB_EXPORT_VAR(type) HAMLIB_IMPEXP type #endif #if !defined(BACKEND_EXPORT) # define BACKEND_EXPORT(type) BACKEND_IMPEXP type HAMLIB_API #endif #if !defined(BACKEND_EXPORT_VAR) # define BACKEND_EXPORT_VAR(type) BACKEND_IMPEXP type #endif