Excise DL_EXPORT/DL_IMPORT from Modules/*. Required adding a prototype

for Py_Main().

Thanks to Kalle Svensson and Skip Montanaro for the patches.
This commit is contained in:
Mark Hammond 2002-08-02 02:27:13 +00:00
parent d3c884d4ea
commit fe51c6d66e
53 changed files with 71 additions and 61 deletions

View File

@ -78,6 +78,9 @@ DL_IMPORT(void) Py_Exit(int);
DL_IMPORT(int) Py_FdIsInteractive(FILE *, char *);
/* Bootstrap */
PyAPI_FUNC(int) Py_Main(int argc, char **argv);
/* In getpath.c */
PyAPI_FUNC(char *) Py_GetProgramFullPath(void);
PyAPI_FUNC(char *) Py_GetPrefix(void);

View File

@ -703,7 +703,7 @@ static PyMethodDef _codecs_functions[] = {
{NULL, NULL} /* sentinel */
};
DL_EXPORT(void)
PyMODINIT_FUNC
init_codecs(void)
{
Py_InitModule("_codecs", _codecs_functions);

View File

@ -445,7 +445,7 @@ static PyMethodDef PyCurses_methods[] = {
/* Initialization function for the module */
DL_EXPORT(void)
PyMODINIT_FUNC
init_curses_panel(void)
{
PyObject *m, *d, *v;

View File

@ -2474,7 +2474,7 @@ static PyMethodDef PyCurses_methods[] = {
/* Initialization function for the module */
DL_EXPORT(void)
PyMODINIT_FUNC
init_curses(void)
{
PyObject *m, *d, *v, *c_api_object;

View File

@ -649,7 +649,7 @@ static struct PyMethodDef PyLocale_Methods[] = {
{NULL, NULL}
};
DL_EXPORT(void)
PyMODINIT_FUNC
init_locale(void)
{
PyObject *m, *d, *x;

View File

@ -473,7 +473,7 @@ PyDoc_STRVAR(module_doc,
"Implementation module for SSL socket operations. See the socket module\n\
for documentation.");
DL_EXPORT(void)
PyMODINIT_FUNC
init_ssl(void)
{
PyObject *m, *d;

View File

@ -109,7 +109,7 @@ weakref_functions[] = {
};
DL_EXPORT(void)
PyMODINIT_FUNC
init_weakref(void)
{
PyObject *m;

View File

@ -1908,7 +1908,7 @@ static PyMethodDef a_methods[] = {
};
DL_EXPORT(void)
PyMODINIT_FUNC
initarray(void)
{
PyObject *m;

View File

@ -1369,7 +1369,7 @@ static PyMethodDef audioop_methods[] = {
{ 0, 0 }
};
DL_EXPORT(void)
PyMODINIT_FUNC
initaudioop(void)
{
PyObject *m, *d;

View File

@ -1313,7 +1313,7 @@ static struct PyMethodDef binascii_module_methods[] = {
/* Initialization function for the module (*must* be called initbinascii) */
PyDoc_STRVAR(doc_binascii, "Conversion between binary data and ASCII");
DL_EXPORT(void)
PyMODINIT_FUNC
initbinascii(void)
{
PyObject *m, *d, *x;

View File

@ -4789,10 +4789,10 @@ init_stuff(PyObject *module_dict)
return 0;
}
#ifndef DL_EXPORT /* declarations for DLL import/export */
#define DL_EXPORT(RTYPE) RTYPE
#ifndef PyMODINIT_FUNC /* declarations for DLL import/export */
#define PyMODINIT_FUNC void
#endif
DL_EXPORT(void)
PyMODINIT_FUNC
initcPickle(void)
{
PyObject *m, *d, *di, *v, *k;

View File

@ -701,10 +701,10 @@ static struct PycStringIO_CAPI CAPI = {
&Otype,
};
#ifndef DL_EXPORT /* declarations for DLL import/export */
#define DL_EXPORT(RTYPE) RTYPE
#ifndef PyMODINIT_FUNC /* declarations for DLL import/export */
#define PyMODINIT_FUNC void
#endif
DL_EXPORT(void)
PyMODINIT_FUNC
initcStringIO(void) {
PyObject *m, *d, *v;

View File

@ -391,7 +391,7 @@ static PyMethodDef cmath_methods[] = {
{NULL, NULL} /* sentinel */
};
DL_EXPORT(void)
PyMODINIT_FUNC
initcmath(void)
{
PyObject *m;

View File

@ -37,7 +37,7 @@ static PyMethodDef crypt_methods[] = {
{NULL, NULL} /* sentinel */
};
DL_EXPORT(void)
PyMODINIT_FUNC
initcrypt(void)
{
Py_InitModule("crypt", crypt_methods);

View File

@ -339,7 +339,7 @@ static PyMethodDef dbmmodule_methods[] = {
{ 0, 0 },
};
DL_EXPORT(void)
PyMODINIT_FUNC
initdbm(void) {
PyObject *m, *d, *s;

View File

@ -209,7 +209,7 @@ insint(PyObject *d, char *name, int value)
Py_XDECREF(v);
}
DL_EXPORT(void)
PyMODINIT_FUNC
initdl(void)
{
PyObject *m, *d, *x;

View File

@ -57,7 +57,7 @@ Symbols that are not relevant to the underlying system are not defined.\n\
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'.");
DL_EXPORT(void)
PyMODINIT_FUNC
initerrno(void)
{
PyObject *m, *d, *de;

View File

@ -462,7 +462,7 @@ all_ins(PyObject* d)
return 0;
}
DL_EXPORT(void)
PyMODINIT_FUNC
initfcntl(void)
{
PyObject *m, *d;

View File

@ -2126,7 +2126,7 @@ static PyMethodDef forms_methods[] = {
{NULL, NULL} /* sentinel */
};
DL_EXPORT(void)
PyMODINIT_FUNC
initfl(void)
{
Py_InitModule("fl", forms_methods);

View File

@ -86,7 +86,7 @@ static Sigfunc sigfpe_handler;
static void fpe_reset(Sigfunc *);
static PyObject *fpe_error;
DL_EXPORT(void) initfpectl(void);
PyMODINIT_FUNC initfpectl(void);
static PyObject *turnon_sigfpe (PyObject *self,PyObject *args);
static PyObject *turnoff_sigfpe (PyObject *self,PyObject *args);
@ -249,7 +249,7 @@ static void sigfpe_handler(int signo)
}
}
DL_EXPORT(void) initfpectl(void)
PyMODINIT_FUNC initfpectl(void)
{
PyObject *m, *d;
m = Py_InitModule("fpectl", fpectl_methods);

View File

@ -44,7 +44,7 @@
#include "Python.h"
static PyObject *fpe_error;
DL_EXPORT(void) initfpetest(void);
PyMODINIT_FUNC initfpetest(void);
static PyObject *test(PyObject *self,PyObject *args);
static double db0(double);
static double overflow(double);
@ -172,7 +172,7 @@ static double overflow(double b)
return a;
}
DL_EXPORT(void) initfpetest(void)
PyMODINIT_FUNC initfpetest(void)
{
PyObject *m, *d;

View File

@ -504,7 +504,7 @@ static PyMethodDef dbmmodule_methods[] = {
{ 0, 0 },
};
DL_EXPORT(void)
PyMODINIT_FUNC
initgdbm(void) {
PyObject *m, *d, *s;

View File

@ -156,7 +156,7 @@ according to the password database. Check both databases to get\n\
complete membership information.)");
DL_EXPORT(void)
PyMODINIT_FUNC
initgrp(void)
{
PyObject *m, *d;

View File

@ -696,7 +696,7 @@ static PyMethodDef imageop_methods[] = {
};
DL_EXPORT(void)
PyMODINIT_FUNC
initimageop(void)
{
PyObject *m, *d;

View File

@ -105,7 +105,7 @@ usage(int exitcode, char* program)
/* Main program */
DL_EXPORT(int)
int
Py_Main(int argc, char **argv)
{
int c;

View File

@ -334,7 +334,7 @@ PyDoc_STRVAR(module_doc,
"This module is always available. It provides access to the\n"
"mathematical functions defined by the C standard.");
DL_EXPORT(void)
PyMODINIT_FUNC
initmath(void)
{
PyObject *m, *d, *v;

View File

@ -253,7 +253,7 @@ static PyMethodDef md5_functions[] = {
/* Initialize this module. */
DL_EXPORT(void)
PyMODINIT_FUNC
initmd5(void)
{
PyObject *m, *d;

View File

@ -1644,7 +1644,7 @@ void mp_free(void *ptr, size_t size)
/* Initialize this module. */
DL_EXPORT(void)
PyMODINIT_FUNC
initmpz(void)
{
PyObject *module;

View File

@ -219,7 +219,7 @@ spam2(ge,__ge__, "ge(a, b) -- Same as a>=b.")
/* Initialization function for the module (*must* be called initoperator) */
DL_EXPORT(void)
PyMODINIT_FUNC
initoperator(void)
{
/* Create the module and add the functions */

View File

@ -610,7 +610,7 @@ insint(PyObject *d, char *name, int value)
/* Initialization function for the module (*must* be called initpcre) */
DL_EXPORT(void)
PyMODINIT_FUNC
initpcre(void)
{
PyObject *m, *d;

View File

@ -3211,6 +3211,7 @@ _PyPopenCreateProcess(char *cmdstring,
{
PROCESS_INFORMATION piProcInfo;
STARTUPINFO siStartInfo;
DWORD dwProcessFlags = 0; /* no NEW_CONSOLE by default for Ctrl+C handling */
char *s1,*s2, *s3 = " /c ";
const char *szConsoleSpawn = "w9xpopen.exe";
int i;
@ -3303,6 +3304,16 @@ _PyPopenCreateProcess(char *cmdstring,
s1,
s3,
cmdstring);
/* Not passing CREATE_NEW_CONSOLE has been known to
cause random failures on win9x. Specifically a
dialog:
"Your program accessed mem currently in use at xxx"
and a hopeful warning about the stability of your
system.
Cost is Ctrl+C wont kill children, but anyone
who cares can have a go!
*/
dwProcessFlags |= CREATE_NEW_CONSOLE;
}
}
@ -3328,7 +3339,7 @@ _PyPopenCreateProcess(char *cmdstring,
NULL,
NULL,
TRUE,
0, /* no new console so Ctrl+C kills child too */
dwProcessFlags,
NULL,
NULL,
&siStartInfo,
@ -6746,7 +6757,7 @@ all_ins(PyObject *d)
#define MODNAME "posix"
#endif
DL_EXPORT(void)
PyMODINIT_FUNC
INITFUNC(void)
{
PyObject *m, *v;

View File

@ -157,7 +157,7 @@ static PyMethodDef pwd_methods[] = {
{NULL, NULL} /* sentinel */
};
DL_EXPORT(void)
PyMODINIT_FUNC
initpwd(void)
{
PyObject *m;

View File

@ -2,8 +2,6 @@
#include "Python.h"
extern DL_EXPORT(int) Py_Main(int, char **);
int
main(int argc, char **argv)
{

View File

@ -652,7 +652,7 @@ call_readline(char *prompt)
PyDoc_STRVAR(doc_module,
"Importing this module enables command line editing using GNU readline.");
DL_EXPORT(void)
PyMODINIT_FUNC
initreadline(void)
{
PyObject *m;

View File

@ -642,7 +642,7 @@ static struct PyMethodDef regex_global_methods[] = {
{NULL, NULL} /* sentinel */
};
DL_EXPORT(void)
PyMODINIT_FUNC
initregex(void)
{
PyObject *m, *d, *v;

View File

@ -210,7 +210,7 @@ resource_methods[] = {
/* Module initialization */
DL_EXPORT(void)
PyMODINIT_FUNC
initresource(void)
{
PyObject *m, *v;

View File

@ -751,7 +751,7 @@ rgbimg_methods[] = {
};
DL_EXPORT(void)
PyMODINIT_FUNC
initrgbimg(void)
{
PyObject *m, *d;

View File

@ -615,7 +615,7 @@ rotor_methods[] = {
};
DL_EXPORT(void)
PyMODINIT_FUNC
initrotor(void)
{
Rotor_Type.ob_type = &PyType_Type;

View File

@ -525,7 +525,7 @@ static struct PyMethodDef SHA_functions[] = {
#define insint(n,v) { PyModule_AddIntConstant(m,n,v); }
DL_EXPORT(void)
PyMODINIT_FUNC
initsha(void)
{
PyObject *m;

View File

@ -469,7 +469,7 @@ SIGINT, SIGTERM, etc. -- signal numbers\n\
A signal handler function is called with two arguments:\n\
the first is the signal number, the second is the interrupted stack frame.");
DL_EXPORT(void)
PyMODINIT_FUNC
initsignal(void)
{
PyObject *m, *d, *x;

View File

@ -3008,7 +3008,7 @@ PyDoc_STRVAR(socket_doc,
"Implementation module for socket operations. See the socket module\n\
for documentation.");
DL_EXPORT(void)
PyMODINIT_FUNC
init_socket(void)
{
PyObject *m;

View File

@ -1203,7 +1203,7 @@ strop_methods[] = {
};
DL_EXPORT(void)
PyMODINIT_FUNC
initstrop(void)
{
PyObject *m, *s;

View File

@ -1499,7 +1499,7 @@ static PyMethodDef struct_methods[] = {
/* Module initialization */
DL_EXPORT(void)
PyMODINIT_FUNC
initstruct(void)
{
PyObject *m;

View File

@ -43,7 +43,7 @@ static PyMethodDef symtable_methods[] = {
{NULL, NULL} /* sentinel */
};
DL_EXPORT(void)
PyMODINIT_FUNC
init_symtable(void)
{
PyObject *m;

View File

@ -155,7 +155,7 @@ static PyMethodDef syslog_methods[] = {
/* Initialization function for the module */
DL_EXPORT(void)
PyMODINIT_FUNC
initsyslog(void)
{
PyObject *m;

View File

@ -892,7 +892,7 @@ static struct constant {
};
DL_EXPORT(void)
PyMODINIT_FUNC
PyInit_termios(void)
{
PyObject *m;

View File

@ -360,7 +360,7 @@ A lock is not owned by the thread that locked it; another thread may\n\
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.");
DL_EXPORT(void)
PyMODINIT_FUNC
initthread(void)
{
PyObject *m, *d;

View File

@ -620,7 +620,7 @@ strftime() -- convert time tuple to string according to format specification\n\
strptime() -- parse string to time tuple according to format specification");
DL_EXPORT(void)
PyMODINIT_FUNC
inittime(void)
{
PyObject *m;

View File

@ -52,7 +52,7 @@ static PyMethodDef timing_methods[] = {
};
DL_EXPORT(void) inittiming(void)
PyMODINIT_FUNC inittiming(void)
{
(void)Py_InitModule("timing", timing_methods);
}

View File

@ -168,7 +168,7 @@ static PyMethodDef xreadlines_functions[] = {
{NULL, NULL}
};
DL_EXPORT(void)
PyMODINIT_FUNC
initxreadlines(void)
{
XReadlinesObject_Type.ob_type = &PyType_Type;

View File

@ -218,7 +218,7 @@ static PyMethodDef xx_methods[] = {
/* Initialization function for the module (*must* be called initxx) */
DL_EXPORT(void)
PyMODINIT_FUNC
initxx(void)
{
PyObject *m;

View File

@ -263,7 +263,7 @@ static PyMethodDef xxsubtype_functions[] = {
{NULL, NULL} /* sentinel */
};
DL_EXPORT(void)
PyMODINIT_FUNC
initxxsubtype(void)
{
PyObject *m;

View File

@ -5,8 +5,6 @@
#include "Python.h"
extern int Py_Main(int, char **);
int WINAPI WinMain(
HINSTANCE hInstance, /* handle to current instance */
HINSTANCE hPrevInstance, /* handle to previous instance */