summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Stutzbach <daniel@stutzbachenterprises.com>2010-09-14 16:07:54 (GMT)
committerDaniel Stutzbach <daniel@stutzbachenterprises.com>2010-09-14 16:07:54 (GMT)
commitbd63a9976db5f8ae5af4fdb5e639b9fd1fa948f5 (patch)
tree520aa70091186908bac4bf2611be98e9505ed2f9
parent5974cdd5f598423002709d912276963c2032c69a (diff)
downloadcpython-bd63a9976db5f8ae5af4fdb5e639b9fd1fa948f5.zip
cpython-bd63a9976db5f8ae5af4fdb5e639b9fd1fa948f5.tar.gz
cpython-bd63a9976db5f8ae5af4fdb5e639b9fd1fa948f5.tar.bz2
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 ........
-rw-r--r--Doc/extending/windows.rst6
-rw-r--r--Include/pyport.h15
2 files changed, 11 insertions, 10 deletions
diff --git a/Doc/extending/windows.rst b/Doc/extending/windows.rst
index 8d1986f..6733666 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 <http://www.python.org/doc/faq>`_ for
-details on why you must do this.
.. _dynamic-linking:
diff --git a/Include/pyport.h b/Include/pyport.h
index 6af0f96..13396a2 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 */