diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
index b42a2bc..b68fd7d 100644
--- a/Modules/_cursesmodule.c
+++ b/Modules/_cursesmodule.c
@@ -1522,7 +1522,7 @@
 
 /* Initialization function for the module */
 
-void
+DL_EXPORT(void)
 initcurses()
 {
 	PyObject *m, *d, *v;
diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c
index 2f7a42b..3b84729 100644
--- a/Modules/_localemodule.c
+++ b/Modules/_localemodule.c
@@ -309,7 +309,7 @@
   {NULL, NULL}
 };
 
-void
+DL_EXPORT(void)
 init_locale()
 {
   PyObject *m,*d,*x;
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index 86a4e58..9d68c69 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -2006,7 +2006,7 @@
 }
 
 
-void
+DL_EXPORT(void)
 init_tkinter()
 {
 	PyObject *m, *d;
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index fc31b31..656f5a6 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -1457,7 +1457,7 @@
 	arraytype_doc,			/*tp_doc*/
 };
 
-void
+DL_EXPORT(void)
 initarray()
 {
 	PyObject *m, *d;
diff --git a/Modules/audioop.c b/Modules/audioop.c
index e7edfec..76fba98 100644
--- a/Modules/audioop.c
+++ b/Modules/audioop.c
@@ -1402,7 +1402,7 @@
 	{ 0,          0 }
 };
 
-void
+DL_EXPORT(void)
 initaudioop()
 {
 	PyObject *m, *d;
diff --git a/Modules/binascii.c b/Modules/binascii.c
index 26e4b6c..73dc27a 100644
--- a/Modules/binascii.c
+++ b/Modules/binascii.c
@@ -742,7 +742,7 @@
 /* Initialization function for the module (*must* be called initbinascii) */
 static char doc_binascii[] = "Conversion between binary data and ASCII";
 
-void
+DL_EXPORT(void)
 initbinascii()
 {
 	PyObject *m, *d, *x;
diff --git a/Modules/bsddbmodule.c b/Modules/bsddbmodule.c
index ca7fa5f..1bb40e6 100644
--- a/Modules/bsddbmodule.c
+++ b/Modules/bsddbmodule.c
@@ -865,7 +865,7 @@
 	{0,		0},
 };
 
-void
+DL_EXPORT(void)
 initbsddb() {
 	PyObject *m, *d;
 
diff --git a/Modules/cStringIO.c b/Modules/cStringIO.c
index 6828a11..19a0450 100644
--- a/Modules/cStringIO.c
+++ b/Modules/cStringIO.c
@@ -589,7 +589,7 @@
   &Otype,
 };
 
-void
+DL_EXPORT(void)
 initcStringIO() {
   PyObject *m, *d, *v;
 
diff --git a/Modules/cmathmodule.c b/Modules/cmathmodule.c
index 4e08722..583a629 100644
--- a/Modules/cmathmodule.c
+++ b/Modules/cmathmodule.c
@@ -301,7 +301,7 @@
 	{NULL,		NULL}		/* sentinel */
 };
 
-void
+DL_EXPORT(void)
 initcmath()
 {
 	PyObject *m, *d, *v;
diff --git a/Modules/cryptmodule.c b/Modules/cryptmodule.c
index 1498bb0..7cc03be 100644
--- a/Modules/cryptmodule.c
+++ b/Modules/cryptmodule.c
@@ -27,7 +27,7 @@
 	{NULL,		NULL}		/* sentinel */
 };
 
-void
+DL_EXPORT(void)
 initcrypt()
 {
 	Py_InitModule("crypt", crypt_methods);
diff --git a/Modules/dbmmodule.c b/Modules/dbmmodule.c
index ea628f1..7a234a2 100644
--- a/Modules/dbmmodule.c
+++ b/Modules/dbmmodule.c
@@ -311,7 +311,7 @@
 	{ 0, 0 },
 };
 
-void
+DL_EXPORT(void)
 initdbm() {
 	PyObject *m, *d;
 
diff --git a/Modules/errnomodule.c b/Modules/errnomodule.c
index 8120075..f18a655 100644
--- a/Modules/errnomodule.c
+++ b/Modules/errnomodule.c
@@ -94,7 +94,7 @@
 To map error codes to error messages, use the function os.strerror(),\n\
 e.g. os.strerror(2) could return 'No such file or directory'.";
 
-void
+DL_EXPORT(void)
 initerrno()
 {
 	PyObject *m, *d, *de;
diff --git a/Modules/fcntlmodule.c b/Modules/fcntlmodule.c
index 6e7c1c2..59a4d4a 100644
--- a/Modules/fcntlmodule.c
+++ b/Modules/fcntlmodule.c
@@ -320,7 +320,7 @@
 	return 0;
 }
 
-void
+DL_EXPORT(void)
 initfcntl()
 {
 	PyObject *m, *d;
diff --git a/Modules/flmodule.c b/Modules/flmodule.c
index 2e2dd5e..c921d4b 100644
--- a/Modules/flmodule.c
+++ b/Modules/flmodule.c
@@ -2520,7 +2520,7 @@
 	{NULL,			NULL}		/* sentinel */
 };
 
-void
+DL_EXPORT(void)
 initfl()
 {
 	Py_InitModule("fl", forms_methods);
diff --git a/Modules/fpectlmodule.c b/Modules/fpectlmodule.c
index e2a8022..ca3a2c9 100644
--- a/Modules/fpectlmodule.c
+++ b/Modules/fpectlmodule.c
@@ -227,7 +227,7 @@
     }
 }
 
-void initfpectl(void)
+DL_EXPORT(void) initfpectl(void)
 {
     PyObject *m, *d;
     m = Py_InitModule("fpectl", fpectl_methods);
diff --git a/Modules/fpetestmodule.c b/Modules/fpetestmodule.c
index 61dd3db..c1e87ce 100644
--- a/Modules/fpetestmodule.c
+++ b/Modules/fpetestmodule.c
@@ -172,7 +172,7 @@
   return a;
 }
 
-void initfpetest(void)
+DL_EXPORT(void) initfpetest(void)
 {
     PyObject *m, *d;
 
diff --git a/Modules/gdbmmodule.c b/Modules/gdbmmodule.c
index ae716ac..0df7df2 100644
--- a/Modules/gdbmmodule.c
+++ b/Modules/gdbmmodule.c
@@ -514,7 +514,7 @@
 	{ 0, 0 },
 };
 
-void
+DL_EXPORT(void)
 initgdbm() {
 	PyObject *m, *d;
 
diff --git a/Modules/grpmodule.c b/Modules/grpmodule.c
index 0199b6b..c5a4043 100644
--- a/Modules/grpmodule.c
+++ b/Modules/grpmodule.c
@@ -125,7 +125,7 @@
 	{NULL,		NULL}		/* sentinel */
 };
 
-void
+DL_EXPORT(void)
 initgrp()
 {
 	Py_InitModule("grp", grp_methods);
diff --git a/Modules/imageop.c b/Modules/imageop.c
index 7b82e04..5572c9f 100644
--- a/Modules/imageop.c
+++ b/Modules/imageop.c
@@ -758,7 +758,7 @@
 };
 
 
-void
+DL_EXPORT(void)
 initimageop()
 {
 	PyObject *m, *d;
diff --git a/Modules/makesetup b/Modules/makesetup
index b29938c..8ce1e88 100755
--- a/Modules/makesetup
+++ b/Modules/makesetup
@@ -234,6 +234,7 @@
 	*)  sed -e "
 		1i$NL/* Generated automatically from $config by makesetup. */
 		/MARKER 1/i$NL$EXTDECLS
+ 
 		/MARKER 2/i$NL$INITBITS
 
 		" $config >config.c
diff --git a/Modules/mathmodule.c b/Modules/mathmodule.c
index 174a231..7c11e6f 100644
--- a/Modules/mathmodule.c
+++ b/Modules/mathmodule.c
@@ -233,7 +233,7 @@
 	{NULL,		NULL}		/* sentinel */
 };
 
-void
+DL_EXPORT(void)
 initmath()
 {
 	PyObject *m, *d, *v;
diff --git a/Modules/md5module.c b/Modules/md5module.c
index e82d339..2508f52 100644
--- a/Modules/md5module.c
+++ b/Modules/md5module.c
@@ -267,7 +267,7 @@
 
 /* Initialize this module. */
 
-void
+DL_EXPORT(void)
 initmd5()
 {
 	PyObject *m, *d;
diff --git a/Modules/mpzmodule.c b/Modules/mpzmodule.c
index 4299f45..e1fd7bf 100644
--- a/Modules/mpzmodule.c
+++ b/Modules/mpzmodule.c
@@ -1819,7 +1819,7 @@
 
 /* Initialize this module. */
 
-void
+DL_EXPORT(void)
 initmpz()
 {
 	PyObject *module;
diff --git a/Modules/newmodule.c b/Modules/newmodule.c
index 5c92e0e..786ddc5 100644
--- a/Modules/newmodule.c
+++ b/Modules/newmodule.c
@@ -226,7 +226,7 @@
 \n\
 You need to know a great deal about the interpreter to use this!";
 
-void
+DL_EXPORT(void)
 initnew()
 {
 	Py_InitModule4("new", new_methods, new_doc, (PyObject *)NULL,
diff --git a/Modules/operator.c b/Modules/operator.c
index 8b3c56b..d790d7c 100644
--- a/Modules/operator.c
+++ b/Modules/operator.c
@@ -255,7 +255,7 @@
 
 /* Initialization function for the module (*must* be called initoperator) */
 
-void
+DL_EXPORT(void)
 initoperator()
 {
         /* Create the module and add the functions */
diff --git a/Modules/parsermodule.c b/Modules/parsermodule.c
index cd8381c..d0ba9e9 100644
--- a/Modules/parsermodule.c
+++ b/Modules/parsermodule.c
@@ -2746,7 +2746,7 @@
     };
 
 
-void
+DL_EXPORT(void)
 initparser()
  {
     PyObject* module;
diff --git a/Modules/pcremodule.c b/Modules/pcremodule.c
index 9819fdd..fa98696 100644
--- a/Modules/pcremodule.c
+++ b/Modules/pcremodule.c
@@ -636,7 +636,7 @@
 
 /* Initialization function for the module (*must* be called initpcre) */
 
-void
+DL_EXPORT(void)
 initpcre()
 {
 	PyObject *m, *d;
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 876522b..f9f6284 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -2899,7 +2899,7 @@
 #endif
 #endif
 
-void
+DL_EXPORT(void)
 INITFUNC()
 {
 	PyObject *m, *d, *v;
diff --git a/Modules/pwdmodule.c b/Modules/pwdmodule.c
index 732e4dc..00522b9 100644
--- a/Modules/pwdmodule.c
+++ b/Modules/pwdmodule.c
@@ -164,7 +164,7 @@
 	{NULL,		NULL}		/* sentinel */
 };
 
-void
+DL_EXPORT(void)
 initpwd()
 {
 	Py_InitModule4("pwd", pwd_methods, pwd__doc__,
diff --git a/Modules/readline.c b/Modules/readline.c
index 915cc4a..08569f6 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -304,7 +304,7 @@
 static char doc_module[] =
 "Importing this module enables command line editing using GNU readline.";
 
-void
+DL_EXPORT(void)
 initreadline()
 {
 	PyObject *m;
diff --git a/Modules/regexmodule.c b/Modules/regexmodule.c
index afc7722..1f64f61 100644
--- a/Modules/regexmodule.c
+++ b/Modules/regexmodule.c
@@ -707,7 +707,7 @@
 	{NULL,		NULL}		     /* sentinel */
 };
 
-void
+DL_EXPORT(void)
 initregex()
 {
 	PyObject *m, *d, *v;
diff --git a/Modules/rgbimgmodule.c b/Modules/rgbimgmodule.c
index 94b055d..cc5c6d5 100644
--- a/Modules/rgbimgmodule.c
+++ b/Modules/rgbimgmodule.c
@@ -788,7 +788,7 @@
 };
 
 
-void
+DL_EXPORT(void)
 initrgbimg()
 {
 	PyObject *m, *d;
diff --git a/Modules/rotormodule.c b/Modules/rotormodule.c
index 5c7d582..b3511d8 100644
--- a/Modules/rotormodule.c
+++ b/Modules/rotormodule.c
@@ -655,7 +655,7 @@
 };
 
 
-void
+DL_EXPORT(void)
 initrotor()
 {
 	(void)Py_InitModule("rotor", rotor_methods);
diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c
index dfc765c..11f72f5 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
@@ -378,7 +378,7 @@
 *** IMPORTANT NOTICE ***\n\
 On Windows, only sockets are supported; on Unix, all file descriptors.";
 
-void
+DL_EXPORT(void)
 initselect()
 {
 	PyObject *m, *d;
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
index 8795463..11b624a 100644
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -339,7 +339,7 @@
 A signal handler function is called with two arguments:\n\
 the first is the signal number, the second is the interrupted stack frame.";
 
-void
+DL_EXPORT(void)
 initsignal()
 {
 	PyObject *m, *d, *x;
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 9d672a6..0564e17 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -1887,7 +1887,7 @@
 \n\
 (*) not available on all platforms!)";
 
-void
+DL_EXPORT(void)
 #if defined(MS_WINDOWS) || defined(PYOS_OS2) || defined(__BEOS__)
 init_socket()
 #else
diff --git a/Modules/soundex.c b/Modules/soundex.c
index fe00ac6..3ef6824 100644
--- a/Modules/soundex.c
+++ b/Modules/soundex.c
@@ -166,7 +166,7 @@
 
 /* Register the method table.
  */
-void
+DL_EXPORT(void)
 initsoundex()
 {
     (void) Py_InitModule4("soundex",
diff --git a/Modules/stdwinmodule.c b/Modules/stdwinmodule.c
index a272047..8b18f49 100644
--- a/Modules/stdwinmodule.c
+++ b/Modules/stdwinmodule.c
@@ -2611,7 +2611,7 @@
 }
 #endif /* macintosh */
 
-void
+DL_EXPORT(void)
 initstdwin()
 {
 	PyObject *m, *d;
diff --git a/Modules/stropmodule.c b/Modules/stropmodule.c
index 240a056..9e9fa04 100644
--- a/Modules/stropmodule.c
+++ b/Modules/stropmodule.c
@@ -1189,7 +1189,7 @@
 };
 
 
-void
+DL_EXPORT(void)
 initstrop()
 {
 	PyObject *m, *d, *s;
diff --git a/Modules/structmodule.c b/Modules/structmodule.c
index a20d5ff..9994d20 100644
--- a/Modules/structmodule.c
+++ b/Modules/structmodule.c
@@ -1358,7 +1358,7 @@
 
 /* Module initialization */
 
-void
+DL_EXPORT(void)
 initstruct()
 {
 	PyObject *m, *d;
diff --git a/Modules/syslogmodule.c b/Modules/syslogmodule.c
index f55a77c..60889b1 100644
--- a/Modules/syslogmodule.c
+++ b/Modules/syslogmodule.c
@@ -182,7 +182,7 @@
 
 /* Initialization function for the module */
 
-void
+DL_EXPORT(void)
 initsyslog()
 {
 	PyObject *m, *d;
diff --git a/Modules/termios.c b/Modules/termios.c
index e2ef5d0..f87cea7 100644
--- a/Modules/termios.c
+++ b/Modules/termios.c
@@ -299,7 +299,7 @@
 	{NULL, NULL}
 };
 
-void
+DL_EXPORT(void)
 PyInit_termios()
 {
 	PyObject *m, *d;
diff --git a/Modules/threadmodule.c b/Modules/threadmodule.c
index a1ba362..b08ff0b 100644
--- a/Modules/threadmodule.c
+++ b/Modules/threadmodule.c
@@ -424,7 +424,7 @@
 unlock it.  A thread attempting to lock a lock that it has already locked\n\
 will block until another thread unlocks it.  Deadlocks may ensue.";
 
-void
+DL_EXPORT(void)
 initthread()
 {
 	PyObject *m, *d;
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index 0a0322d..e862ae5 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -596,7 +596,7 @@
 ";
   
 
-void
+DL_EXPORT(void)
 inittime()
 {
 	PyObject *m, *d;
diff --git a/Modules/timingmodule.c b/Modules/timingmodule.c
index a07ecef..bbccb43 100644
--- a/Modules/timingmodule.c
+++ b/Modules/timingmodule.c
@@ -79,7 +79,7 @@
 };
 
 
-void inittiming()
+DL_EXPORT(void) inittiming()
 {
 	(void)Py_InitModule("timing", timing_methods);
 	if (PyErr_Occurred())
diff --git a/Modules/xxmodule.c b/Modules/xxmodule.c
index 8de3c5d..529f521 100644
--- a/Modules/xxmodule.c
+++ b/Modules/xxmodule.c
@@ -237,7 +237,7 @@
 
 /* Initialization function for the module (*must* be called initxx) */
 
-void
+DL_EXPORT(void)
 initxx()
 {
 	PyObject *m, *d;
diff --git a/Modules/zlibmodule.c b/Modules/zlibmodule.c
index fc892d0..3e4e23d 100644
--- a/Modules/zlibmodule.c
+++ b/Modules/zlibmodule.c
@@ -788,7 +788,7 @@
 "objects support decompress() and flush()."
 ;
 
-void
+DL_EXPORT(void)
 PyInit_zlib()
 {
         PyObject *m, *d, *ver;
