[pypy-svn] pypy mingw32-build: cpyext fixes for the mingw32 compiler
amauryfa
commits-noreply at bitbucket.org
Fri Apr 29 12:07:19 CEST 2011
Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: mingw32-build
Changeset: r43757:e935245ba765
Date: 2011-04-29 11:58 +0200
http://bitbucket.org/pypy/pypy/changeset/e935245ba765/
Log: cpyext fixes for the mingw32 compiler
diff --git a/pypy/module/cpyext/test/test_cpyext.py b/pypy/module/cpyext/test/test_cpyext.py
--- a/pypy/module/cpyext/test/test_cpyext.py
+++ b/pypy/module/cpyext/test/test_cpyext.py
@@ -184,8 +184,9 @@
api_library = state.api_lib
if sys.platform == 'win32':
kwds["libraries"] = [api_library]
- # '%s' undefined; assuming extern returning int
- kwds["compile_extra"] = ["/we4013"]
+ if platform.platform.name == "msvc":
+ # '%s' undefined; assuming extern returning int
+ kwds["compile_extra"] = ["/we4013"]
else:
kwds["link_files"] = [str(api_library + '.so')]
if sys.platform == 'linux2':
diff --git a/pypy/module/cpyext/__init__.py b/pypy/module/cpyext/__init__.py
--- a/pypy/module/cpyext/__init__.py
+++ b/pypy/module/cpyext/__init__.py
@@ -12,46 +12,50 @@
appleveldefs = {
}
+ def __init__(self, space, w_name):
+ MixedModule.__init__(self, space, w_name)
+
+ # import these modules to register api functions by side-effect
+ import pypy.module.cpyext.thread
+ import pypy.module.cpyext.pyobject
+ import pypy.module.cpyext.boolobject
+ import pypy.module.cpyext.floatobject
+ import pypy.module.cpyext.modsupport
+ import pypy.module.cpyext.pythonrun
+ import pypy.module.cpyext.pyerrors
+ import pypy.module.cpyext.typeobject
+ import pypy.module.cpyext.object
+ import pypy.module.cpyext.stringobject
+ import pypy.module.cpyext.tupleobject
+ import pypy.module.cpyext.dictobject
+ import pypy.module.cpyext.intobject
+ import pypy.module.cpyext.longobject
+ import pypy.module.cpyext.listobject
+ import pypy.module.cpyext.sequence
+ import pypy.module.cpyext.eval
+ import pypy.module.cpyext.import_
+ import pypy.module.cpyext.mapping
+ import pypy.module.cpyext.iterator
+ import pypy.module.cpyext.unicodeobject
+ import pypy.module.cpyext.sysmodule
+ import pypy.module.cpyext.number
+ import pypy.module.cpyext.sliceobject
+ import pypy.module.cpyext.stubsactive
+ import pypy.module.cpyext.pystate
+ import pypy.module.cpyext.cdatetime
+ import pypy.module.cpyext.complexobject
+ import pypy.module.cpyext.weakrefobject
+ import pypy.module.cpyext.funcobject
+ import pypy.module.cpyext.frameobject
+ import pypy.module.cpyext.classobject
+ import pypy.module.cpyext.pypyintf
+ import pypy.module.cpyext.memoryobject
+ import pypy.module.cpyext.codecs
+ import pypy.module.cpyext.pyfile
+
+ # now that all rffi_platform.Struct types are registered, configure them
+ api.configure_types()
+
def startup(self, space):
space.fromcache(State).startup(space)
-# import these modules to register api functions by side-effect
-import pypy.module.cpyext.thread
-import pypy.module.cpyext.pyobject
-import pypy.module.cpyext.boolobject
-import pypy.module.cpyext.floatobject
-import pypy.module.cpyext.modsupport
-import pypy.module.cpyext.pythonrun
-import pypy.module.cpyext.pyerrors
-import pypy.module.cpyext.typeobject
-import pypy.module.cpyext.object
-import pypy.module.cpyext.stringobject
-import pypy.module.cpyext.tupleobject
-import pypy.module.cpyext.dictobject
-import pypy.module.cpyext.intobject
-import pypy.module.cpyext.longobject
-import pypy.module.cpyext.listobject
-import pypy.module.cpyext.sequence
-import pypy.module.cpyext.eval
-import pypy.module.cpyext.import_
-import pypy.module.cpyext.mapping
-import pypy.module.cpyext.iterator
-import pypy.module.cpyext.unicodeobject
-import pypy.module.cpyext.sysmodule
-import pypy.module.cpyext.number
-import pypy.module.cpyext.sliceobject
-import pypy.module.cpyext.stubsactive
-import pypy.module.cpyext.pystate
-import pypy.module.cpyext.cdatetime
-import pypy.module.cpyext.complexobject
-import pypy.module.cpyext.weakrefobject
-import pypy.module.cpyext.funcobject
-import pypy.module.cpyext.frameobject
-import pypy.module.cpyext.classobject
-import pypy.module.cpyext.pypyintf
-import pypy.module.cpyext.memoryobject
-import pypy.module.cpyext.codecs
-import pypy.module.cpyext.pyfile
-
-# now that all rffi_platform.Struct types are registered, configure them
-api.configure_types()
diff --git a/pypy/module/cpyext/api.py b/pypy/module/cpyext/api.py
--- a/pypy/module/cpyext/api.py
+++ b/pypy/module/cpyext/api.py
@@ -843,9 +843,10 @@
compile_extra=['-DPy_BUILD_CORE']
if building_bridge:
- if sys.platform == "win32":
+ if platform.platform.name == "msvc":
# '%s' undefined; assuming extern returning int
compile_extra.append("/we4013")
+ if sys.platform == "win32":
# Sometimes the library is wrapped into another DLL, ensure that
# the correct bootstrap code is installed
kwds["link_extra"] = ["msvcrt.lib"]
More information about the Pypy-commit
mailing list