From: Daniel Stutzbach Date: Tue, 14 Sep 2010 16:07:54 +0000 (+0000) Subject: Merged revisions 84810 via svnmerge from X-Git-Tag: v3.1.3rc1~229 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bd63a9976db5f8ae5af4fdb5e639b9fd1fa948f5;p=python Merged revisions 84810 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r84810 | daniel.stutzbach | 2010-09-14 11:02:01 -0500 (Tue, 14 Sep 2010) | 1 line Remove pointers to a FAQ entry that no longer exists. Incorporate some text from the old FAQ into the docs ........ --- diff --git a/Doc/extending/windows.rst b/Doc/extending/windows.rst index 8d1986ff49..6733666061 100644 --- a/Doc/extending/windows.rst +++ b/Doc/extending/windows.rst @@ -171,7 +171,9 @@ If your module creates a new type, you may have trouble with this line:: PyVarObject_HEAD_INIT(&PyType_Type, 0) -Change it to:: +Static type object initializers in extension modules may cause +compiles to fail with an error message like "initializer not a +constant". This shows up when building DLL under MSVC. Change it to:: PyVarObject_HEAD_INIT(NULL, 0) @@ -179,8 +181,6 @@ and add the following to the module initialization function:: MyObject_Type.ob_type = &PyType_Type; -Refer to section 3 of the `Python FAQ `_ for -details on why you must do this. .. _dynamic-linking: diff --git a/Include/pyport.h b/Include/pyport.h index 6af0f96dd3..13396a2c59 100644 --- a/Include/pyport.h +++ b/Include/pyport.h @@ -663,23 +663,24 @@ extern pid_t forkpty(int *, char *, struct termios *, struct winsize *); # ifdef Py_BUILD_CORE # define PyAPI_FUNC(RTYPE) __declspec(dllexport) RTYPE # define PyAPI_DATA(RTYPE) extern __declspec(dllexport) RTYPE - /* module init functions inside the core need no external linkage */ - /* except for Cygwin to handle embedding */ + /* module init functions inside the core need no external linkage */ + /* except for Cygwin to handle embedding */ # if defined(__CYGWIN__) # define PyMODINIT_FUNC __declspec(dllexport) PyObject* # else /* __CYGWIN__ */ # define PyMODINIT_FUNC PyObject* # endif /* __CYGWIN__ */ # else /* Py_BUILD_CORE */ - /* Building an extension module, or an embedded situation */ - /* public Python functions and data are imported */ - /* Under Cygwin, auto-import functions to prevent compilation */ - /* failures similar to http://python.org/doc/FAQ.html#3.24 */ + /* Building an extension module, or an embedded situation */ + /* public Python functions and data are imported */ + /* Under Cygwin, auto-import functions to prevent compilation */ + /* failures similar to those described at the bottom of 4.1: */ + /* http://docs.python.org/extending/windows.html#a-cookbook-approach */ # if !defined(__CYGWIN__) # define PyAPI_FUNC(RTYPE) __declspec(dllimport) RTYPE # endif /* !__CYGWIN__ */ # define PyAPI_DATA(RTYPE) extern __declspec(dllimport) RTYPE - /* module init functions outside the core must be exported */ + /* module init functions outside the core must be exported */ # if defined(__cplusplus) # define PyMODINIT_FUNC extern "C" __declspec(dllexport) PyObject* # else /* __cplusplus */