#define MIN(_a,_b) ((_a)<(_b)?(_a):(_b))
#endif
-#if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+#if !defined(WIN32) && !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#define GSSEAP_UNUSED __attribute__ ((__unused__))
#else
#define GSSEAP_UNUSED
#endif
+#if !defined(WIN32)
+#define GSSEAP_CONSTRUCTOR __attribute__((constructor)
+#define GSSEAP_DESTRUCTOR __attribute__((destructor))
+#else
+#define GSSEAP_CONSTRUCTOR
+#define GSSEAP_DESTRUCTOR
+#endif
+
/* util_buffer.c */
OM_uint32
makeStringBuffer(OM_uint32 *minor,