summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Borzenkov <snaury@gmail.com>2014-09-08 00:55:29 +0400
committerAlexey Borzenkov <snaury@gmail.com>2014-09-08 00:55:29 +0400
commit602e9047a20122e00906ab61b0c7cf3e322225fc (patch)
tree85265c38414223a19da96fdb0b7a5ea8559dd571
parent2c89dd8b780fb80a48b4a78bbab01970709902ba (diff)
downloadgreenlet-602e9047a20122e00906ab61b0c7cf3e322225fc.tar.gz
Better support for Windows x64 builds with VS Express0.4.4
-rw-r--r--NEWS5
-rw-r--r--greenlet.h2
-rwxr-xr-xmake-win-release21
-rw-r--r--run_vs2010_x64.cmd4
-rwxr-xr-xsetup.py8
5 files changed, 30 insertions, 10 deletions
diff --git a/NEWS b/NEWS
index fe8715d..ef191fd 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,8 @@
+0.4.4
+=====
+- Fixed PyGreenlet_SetParent signature, thanks to BoonsNaibot
+- Fixed 64-bit Windows builds depending on wrong runtime dll
+
0.4.3
=====
- Better slp_switch performance on SPARC
diff --git a/greenlet.h b/greenlet.h
index 15c6e60..48bc7ce 100644
--- a/greenlet.h
+++ b/greenlet.h
@@ -11,7 +11,7 @@
extern "C" {
#endif
-#define GREENLET_VERSION "0.4.3"
+#define GREENLET_VERSION "0.4.4"
typedef struct _greenlet {
PyObject_HEAD
diff --git a/make-win-release b/make-win-release
index 1d5f015..cc1decf 100755
--- a/make-win-release
+++ b/make-win-release
@@ -1,15 +1,18 @@
#! /usr/bin/env python
-import sys, os, subprocess, struct, re
+import sys, os, subprocess, re
+common_dist = ("bdist_wininst", "bdist_msi", "bdist_wheel", "test")
pyver2dist = {
- "py24": ("bdist_wininst",),
- "py25": ("bdist_wininst", "bdist_msi"),
- "py26": ("bdist_wininst", "bdist_msi"),
- "py27": ("bdist_wininst", "bdist_msi", "bdist_wheel"),
- "py27-x64": ("bdist_wininst", "bdist_msi", "bdist_wheel"),
- "py33": ("bdist_wininst", "bdist_msi", "bdist_wheel"),
- "py33-x64": ("bdist_wininst", "bdist_msi", "bdist_wheel")}
+ "Python26": common_dist,
+ "Python26x64": common_dist,
+ "Python27": common_dist,
+ "Python27x64": common_dist,
+ "Python33": common_dist,
+ "Python33x64": common_dist,
+ "Python34": common_dist,
+ "Python34x64": common_dist,
+}
def system(cmd):
@@ -37,6 +40,8 @@ def main():
here = os.path.dirname(os.path.dirname(sys.executable))
for pyver, dists in sorted(pyver2dist.items()):
exe = os.path.join(here, pyver, "python.exe")
+ if pyver.endswith('x64'):
+ exe = "run_vs2010_x64.cmd " + exe
for d in dists:
cmd = "%s setup.py -q %s" % (exe, d)
system(cmd)
diff --git a/run_vs2010_x64.cmd b/run_vs2010_x64.cmd
new file mode 100644
index 0000000..df7a968
--- /dev/null
+++ b/run_vs2010_x64.cmd
@@ -0,0 +1,4 @@
+@echo off
+call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /Release /x64 /xp
+set GREENLET_STATIC_RUNTIME=1
+%*
diff --git a/setup.py b/setup.py
index c27fa88..c471c3a 100755
--- a/setup.py
+++ b/setup.py
@@ -48,10 +48,16 @@ else:
else:
extra_objects = []
+ if sys.platform == 'win32' and os.environ.get('GREENLET_STATIC_RUNTIME') in ('1', 'yes'):
+ extra_compile_args = ['/MT']
+ else:
+ extra_compile_args = []
+
ext_modules = [Extension(
name='greenlet',
sources=['greenlet.c'],
extra_objects=extra_objects,
+ extra_compile_args=extra_compile_args,
depends=['greenlet.h', 'slp_platformselect.h'] + _find_platform_headers())]
from distutils.core import Command
@@ -60,7 +66,7 @@ from my_build_ext import build_ext
setup(
name="greenlet",
- version='0.4.3',
+ version='0.4.4',
description='Lightweight in-process concurrent programming',
long_description=readfile("README.rst"),
maintainer="Alexey Borzenkov",