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"
+TCL = "tcl8.5.2"
+TK = "tk8.5.2"
+TIX = "tix-8.4.0.x"
ROOT = os.path.abspath(os.path.join(here, par, par))
# Windows 2000 compatibility: WINVER 0x0500
if platform == "Win32":
dest = os.path.join(ROOT, "tcltk")
machine = "X86"
- elif platform == "x64":
+ elif platform == "AMD64":
dest = os.path.join(ROOT, "tcltk64")
- machine = "X64"
+ machine = "AMD64"
else:
raise ValueError(platform)
os.chdir(os.path.join(tcldir, "win"))
if clean:
nmake("makefile.vc", "clean")
- nmake("makefile.vc")
- nmake("makefile.vc", "install", INSTALLDIR=dest)
+ nmake("makefile.vc", MACHINE=machine)
+ nmake("makefile.vc", "install", INSTALLDIR=dest, MACHINE=machine)
# 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)
+ nmake("makefile.vc", TCLDIR=tcldir, MACHINE=machine)
+ nmake("makefile.vc", "install", TCLDIR=tcldir, INSTALLDIR=dest, MACHINE=machine)
# TIX
if 1:
os.chdir(os.path.join(ROOT, TIX, "win"))
if clean:
nmake("python9.mak", "clean")
- nmake("python9.mak", MACHINE=machine)
- nmake("python9.mak", "install")
+ nmake("python9.mak", MACHINE=machine, INSTALL_DIR=dest)
+ nmake("python9.mak", "install", INSTALL_DIR=dest)
def main():
- if len(sys.argv) < 2 or sys.argv[1] not in ("Win32", "x64"):
- print("%s Win32|x64" % sys.argv[0])
+ if len(sys.argv) < 2 or sys.argv[1] not in ("Win32", "AMD64"):
+ print("%s Win32|AMD64" % sys.argv[0])
sys.exit(1)
if "-c" in sys.argv:
/>
<UserMacro
Name="tcltkLib"
- Value="$(tcltkDir)\lib\tcl84.lib $(tcltkDir)\lib\tk84.lib"
+ Value="$(tcltkDir)\lib\tcl85.lib $(tcltkDir)\lib\tk85.lib"
/>
<UserMacro
Name="tcltkLibDebug"
- Value="$(tcltkDir)\lib\tcl84g.lib $(tcltkDir)\lib\tk84g.lib"
+ Value="$(tcltkDir)\lib\tcl85g.lib $(tcltkDir)\lib\tk85g.lib"
/>
<UserMacro
Name="tcltk64Lib"
- Value="$(tcltk64Dir)\lib\tcl84.lib $(tcltk64Dir)\lib\tk84.lib"
+ Value="$(tcltk64Dir)\lib\tcl85.lib $(tcltk64Dir)\lib\tk85.lib"
/>
<UserMacro
Name="tcltk64LibDebug"
- Value="$(tcltk64Dir)\lib\tcl84g.lib $(tcltk64Dir)\lib\tk84g.lib"
+ Value="$(tcltk64Dir)\lib\tcl85g.lib $(tcltk64Dir)\lib\tk85g.lib"
/>
</VisualStudioPropertySheet>
call "Tools\buildbot\external-common.bat"
call "%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
-if not exist tcltk64\bin\tcl84g.dll (
- cd tcl-8.4.18.2\win
+if not exist tcltk64\bin\tcl85g.dll (
+ cd tcl-8.5.2.1\win
nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 clean all install
cd ..\..
)
-if not exist tcltk64\bin\tk84g.dll (
- cd tk-8.4.18.1\win
- nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 TCLDIR=..\..\tcl-8.4.18.2 clean all install
+if not exist tcltk64\bin\tk85g.dll (
+ cd tk-8.5.2.1\win
+ nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 TCLDIR=..\..\tcl-8.5.2.1 clean all install
cd ..\..
)
if not exist openssl-0.9.8g svn export http://svn.python.org/projects/external/openssl-0.9.8g\r
\r
@rem tcl/tk\r
-if not exist tcl-8.4.18.2 svn export http://svn.python.org/projects/external/tcl-8.4.18.2\r
-if not exist tk-8.4.18.1 svn export http://svn.python.org/projects/external/tk-8.4.18.1\r
+if not exist tcl-8.5.2.1 (\r
+ rd /s/q tcltk tcltk64\r
+ svn export http://svn.python.org/projects/external/tcl-8.5.2.1\r
+)\r
+if not exist tk-8.5.2.0 svn export http://svn.python.org/projects/external/tk-8.5.2.0\r
\r
@rem sqlite3\r
if not exist sqlite-source-3.3.4 svn export http://svn.python.org/projects/external/sqlite-source-3.3.4\r
call "Tools\buildbot\external-common.bat"\r
call "%VS90COMNTOOLS%\vsvars32.bat"\r
\r
-if not exist tcltk\bin\tcl84g.dll (\r
- cd tcl-8.4.18.2\win\r
- nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 INSTALLDIR=..\..\tcltk clean all install\r
+if not exist tcltk\bin\tcl85.dll (\r
+ @rem all and install need to be separate invocations, otherwise nmakehlp is not found on install\r
+ cd tcl-8.5.2.1\win\r
+ nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 INSTALLDIR=..\..\tcltk clean all \r
+ nmake -f makefile.vc DEBUG=1 INSTALLDIR=..\..\tcltk install\r
cd ..\..\r
)\r
\r
-if not exist tcltk\bin\tk84g.dll (\r
- cd tk-8.4.18.1\win \r
- nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 INSTALLDIR=..\..\tcltk TCLDIR=..\..\tcl-8.4.18.2 clean all install\r
+if not exist tcltk\bin\tk85.dll (\r
+ cd tk-8.5.2.0\win \r
+ nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 INSTALLDIR=..\..\tcltk TCLDIR=..\..\tcl-8.5.2.1 clean\r
+ nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 INSTALLDIR=..\..\tcltk TCLDIR=..\..\tcl-8.5.2.1 all\r
+ nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 INSTALLDIR=..\..\tcltk TCLDIR=..\..\tcl-8.5.2.1 install\r
cd ..\..\r
)\r
import shutil, glob
out = open("LICENSE.txt", "w")
shutil.copyfileobj(open(os.path.join(srcdir, "LICENSE")), out)
- for dir, file in (("bzip2","LICENSE"),
- ("db", "LICENSE"),
- ("openssl", "LICENSE"),
- ("tcl", "license.terms"),
- ("tk", "license.terms")):
- out.write("\nThis copy of Python includes a copy of %s, which is licensed under the following terms:\n\n" % dir)
- dirs = glob.glob(srcdir+"/../"+dir+"-*")
+ for name, pat, file in (("bzip2","bzip2-*", "LICENSE"),
+ ("Berkeley DB", "db-*", "LICENSE"),
+ ("openssl", "openssl-*", "LICENSE"),
+ ("Tcl", "tcl8*", "license.terms"),
+ ("Tk", "tk8*", "license.terms"),
+ ("Tix", "tix-*", "license.terms")):
+ out.write("\nThis copy of Python includes a copy of %s, which is licensed under the following terms:\n\n" % name)
+ dirs = glob.glob(srcdir+"/../"+pat)
if not dirs:
- raise ValueError, "Could not find "+srcdir+"/../"+dir+"-*"
+ raise ValueError, "Could not find "+srcdir+"/../"+pat
if len(dirs) > 2:
- raise ValueError, "Multiple copies of "+dir
+ raise ValueError, "Multiple copies of "+pat
dir = dirs[0]
shutil.copyfileobj(open(os.path.join(dir, file)), out)
out.close()
#str = str.replace(".", "_") # colons are allowed
str = str.replace(" ", "_")
str = str.replace("-", "_")
+ str = str.replace("+", "_")
if str[0] in string.digits:
str = "_"+str
assert re.match("^[A-Za-z_][A-Za-z0-9_.]*$", str), "FILE"+str
[(feature.id, component)])
def make_short(self, file):
+ file = re.sub(r'[\?|><:/*"+,;=\[\]]', '_', file) # restrictions on short names
parts = file.split(".")
if len(parts)>1:
suffix = parts[-1].upper()
if pos in (10, 100, 1000):
prefix = prefix[:-1]
self.short_names.add(file)
- assert not re.search(r'[\?|><:/*"+,;=\[\]]', file) # restrictions on short names
return file
def add_file(self, file, src=None, version=None, language=None):