Merged revisions 64185-64196 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r64185 | martin.v.loewis | 2008-06-12 20:38:47 +0200 (Do, 12 Jun 2008) | 1 line

  Switch to Tcl/Tk 8.5.2.
........
  r64189 | martin.v.loewis | 2008-06-12 20:52:00 +0200 (Do, 12 Jun 2008) | 1 line

  Switch to Tcl/Tk 8.5.
........
  r64191 | martin.v.loewis | 2008-06-12 21:00:14 +0200 (Do, 12 Jun 2008) | 1 line

  Revert bogus disabling of Tcl and Tk.
........
  r64194 | martin.v.loewis | 2008-06-12 21:51:59 +0200 (Do, 12 Jun 2008) | 1 line

  Split Tcl make targets into separate ones.
........
  r64195 | martin.v.loewis | 2008-06-12 22:06:18 +0200 (Do, 12 Jun 2008) | 1 line

  Support file names which include '+' (for Tk 8.5).
........
  r64196 | martin.v.loewis | 2008-06-12 22:07:53 +0200 (Do, 12 Jun 2008) | 1 line

  Fix Tcl/Tk license file in tcl8*/tk8*, include Tix license.
........
This commit is contained in:
Martin v. Löwis 2008-06-13 14:11:59 +00:00
parent 59683e8529
commit f38e0d0c8c
7 changed files with 49 additions and 45 deletions

View File

@ -11,14 +11,9 @@ import sys
here = os.path.abspath(os.path.dirname(__file__)) here = os.path.abspath(os.path.dirname(__file__))
par = os.path.pardir par = os.path.pardir
if 1: TCL = "tcl8.5.2"
TCL = "tcl8.4.16" TK = "tk8.5.2"
TK = "tk8.4.16" TIX = "tix-8.4.0.x"
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)) ROOT = os.path.abspath(os.path.join(here, par, par))
# Windows 2000 compatibility: WINVER 0x0500 # Windows 2000 compatibility: WINVER 0x0500
@ -38,9 +33,9 @@ def build(platform, clean):
if platform == "Win32": if platform == "Win32":
dest = os.path.join(ROOT, "tcltk") dest = os.path.join(ROOT, "tcltk")
machine = "X86" machine = "X86"
elif platform == "x64": elif platform == "AMD64":
dest = os.path.join(ROOT, "tcltk64") dest = os.path.join(ROOT, "tcltk64")
machine = "X64" machine = "AMD64"
else: else:
raise ValueError(platform) raise ValueError(platform)
@ -50,16 +45,16 @@ def build(platform, clean):
os.chdir(os.path.join(tcldir, "win")) os.chdir(os.path.join(tcldir, "win"))
if clean: if clean:
nmake("makefile.vc", "clean") nmake("makefile.vc", "clean")
nmake("makefile.vc") nmake("makefile.vc", MACHINE=machine)
nmake("makefile.vc", "install", INSTALLDIR=dest) nmake("makefile.vc", "install", INSTALLDIR=dest, MACHINE=machine)
# TK # TK
if 1: if 1:
os.chdir(os.path.join(ROOT, TK, "win")) os.chdir(os.path.join(ROOT, TK, "win"))
if clean: if clean:
nmake("makefile.vc", "clean", TCLDIR=tcldir) nmake("makefile.vc", "clean", TCLDIR=tcldir)
nmake("makefile.vc", TCLDIR=tcldir) nmake("makefile.vc", TCLDIR=tcldir, MACHINE=machine)
nmake("makefile.vc", "install", TCLDIR=tcldir, INSTALLDIR=dest) nmake("makefile.vc", "install", TCLDIR=tcldir, INSTALLDIR=dest, MACHINE=machine)
# TIX # TIX
if 1: if 1:
@ -67,12 +62,12 @@ def build(platform, clean):
os.chdir(os.path.join(ROOT, TIX, "win")) os.chdir(os.path.join(ROOT, TIX, "win"))
if clean: if clean:
nmake("python9.mak", "clean") nmake("python9.mak", "clean")
nmake("python9.mak", MACHINE=machine) nmake("python9.mak", MACHINE=machine, INSTALL_DIR=dest)
nmake("python9.mak", "install") nmake("python9.mak", "install", INSTALL_DIR=dest)
def main(): def main():
if len(sys.argv) < 2 or sys.argv[1] not in ("Win32", "x64"): if len(sys.argv) < 2 or sys.argv[1] not in ("Win32", "AMD64"):
print("%s Win32|x64" % sys.argv[0]) print("%s Win32|AMD64" % sys.argv[0])
sys.exit(1) sys.exit(1)
if "-c" in sys.argv: if "-c" in sys.argv:

View File

@ -94,18 +94,18 @@
/> />
<UserMacro <UserMacro
Name="tcltkLib" Name="tcltkLib"
Value="$(tcltkDir)\lib\tcl84.lib $(tcltkDir)\lib\tk84.lib" Value="$(tcltkDir)\lib\tcl85.lib $(tcltkDir)\lib\tk85.lib"
/> />
<UserMacro <UserMacro
Name="tcltkLibDebug" Name="tcltkLibDebug"
Value="$(tcltkDir)\lib\tcl84g.lib $(tcltkDir)\lib\tk84g.lib" Value="$(tcltkDir)\lib\tcl85g.lib $(tcltkDir)\lib\tk85g.lib"
/> />
<UserMacro <UserMacro
Name="tcltk64Lib" Name="tcltk64Lib"
Value="$(tcltk64Dir)\lib\tcl84.lib $(tcltk64Dir)\lib\tk84.lib" Value="$(tcltk64Dir)\lib\tcl85.lib $(tcltk64Dir)\lib\tk85.lib"
/> />
<UserMacro <UserMacro
Name="tcltk64LibDebug" Name="tcltk64LibDebug"
Value="$(tcltk64Dir)\lib\tcl84g.lib $(tcltk64Dir)\lib\tk84g.lib" Value="$(tcltk64Dir)\lib\tcl85g.lib $(tcltk64Dir)\lib\tk85g.lib"
/> />
</VisualStudioPropertySheet> </VisualStudioPropertySheet>

View File

@ -4,14 +4,14 @@
call "Tools\buildbot\external-common.bat" call "Tools\buildbot\external-common.bat"
call "%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64 call "%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
if not exist tcltk64\bin\tcl84g.dll ( if not exist tcltk64\bin\tcl85g.dll (
cd tcl-8.4.18.2\win cd tcl-8.5.2.1\win
nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 clean all install nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 clean all install
cd ..\.. cd ..\..
) )
if not exist tcltk64\bin\tk84g.dll ( if not exist tcltk64\bin\tk85g.dll (
cd tk-8.4.18.1\win cd tk-8.5.2.1\win
nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 TCLDIR=..\..\tcl-8.4.18.2 clean all install nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 TCLDIR=..\..\tcl-8.5.2.1 clean all install
cd ..\.. cd ..\..
) )

View File

@ -27,8 +27,11 @@ if not exist db-4.4.20 svn export http://svn.python.org/projects/external/db-4.4
if not exist openssl-0.9.8g svn export http://svn.python.org/projects/external/openssl-0.9.8g if not exist openssl-0.9.8g svn export http://svn.python.org/projects/external/openssl-0.9.8g
@rem tcl/tk @rem tcl/tk
if not exist tcl-8.4.18.2 svn export http://svn.python.org/projects/external/tcl-8.4.18.2 if not exist tcl-8.5.2.1 (
if not exist tk-8.4.18.1 svn export http://svn.python.org/projects/external/tk-8.4.18.1 rd /s/q tcltk tcltk64
svn export http://svn.python.org/projects/external/tcl-8.5.2.1
)
if not exist tk-8.5.2.0 svn export http://svn.python.org/projects/external/tk-8.5.2.0
@rem sqlite3 @rem sqlite3
if not exist sqlite-source-3.3.4 svn export http://svn.python.org/projects/external/sqlite-source-3.3.4 if not exist sqlite-source-3.3.4 svn export http://svn.python.org/projects/external/sqlite-source-3.3.4

View File

@ -4,14 +4,18 @@
call "Tools\buildbot\external-common.bat" call "Tools\buildbot\external-common.bat"
call "%VS90COMNTOOLS%\vsvars32.bat" call "%VS90COMNTOOLS%\vsvars32.bat"
if not exist tcltk\bin\tcl84g.dll ( if not exist tcltk\bin\tcl85.dll (
cd tcl-8.4.18.2\win @rem all and install need to be separate invocations, otherwise nmakehlp is not found on install
nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 INSTALLDIR=..\..\tcltk clean all install cd tcl-8.5.2.1\win
nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 INSTALLDIR=..\..\tcltk clean all
nmake -f makefile.vc DEBUG=1 INSTALLDIR=..\..\tcltk install
cd ..\.. cd ..\..
) )
if not exist tcltk\bin\tk84g.dll ( if not exist tcltk\bin\tk85.dll (
cd tk-8.4.18.1\win cd tk-8.5.2.0\win
nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 INSTALLDIR=..\..\tcltk TCLDIR=..\..\tcl-8.4.18.2 clean all install nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 INSTALLDIR=..\..\tcltk TCLDIR=..\..\tcl-8.5.2.1 clean
nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 INSTALLDIR=..\..\tcltk TCLDIR=..\..\tcl-8.5.2.1 all
nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=1 INSTALLDIR=..\..\tcltk TCLDIR=..\..\tcl-8.5.2.1 install
cd ..\.. cd ..\..
) )

View File

@ -849,17 +849,18 @@ def generate_license():
import shutil, glob import shutil, glob
out = open("LICENSE.txt", "w") out = open("LICENSE.txt", "w")
shutil.copyfileobj(open(os.path.join(srcdir, "LICENSE")), out) shutil.copyfileobj(open(os.path.join(srcdir, "LICENSE")), out)
for dir, file in (("bzip2","LICENSE"), for name, pat, file in (("bzip2","bzip2-*", "LICENSE"),
("db", "LICENSE"), ("Berkeley DB", "db-*", "LICENSE"),
("openssl", "LICENSE"), ("openssl", "openssl-*", "LICENSE"),
("tcl", "license.terms"), ("Tcl", "tcl8*", "license.terms"),
("tk", "license.terms")): ("Tk", "tk8*", "license.terms"),
out.write("\nThis copy of Python includes a copy of %s, which is licensed under the following terms:\n\n" % dir) ("Tix", "tix-*", "license.terms")):
dirs = glob.glob(srcdir+"/../"+dir+"-*") 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: if not dirs:
raise ValueError, "Could not find "+srcdir+"/../"+dir+"-*" raise ValueError, "Could not find "+srcdir+"/../"+pat
if len(dirs) > 2: if len(dirs) > 2:
raise ValueError, "Multiple copies of "+dir raise ValueError, "Multiple copies of "+pat
dir = dirs[0] dir = dirs[0]
shutil.copyfileobj(open(os.path.join(dir, file)), out) shutil.copyfileobj(open(os.path.join(dir, file)), out)
out.close() out.close()

View File

@ -328,6 +328,7 @@ def make_id(str):
#str = str.replace(".", "_") # colons are allowed #str = str.replace(".", "_") # colons are allowed
str = str.replace(" ", "_") str = str.replace(" ", "_")
str = str.replace("-", "_") str = str.replace("-", "_")
str = str.replace("+", "_")
if str[0] in string.digits: if str[0] in string.digits:
str = "_"+str str = "_"+str
assert re.match("^[A-Za-z_][A-Za-z0-9_.]*$", str), "FILE"+str assert re.match("^[A-Za-z_][A-Za-z0-9_.]*$", str), "FILE"+str
@ -472,6 +473,7 @@ class Directory:
[(feature.id, component)]) [(feature.id, component)])
def make_short(self, file): def make_short(self, file):
file = re.sub(r'[\?|><:/*"+,;=\[\]]', '_', file) # restrictions on short names
parts = file.split(".") parts = file.split(".")
if len(parts)>1: if len(parts)>1:
suffix = parts[-1].upper() suffix = parts[-1].upper()
@ -500,7 +502,6 @@ class Directory:
if pos in (10, 100, 1000): if pos in (10, 100, 1000):
prefix = prefix[:-1] prefix = prefix[:-1]
self.short_names.add(file) self.short_names.add(file)
assert not re.search(r'[\?|><:/*"+,;=\[\]]', file) # restrictions on short names
return file return file
def add_file(self, file, src=None, version=None, language=None): def add_file(self, file, src=None, version=None, language=None):