diff options
author | Christian Heimes <christian@cheimes.de> | 2007-12-31 16:14:33 (GMT) |
---|---|---|
committer | Christian Heimes <christian@cheimes.de> | 2007-12-31 16:14:33 (GMT) |
commit | 5b5e81c637eb115b27b4c5c66cf1cf348c706162 (patch) | |
tree | e83d0ce68e92750e40fbb901a0659bade6f41674 /PCbuild/build_tkinter.py | |
parent | 862543aa85249b46649b60da96743b4b14c6c83b (diff) | |
download | cpython-5b5e81c637eb115b27b4c5c66cf1cf348c706162.zip cpython-5b5e81c637eb115b27b4c5c66cf1cf348c706162.tar.gz cpython-5b5e81c637eb115b27b4c5c66cf1cf348c706162.tar.bz2 |
Merged revisions 59605-59624 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r59606 | georg.brandl | 2007-12-29 11:57:00 +0100 (Sat, 29 Dec 2007) | 2 lines
Some cleanup in the docs.
........
r59611 | martin.v.loewis | 2007-12-29 19:49:21 +0100 (Sat, 29 Dec 2007) | 2 lines
Bug #1699: Define _BSD_SOURCE only on OpenBSD.
........
r59612 | raymond.hettinger | 2007-12-29 23:09:34 +0100 (Sat, 29 Dec 2007) | 1 line
Simpler documentation for itertools.tee(). Should be backported.
........
r59613 | raymond.hettinger | 2007-12-29 23:16:24 +0100 (Sat, 29 Dec 2007) | 1 line
Improve docs for itertools.groupby(). The use of xrange(0) to create a unique object is less obvious than object().
........
r59620 | christian.heimes | 2007-12-31 15:47:07 +0100 (Mon, 31 Dec 2007) | 3 lines
Added wininst-9.0.exe executable for VS 2008
Integrated bdist_wininst into PCBuild9 directory
........
r59621 | christian.heimes | 2007-12-31 15:51:18 +0100 (Mon, 31 Dec 2007) | 1 line
Moved PCbuild directory to PC/VS7.1
........
r59622 | christian.heimes | 2007-12-31 15:59:26 +0100 (Mon, 31 Dec 2007) | 1 line
Fix paths for build bot
........
r59623 | christian.heimes | 2007-12-31 16:02:41 +0100 (Mon, 31 Dec 2007) | 1 line
Fix paths for build bot, part 2
........
r59624 | christian.heimes | 2007-12-31 16:18:55 +0100 (Mon, 31 Dec 2007) | 1 line
Renamed PCBuild9 directory to PCBuild
........
Diffstat (limited to 'PCbuild/build_tkinter.py')
-rw-r--r-- | PCbuild/build_tkinter.py | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/PCbuild/build_tkinter.py b/PCbuild/build_tkinter.py new file mode 100644 index 0000000..dada386 --- /dev/null +++ b/PCbuild/build_tkinter.py @@ -0,0 +1,86 @@ +"""Script to compile the dependencies of _tkinter + +Copyright (c) 2007 by Christian Heimes <christian@cheimes.de> + +Licensed to PSF under a Contributor Agreement. +""" + +import os +import sys +import shutil + +here = os.path.abspath(os.path.dirname(__file__)) +par = os.path.pardir + +if 1: + TCL = "tcl8.4.16" + TK = "tk8.4.16" + TIX = "tix-8.4.0" +else: + TCL = "tcl8.5b3" + TK = "tcl8.5b3" + TIX = "Tix8.4.2" + +ROOT = os.path.abspath(os.path.join(here, par, par)) +# Windows 2000 compatibility: WINVER 0x0500 +# http://msdn2.microsoft.com/en-us/library/aa383745.aspx +NMAKE = "nmake /nologo /f %s COMPILERFLAGS=-DWINVER=0x0500 %s %s" + +def nmake(makefile, command="", **kw): + defines = ' '.join(k+'='+v for k, v in kw.items()) + cmd = NMAKE % (makefile, defines, command) + print("\n\n"+cmd+"\n") + if os.system(cmd) != 0: + raise RuntimeError(cmd) + +def build(platform, clean): + if platform == "Win32": + dest = os.path.join(ROOT, "tcltk") + machine = "X86" + elif platform == "x64": + dest = os.path.join(ROOT, "tcltk64") + machine = "X64" + else: + raise ValueError(platform) + + # TCL + tcldir = os.path.join(ROOT, TCL) + if 1: + os.chdir(os.path.join(tcldir, "win")) + if clean: + nmake("makefile.vc", "clean") + nmake("makefile.vc") + nmake("makefile.vc", "install", INSTALLDIR=dest) + + # TK + if 1: + os.chdir(os.path.join(ROOT, TK, "win")) + if clean: + nmake("makefile.vc", "clean", TCLDIR=tcldir) + nmake("makefile.vc", TCLDIR=tcldir) + nmake("makefile.vc", "install", TCLDIR=tcldir, INSTALLDIR=dest) + + # TIX + if 1: + # python9.mak is available at http://svn.python.org + os.chdir(os.path.join(ROOT, TIX, "win")) + if clean: + nmake("python9.mak", "clean") + nmake("python9.mak", MACHINE=machine) + nmake("python9.mak", "install") + +def main(): + if len(sys.argv) < 2 or sys.argv[1] not in ("Win32", "x64"): + print("%s Win32|x64" % sys.argv[0]) + sys.exit(1) + + if "-c" in sys.argv: + clean = True + else: + clean = False + + build(sys.argv[1], clean) + + +if __name__ == '__main__': + main() |