Add DL_EXPORT() to all modules that could possibly be used
on BeOS or Windows.
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;