1 """Script to compile the dependencies of _tkinter
3 Copyright (c) 2007 by Christian Heimes <christian@cheimes.de>
5 Licensed to PSF under a Contributor Agreement.
11 here
= os
.path
.abspath(os
.path
.dirname(__file__
))
23 ROOT
= os
.path
.abspath(os
.path
.join(here
, par
, par
, par
))
24 # Windows 2000 compatibility: WINVER 0x0500
25 # http://msdn2.microsoft.com/en-us/library/aa383745.aspx
26 NMAKE
= "nmake /nologo /f %s COMPILERFLAGS=-DWINVER=0x0500 %s %s"
28 def nmake(makefile
, command
="", **kw
):
29 defines
= ' '.join(k
+'='+v
for k
, v
in kw
.items())
30 cmd
= NMAKE
% (makefile
, defines
, command
)
31 print("\n\n"+cmd
+"\n")
32 if os
.system(cmd
) != 0:
33 raise RuntimeError(cmd
)
35 def build(platform
, clean
):
36 if platform
== "Win32":
37 dest
= os
.path
.join(ROOT
, "tcltk")
39 elif platform
== "x64":
40 dest
= os
.path
.join(ROOT
, "tcltk64")
43 raise ValueError(platform
)
46 tcldir
= os
.path
.join(ROOT
, TCL
)
48 os
.chdir(os
.path
.join(tcldir
, "win"))
50 nmake("makefile.vc", "clean")
52 nmake("makefile.vc", "install", INSTALLDIR
=dest
)
56 os
.chdir(os
.path
.join(ROOT
, TK
, "win"))
58 nmake("makefile.vc", "clean", TCLDIR
=tcldir
)
59 nmake("makefile.vc", TCLDIR
=tcldir
)
60 nmake("makefile.vc", "install", TCLDIR
=tcldir
, INSTALLDIR
=dest
)
64 # python9.mak is available at http://svn.python.org
65 os
.chdir(os
.path
.join(ROOT
, TIX
, "win"))
67 nmake("python9.mak", "clean")
68 nmake("python9.mak", MACHINE
=machine
)
69 nmake("python9.mak", "install")
72 if len(sys
.argv
) < 2 or sys
.argv
[1] not in ("Win32", "x64"):
73 print("%s Win32|x64" % sys
.argv
[0])
81 build(sys
.argv
[1], clean
)
84 if __name__
== '__main__':