From 93db23ef2f128abae78101c556675d1f84c8f6e6 Mon Sep 17 00:00:00 2001 From: Daniel Stutzbach Date: Tue, 14 Sep 2010 16:10:22 +0000 Subject: [PATCH] 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 ........ --- Doc/extending/windows.rst | 6 +++--- Include/pyport.h | 15 ++++++++------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Doc/extending/windows.rst b/Doc/extending/windows.rst index aac1d2dc98..379265621c 100644 --- a/Doc/extending/windows.rst +++ b/Doc/extending/windows.rst @@ -175,7 +175,9 @@ If your module creates a new type, you may have trouble with this line:: PyObject_HEAD_INIT(&PyType_Type) -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:: PyObject_HEAD_INIT(NULL) @@ -183,8 +185,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 7c2dab0f72..1abc14c5af 100644 --- a/Include/pyport.h +++ b/Include/pyport.h @@ -724,23 +724,24 @@ extern int fdatasync(int); # 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 (FIXME: BeOS too?) */ + /* module init functions inside the core need no external linkage */ + /* except for Cygwin to handle embedding (FIXME: BeOS too?) */ # if defined(__CYGWIN__) # define PyMODINIT_FUNC __declspec(dllexport) void # else /* __CYGWIN__ */ # define PyMODINIT_FUNC void # 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) void # else /* __cplusplus */ -- 2.40.0