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.
12 here
= os
.path
.abspath(os
.path
.dirname(__file__
))
24 ROOT
= os
.path
.abspath(os
.path
.join(here
, par
, par
, par
))
25 # Windows 2000 compatibility: WINVER 0x0500
26 # http://msdn2.microsoft.com/en-us/library/aa383745.aspx
27 NMAKE
= "nmake /nologo /f %s COMPILERFLAGS=-DWINVER=0x0500 %s %s"
29 def nmake(makefile
, command
="", **kw
):
30 defines
= ' '.join(k
+'='+v
for k
, v
in kw
.items())
31 cmd
= NMAKE
% (makefile
, defines
, command
)
32 print("\n\n"+cmd
+"\n")
33 if os
.system(cmd
) != 0:
34 raise RuntimeError(cmd
)
36 def build(platform
, clean
):
37 if platform
== "Win32":
38 dest
= os
.path
.join(ROOT
, "tcltk")
40 elif platform
== "x64":
41 dest
= os
.path
.join(ROOT
, "tcltk64")
44 raise ValueError(platform
)
47 tcldir
= os
.path
.join(ROOT
, TCL
)
49 os
.chdir(os
.path
.join(tcldir
, "win"))
51 nmake("makefile.vc", "clean")
53 nmake("makefile.vc", "install", INSTALLDIR
=dest
)
57 os
.chdir(os
.path
.join(ROOT
, TK
, "win"))
59 nmake("makefile.vc", "clean", TCLDIR
=tcldir
)
60 nmake("makefile.vc", TCLDIR
=tcldir
)
61 nmake("makefile.vc", "install", TCLDIR
=tcldir
, INSTALLDIR
=dest
)
65 # python9.mak is available at http://svn.python.org
66 os
.chdir(os
.path
.join(ROOT
, TIX
, "win"))
68 nmake("python9.mak", "clean")
69 nmake("python9.mak", MACHINE
=machine
)
70 nmake("python9.mak", "install")
73 if len(sys
.argv
) < 2 or sys
.argv
[1] not in ("Win32", "x64"):
74 print("%s Win32|x64" % sys
.argv
[0])
82 build(sys
.argv
[1], clean
)
85 if __name__
== '__main__':