]> granicus.if.org Git - python/commitdiff
Merged revisions 84810 via svnmerge from
authorDaniel Stutzbach <daniel@stutzbachenterprises.com>
Tue, 14 Sep 2010 16:10:22 +0000 (16:10 +0000)
committerDaniel Stutzbach <daniel@stutzbachenterprises.com>
Tue, 14 Sep 2010 16:10:22 +0000 (16:10 +0000)
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
Include/pyport.h

index aac1d2dc98ec77d21032d2cf8ceec9befab16e08..379265621c9a2979d08e80ee65e7a52e40dbb172 100644 (file)
@@ -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 <http://www.python.org/doc/faq>`_ for
-details on why you must do this.
 
 
 .. _dynamic-linking:
index 7c2dab0f72e1c3df48f76d893ad452f2a0e8ec57..1abc14c5af894315f4df8087be964763e323f6f6 100644 (file)
@@ -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 */