From: Chun-wei Fan Date: Wed, 13 Jul 2011 06:47:44 +0000 (+0800) Subject: Export atk_misc_intance for VS/Win32 builds X-Git-Tag: ATK_2_1_0~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=15c2a9a1f71ba3a1c3570a168b674415972415dc;p=platform%2Fupstream%2Fatk.git Export atk_misc_intance for VS/Win32 builds The variable atk_misc_intance needs to be explicitly decorated with the __declspec(dllexport) directive to export properly on Windows/VS DLL builds (which is the standard build). The corresponding mechanism for linking to the ATK DLL is also updated as well with extern __declspec(dllimport). This will allow GTK+ 3.1.9+ (with the a11y functions)to link correctly on Visual C++ . --- diff --git a/atk/atkmisc.h b/atk/atkmisc.h index dda4568..2fad4aa 100755 --- a/atk/atkmisc.h +++ b/atk/atkmisc.h @@ -26,6 +26,29 @@ #include +/* We prefix variable declarations so they can + * properly get exported in Windows DLLs. + */ +#ifndef ATK_VAR +# ifdef G_PLATFORM_WIN32 +# ifdef ATK_STATIC_COMPILATION +# define ATK_VAR extern +# else /* !ATK_STATIC_COMPILATION */ +# ifdef ATK_COMPILATION +# ifdef DLL_EXPORT +# define ATK_VAR __declspec(dllexport) +# else /* !DLL_EXPORT */ +# define ATK_VAR extern +# endif /* !DLL_EXPORT */ +# else /* !ATK_COMPILATION */ +# define ATK_VAR extern __declspec(dllimport) +# endif /* !ATK_COMPILATION */ +# endif /* !ATK_STATIC_COMPILATION */ +# else /* !G_PLATFORM_WIN32 */ +# define ATK_VAR extern +# endif /* !G_PLATFORM_WIN32 */ +#endif /* ATK_VAR */ + G_BEGIN_DECLS #define ATK_TYPE_MISC (atk_misc_get_type ()) @@ -52,7 +75,7 @@ struct _AtkMisc * a given GUI toolkit/application instance should touch this * symbol directly. */ -extern AtkMisc *atk_misc_instance; +ATK_VAR AtkMisc *atk_misc_instance; struct _AtkMiscClass {