X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/53a2db124c633f80bdb16336084262037d879a2c..86ac84b8ce086e6bbda58f422d41f84268606e35:/include/wx/dlimpexp.h diff --git a/include/wx/dlimpexp.h b/include/wx/dlimpexp.h index e87c749ab7..3f400f52d8 100644 --- a/include/wx/dlimpexp.h +++ b/include/wx/dlimpexp.h @@ -86,6 +86,7 @@ # define WXMAKINGDLL_XML # define WXMAKINGDLL_XRC # define WXMAKINGDLL_AUI +# define WXMAKINGDLL_PROPGRID # define WXMAKINGDLL_RICHTEXT # define WXMAKINGDLL_MEDIA # define WXMAKINGDLL_STC @@ -98,12 +99,23 @@ #ifdef WXMAKINGDLL_BASE # define WXDLLIMPEXP_BASE WXEXPORT # define WXDLLIMPEXP_DATA_BASE(type) WXEXPORT type +# if defined(HAVE_VISIBILITY) +# define WXDLLIMPEXP_INLINE_BASE WXEXPORT +# else +# define WXDLLIMPEXP_INLINE_BASE +# endif #elif defined(WXUSINGDLL) # define WXDLLIMPEXP_BASE WXIMPORT # define WXDLLIMPEXP_DATA_BASE(type) WXIMPORT type +# if defined(HAVE_VISIBILITY) +# define WXDLLIMPEXP_INLINE_BASE WXIMPORT +# else +# define WXDLLIMPEXP_INLINE_BASE +# endif #else /* not making nor using DLL */ # define WXDLLIMPEXP_BASE # define WXDLLIMPEXP_DATA_BASE(type) type +# define WXDLLIMPEXP_INLINE_BASE #endif #ifdef WXMAKINGDLL_NET @@ -120,12 +132,23 @@ #ifdef WXMAKINGDLL_CORE # define WXDLLIMPEXP_CORE WXEXPORT # define WXDLLIMPEXP_DATA_CORE(type) WXEXPORT type +# if defined(HAVE_VISIBILITY) +# define WXDLLIMPEXP_INLINE_CORE WXEXPORT +# else +# define WXDLLIMPEXP_INLINE_CORE +# endif #elif defined(WXUSINGDLL) # define WXDLLIMPEXP_CORE WXIMPORT # define WXDLLIMPEXP_DATA_CORE(type) WXIMPORT type +# if defined(HAVE_VISIBILITY) +# define WXDLLIMPEXP_INLINE_CORE WXIMPORT +# else +# define WXDLLIMPEXP_INLINE_CORE +# endif #else /* not making nor using DLL */ # define WXDLLIMPEXP_CORE # define WXDLLIMPEXP_DATA_CORE(type) type +# define WXDLLIMPEXP_INLINE_CORE #endif #ifdef WXMAKINGDLL_ADV @@ -193,6 +216,17 @@ # define WXDLLIMPEXP_AUI #endif +#ifdef WXMAKINGDLL_PROPGRID +# define WXDLLIMPEXP_PROPGRID WXEXPORT +# define WXDLLIMPEXP_DATA_PROPGRID(type) WXEXPORT type +#elif defined(WXUSINGDLL) +# define WXDLLIMPEXP_PROPGRID WXIMPORT +# define WXDLLIMPEXP_DATA_PROPGRID(type) WXIMPORT type +#else /* not making nor using DLL */ +# define WXDLLIMPEXP_PROPGRID +# define WXDLLIMPEXP_DATA_PROPGRID(type) type +#endif + #ifdef WXMAKINGDLL_RICHTEXT # define WXDLLIMPEXP_RICHTEXT WXEXPORT #elif defined(WXUSINGDLL) @@ -210,11 +244,14 @@ #endif #ifdef WXMAKINGDLL_STC - #define WXDLLIMPEXP_STC WXEXPORT +# define WXDLLIMPEXP_STC WXEXPORT +# define WXDLLIMPEXP_DATA_STC(type) WXEXPORT type #elif defined(WXUSINGDLL) - #define WXDLLIMPEXP_STC WXIMPORT +# define WXDLLIMPEXP_STC WXIMPORT +# define WXDLLIMPEXP_DATA_STC(type) WXIMPORT type #else /* not making nor using DLL */ - #define WXDLLIMPEXP_STC +# define WXDLLIMPEXP_STC +# define WXDLLIMPEXP_DATA_STC(type) type #endif /* @@ -234,6 +271,7 @@ #define WXDLLIMPEXP_FWD_XML #define WXDLLIMPEXP_FWD_XRC #define WXDLLIMPEXP_FWD_AUI + #define WXDLLIMPEXP_FWD_PROPGRID #define WXDLLIMPEXP_FWD_RICHTEXT #define WXDLLIMPEXP_FWD_MEDIA #define WXDLLIMPEXP_FWD_STC @@ -248,6 +286,7 @@ #define WXDLLIMPEXP_FWD_XML WXDLLIMPEXP_XML #define WXDLLIMPEXP_FWD_XRC WXDLLIMPEXP_XRC #define WXDLLIMPEXP_FWD_AUI WXDLLIMPEXP_AUI + #define WXDLLIMPEXP_FWD_PROPGRID WXDLLIMPEXP_PROPGRID #define WXDLLIMPEXP_FWD_RICHTEXT WXDLLIMPEXP_RICHTEXT #define WXDLLIMPEXP_FWD_MEDIA WXDLLIMPEXP_MEDIA #define WXDLLIMPEXP_FWD_STC WXDLLIMPEXP_STC @@ -264,12 +303,14 @@ template class Foo { ... }; WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE( Foo ) - (notice that currently we only need this for the wxBase library) + (notice that currently we only need this for wxBase and wxCore libraries) */ #if defined(__VISUALC__) && (__VISUALC__ <= 1200) #ifdef WXMAKINGDLL_BASE #define WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE(decl) \ template class WXDLLIMPEXP_BASE decl; + #define WXDLLIMPEXP_TEMPLATE_INSTANCE_CORE(decl) \ + template class WXDLLIMPEXP_CORE decl; #else /* We need to disable this warning when using this macro, as @@ -281,9 +322,12 @@ #define WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE(decl) \ extern template class WXDLLIMPEXP_BASE decl; + #define WXDLLIMPEXP_TEMPLATE_INSTANCE_CORE(decl) \ + extern template class WXDLLIMPEXP_CORE decl; #endif #else /* not VC <= 6 */ #define WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE(decl) + #define WXDLLIMPEXP_TEMPLATE_INSTANCE_CORE(decl) #endif /* VC6/others */ #endif /* _WX_DLIMPEXP_H_ */