__attribute__((constructor)), __attribute__((destructor)) and
__attribute__((unused)) are now expanded to nothing on Windows,
so that the code can compile
return GSS_S_COMPLETE;
}
-static void gssEapInitiatorInit(void) __attribute__((constructor));
-static void gssEapFinalize(void) __attribute__((destructor));
+static void gssEapInitiatorInit(void) GSSEAP_CONSTRUCTOR;
+static void gssEapFinalize(void) GSSEAP_DESTRUCTOR;
static void
gssEapInitiatorInit(void)
#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,