# HG changeset patch # User Oleg Oshmyan # Date 1306608843 -3600 # Node ID 37955420fd664f5231f73b4d376a08c2361f2cb3 # Parent d5b6708c19552e08dd284ef705b15cb657a756dd Added a cx_Freeze-based setup-exe.py for Windows diff -r d5b6708c1955 -r 37955420fd66 setup-exe.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/setup-exe.py Sat May 28 19:54:03 2011 +0100 @@ -0,0 +1,49 @@ +#! /usr/bin/env python +from cx_Freeze import setup, Executable, build_exe +from distutils.core import Extension +from distutils.command.build_ext import build_ext +from distutils.errors import CCompilerError +from distutils import log +import os + +class build_opt_ext(build_ext): + def build_extension(self, ext): + try: + build_ext.build_extension(self, ext) + except CCompilerError: + log.warn("Failed to build native extension '%s' (skipping)", + ext.name) + +try: + from sys import maxsize +except ImportError: + from sys import maxint as maxsize +if maxsize < 2**32: + arch = 'x86' +else: + arch = 'amd64' +direct = (R'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\%s' + R'\Microsoft.VC90.CRT' % arch) +files = ['msvcr90.dll', 'Microsoft.VC90.CRT.manifest'] +msvcrt_files = [os.path.join(direct, name) for name in files] + +os.rename('upreckon/unix.py', 'upreckon/unix.py~') +try: + setup(name='Upreckon', + version='2.01.0', + author='Oleg Oshmyan', + author_email='chortos@inbox.lv', + url='http://chortos.selfip.net/~astiob/test.py/', + #description='', + #long_description='', + download_url='https://bitbucket.org/astiob/upreckon/downloads', + #platforms=(), + #license='', + #ext_modules=[Extension('upreckon._unix', + # sources=['upreckon/_unixmodule.cpp'])], + executables=[Executable('upreckon/upreckon')], + data_files=[('', msvcrt_files)], + cmdclass={'build_ext': build_opt_ext}, + ) +finally: + os.rename('upreckon/unix.py~', 'upreckon/unix.py') \ No newline at end of file