1/* $Id: ncurses_dll.h,v 1.4 2003/07/19 18:44:32 Charles.Wilson Exp $ */ 2 3#ifndef NCURSES_DLL_H_incl 4#define NCURSES_DLL_H_incl 1 5 6/* no longer needed on cygwin or mingw, thanks to auto-import */ 7/* but this structure may be useful at some point for an MSVC build */ 8/* so, for now unconditionally define the important flags */ 9/* "the right way" for proper static and dll+auto-import behavior */ 10#undef NCURSES_DLL 11#define NCURSES_STATIC 12 13#if defined(__CYGWIN__) 14# if defined(NCURSES_DLL) 15# if defined(NCURSES_STATIC) 16# undef NCURSES_STATIC 17# endif 18# endif 19# undef NCURSES_IMPEXP 20# undef NCURSES_API 21# undef NCURSES_EXPORT 22# undef NCURSES_EXPORT_VAR 23# if defined(NCURSES_DLL) 24/* building a DLL */ 25# define NCURSES_IMPEXP __declspec(dllexport) 26# elif defined(NCURSES_STATIC) 27/* building or linking to a static library */ 28# define NCURSES_IMPEXP /* nothing */ 29# else 30/* linking to the DLL */ 31# define NCURSES_IMPEXP __declspec(dllimport) 32# endif 33# define NCURSES_API __cdecl 34# define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API 35# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type 36#endif 37 38/* Take care of non-cygwin platforms */ 39#if !defined(NCURSES_IMPEXP) 40# define NCURSES_IMPEXP /* nothing */ 41#endif 42#if !defined(NCURSES_API) 43# define NCURSES_API /* nothing */ 44#endif 45#if !defined(NCURSES_EXPORT) 46# define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API 47#endif 48#if !defined(NCURSES_EXPORT_VAR) 49# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type 50#endif 51 52#endif /* NCURSES_DLL_H_incl */ 53