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
))
24 # Windows 2000 compatibility: WINVER 0x0500
25 # http://msdn2.microsoft.com/en-us/library/aa383745.aspx
26 NMAKE
= ('nmake /nologo /f %s '
27 'COMPILERFLAGS=\"-DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -DNTDDI_VERSION=NTDDI_WIN2KSP4\" '
30 def nmake(makefile
, command
="", **kw
):
31 defines
= ' '.join(k
+'='+v
for k
, v
in kw
.items())
32 cmd
= NMAKE
% (makefile
, defines
, command
)
33 print("\n\n"+cmd
+"\n")
34 if os
.system(cmd
) != 0:
35 raise RuntimeError(cmd
)
37 def build(platform
, clean
):
38 if platform
== "Win32":
39 dest
= os
.path
.join(ROOT
, "tcltk")
41 elif platform
== "x64":
42 dest
= os
.path
.join(ROOT
, "tcltk64")
45 raise ValueError(platform
)
48 tcldir
= os
.path
.join(ROOT
, TCL
)
50 os
.chdir(os
.path
.join(tcldir
, "win"))
52 nmake("makefile.vc", "clean")
54 nmake("makefile.vc", "install", INSTALLDIR
=dest
)
58 os
.chdir(os
.path
.join(ROOT
, TK
, "win"))
60 nmake("makefile.vc", "clean", TCLDIR
=tcldir
)
61 nmake("makefile.vc", TCLDIR
=tcldir
)
62 nmake("makefile.vc", "install", TCLDIR
=tcldir
, INSTALLDIR
=dest
)
66 # python9.mak is available at http://svn.python.org
67 os
.chdir(os
.path
.join(ROOT
, TIX
, "win"))
69 nmake("python9.mak", "clean")
70 nmake("python9.mak", MACHINE
=machine
)
71 nmake("python9.mak", "install")
74 if len(sys
.argv
) < 2 or sys
.argv
[1] not in ("Win32", "x64"):
75 print("%s Win32|x64" % sys
.argv
[0])
83 build(sys
.argv
[1], clean
)
86 if __name__
== '__main__':