diff -r c13398566409 PCbuild/_tkinter.vcxproj
--- a/PCbuild/_tkinter.vcxproj Wed Mar 12 12:41:44 2014 +0100
+++ b/PCbuild/_tkinter.vcxproj Wed Mar 12 13:13:30 2014 -0500
@@ -85,41 +85,49 @@
+
+
+
+
+
+
+
+
@@ -155,7 +163,7 @@
WITH_APPINIT;%(PreprocessorDefinitions)
- $(tcltkLibDebug);%(AdditionalDependencies)
+ $(tcltkLib);%(AdditionalDependencies)
@@ -163,11 +171,11 @@
X64
- $(tcltk64Dir)\include;%(AdditionalIncludeDirectories)
+ $(tcltkDir)\include;%(AdditionalIncludeDirectories)
WITH_APPINIT;%(PreprocessorDefinitions)
- $(tcltk64LibDebug);%(AdditionalDependencies)
+ $(tcltkLib);%(AdditionalDependencies)
@@ -184,11 +192,11 @@
X64
- $(tcltk64Dir)\include;%(AdditionalIncludeDirectories)
+ $(tcltkDir)\include;%(AdditionalIncludeDirectories)
WITH_APPINIT;%(PreprocessorDefinitions)
- $(tcltk64Lib);%(AdditionalDependencies)
+ $(tcltkLib);%(AdditionalDependencies)
@@ -205,11 +213,11 @@
X64
- $(tcltk64Dir)\include;%(AdditionalIncludeDirectories)
+ $(tcltkDir)\include;%(AdditionalIncludeDirectories)
WITH_APPINIT;%(PreprocessorDefinitions)
- $(tcltk64Lib);%(AdditionalDependencies)
+ $(tcltkLib);%(AdditionalDependencies)
MachineX64
@@ -227,11 +235,11 @@
X64
- $(tcltk64Dir)\include;%(AdditionalIncludeDirectories)
+ $(tcltkDir)\include;%(AdditionalIncludeDirectories)
WITH_APPINIT;%(PreprocessorDefinitions)
- $(tcltk64Lib);%(AdditionalDependencies)
+ $(tcltkLib);%(AdditionalDependencies)
MachineX64
@@ -244,6 +252,12 @@
{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}
false
+
+ {b5fd6f1d-129e-4bff-9340-03606fac7283}
+
+
+ {7e85eccf-a72c-4da4-9e52-884508e80ba1}
+
diff -r c13398566409 PCbuild/build_tkinter.py
--- a/PCbuild/build_tkinter.py Wed Mar 12 12:41:44 2014 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-"""Script to compile the dependencies of _tkinter
-
-Copyright (c) 2007 by Christian Heimes
-
-Licensed to PSF under a Contributor Agreement.
-"""
-
-import os
-import sys
-
-here = os.path.abspath(os.path.dirname(__file__))
-par = os.path.pardir
-
-TCL = "tcl8.6.1"
-TK = "tk8.6.1"
-TIX = "tix-8.4.3.3"
-
-ROOT = os.path.abspath(os.path.join(here, par, par))
-NMAKE = ('nmake /nologo /f %s %s %s')
-
-def nmake(makefile, command="", **kw):
- defines = ' '.join(k+'='+str(v) for k, v in kw.items())
- cmd = NMAKE % (makefile, defines, command)
- print("\n\n"+cmd+"\n")
- if os.system(cmd) != 0:
- raise RuntimeError(cmd)
-
-def build(platform, clean):
- if platform == "Win32":
- dest = os.path.join(ROOT, "tcltk")
- machine = "IX86"
- elif platform == "AMD64":
- dest = os.path.join(ROOT, "tcltk64")
- machine = "AMD64"
- else:
- raise ValueError(platform)
-
- # TCL
- tcldir = os.path.join(ROOT, TCL)
- if 1:
- os.chdir(os.path.join(tcldir, "win"))
- if clean:
- nmake("makefile.vc", "clean")
- 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", DEBUG=0, TCLDIR=tcldir)
- nmake("makefile.vc", DEBUG=0, MACHINE=machine, TCLDIR=tcldir)
- nmake("makefile.vc", "install", DEBUG=0, INSTALLDIR=dest, MACHINE=machine, TCLDIR=tcldir)
-
- # TIX
- if 1:
- # python9.mak is available at http://svn.python.org
- os.chdir(os.path.join(ROOT, TIX, "win"))
- if clean:
- nmake("python.mak", "clean")
- nmake("python.mak", MACHINE=machine, INSTALL_DIR=dest)
- nmake("python.mak", "install", MACHINE=machine, INSTALL_DIR=dest)
-
-def main():
- 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:
- clean = True
- else:
- clean = False
-
- build(sys.argv[1], clean)
-
-
-if __name__ == '__main__':
- main()
diff -r c13398566409 PCbuild/debug.props
--- a/PCbuild/debug.props Wed Mar 12 12:41:44 2014 +0100
+++ b/PCbuild/debug.props Wed Mar 12 13:13:30 2014 -0500
@@ -3,6 +3,7 @@
_d
$(OutDir)kill_python_d.exe
+ g
<_ProjectFileVersion>10.0.30319.1
@@ -23,5 +24,8 @@
$(KillPythonExe)
+
+ $(TclDebugExt)
+
\ No newline at end of file
diff -r c13398566409 PCbuild/pcbuild.sln
--- a/PCbuild/pcbuild.sln Wed Mar 12 12:41:44 2014 +0100
+++ b/PCbuild/pcbuild.sln Wed Mar 12 13:13:30 2014 -0500
@@ -78,6 +78,12 @@
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testembed", "_testembed.vcxproj", "{6DAC66D9-E703-4624-BE03-49112AB5AA62}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tcl", "tcl.vcxproj", "{B5FD6F1D-129E-4BFF-9340-03606FAC7283}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tk", "tk.vcxproj", "{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tix", "tix.vcxproj", "{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -615,22 +621,22 @@
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGUpdate|x64.ActiveCfg = Release|Win32
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Release|Win32.ActiveCfg = Release|Win32
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Release|x64.ActiveCfg = Release|x64
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.Debug|Win32.ActiveCfg = Debug|Win32
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.Debug|Win32.Build.0 = Debug|Win32
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.Debug|x64.ActiveCfg = Debug|x64
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.Debug|x64.Build.0 = Debug|x64
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.PGInstrument|x64.Build.0 = PGInstrument|x64
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.PGUpdate|x64.Build.0 = PGUpdate|x64
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.Release|Win32.ActiveCfg = Release|Win32
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.Release|Win32.Build.0 = Release|Win32
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.Release|x64.ActiveCfg = Release|x64
- {254A0C05-6696-4B08-8CB2-EF7D533AEE01}.Release|x64.Build.0 = Release|x64
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Debug|Win32.Build.0 = Debug|Win32
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Debug|x64.ActiveCfg = Debug|x64
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Debug|x64.Build.0 = Debug|x64
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGInstrument|x64.Build.0 = PGInstrument|x64
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGUpdate|x64.Build.0 = PGUpdate|x64
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Release|Win32.ActiveCfg = Release|Win32
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Release|Win32.Build.0 = Release|Win32
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Release|x64.ActiveCfg = Release|x64
+ {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Release|x64.Build.0 = Release|x64
{6DAC66D9-E703-4624-BE03-49112AB5AA62}.Debug|Win32.ActiveCfg = Debug|Win32
{6DAC66D9-E703-4624-BE03-49112AB5AA62}.Debug|Win32.Build.0 = Debug|Win32
{6DAC66D9-E703-4624-BE03-49112AB5AA62}.Debug|x64.ActiveCfg = Debug|x64
@@ -647,22 +653,54 @@
{6DAC66D9-E703-4624-BE03-49112AB5AA62}.Release|Win32.Build.0 = Release|Win32
{6DAC66D9-E703-4624-BE03-49112AB5AA62}.Release|x64.ActiveCfg = Release|x64
{6DAC66D9-E703-4624-BE03-49112AB5AA62}.Release|x64.Build.0 = Release|x64
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Debug|Win32.ActiveCfg = Debug|Win32
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Debug|Win32.Build.0 = Debug|Win32
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Debug|x64.ActiveCfg = Debug|x64
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Debug|x64.Build.0 = Debug|x64
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGInstrument|x64.Build.0 = PGInstrument|x64
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.PGUpdate|x64.Build.0 = PGUpdate|x64
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Release|Win32.ActiveCfg = Release|Win32
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Release|Win32.Build.0 = Release|Win32
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Release|x64.ActiveCfg = Release|x64
- {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}.Release|x64.Build.0 = Release|x64
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Debug|Win32.Build.0 = Debug|Win32
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Debug|x64.ActiveCfg = Debug|x64
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Debug|x64.Build.0 = Debug|x64
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGInstrument|Win32.ActiveCfg = Release|Win32
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGInstrument|Win32.Build.0 = Release|Win32
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGInstrument|x64.Build.0 = PGInstrument|x64
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGUpdate|Win32.ActiveCfg = Release|Win32
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGUpdate|Win32.Build.0 = Release|Win32
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGUpdate|x64.Build.0 = PGUpdate|x64
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Release|Win32.ActiveCfg = Release|Win32
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Release|Win32.Build.0 = Release|Win32
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Release|x64.ActiveCfg = Release|x64
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Release|x64.Build.0 = Release|x64
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Debug|Win32.Build.0 = Debug|Win32
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Debug|x64.ActiveCfg = Debug|x64
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Debug|x64.Build.0 = Debug|x64
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGInstrument|Win32.ActiveCfg = Release|Win32
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGInstrument|Win32.Build.0 = Release|Win32
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGInstrument|x64.Build.0 = PGInstrument|x64
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGUpdate|Win32.ActiveCfg = Release|Win32
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGUpdate|Win32.Build.0 = Release|Win32
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGUpdate|x64.Build.0 = PGUpdate|x64
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Release|Win32.ActiveCfg = Release|Win32
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Release|Win32.Build.0 = Release|Win32
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Release|x64.ActiveCfg = Release|x64
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Release|x64.Build.0 = Release|x64
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Debug|Win32.Build.0 = Debug|Win32
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Debug|x64.ActiveCfg = Debug|x64
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Debug|x64.Build.0 = Debug|x64
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGInstrument|x64.Build.0 = PGInstrument|x64
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGUpdate|x64.Build.0 = PGUpdate|x64
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Release|Win32.ActiveCfg = Release|Win32
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Release|Win32.Build.0 = Release|Win32
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Release|x64.ActiveCfg = Release|x64
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff -r c13398566409 PCbuild/pyproject.props
--- a/PCbuild/pyproject.props Wed Mar 12 12:41:44 2014 +0100
+++ b/PCbuild/pyproject.props Wed Mar 12 13:13:30 2014 -0500
@@ -5,7 +5,7 @@
$(SolutionDir)
$(SolutionDir)$(PlatformName)-temp-$(Configuration)\$(ProjectName)\
false
-
+
<_ProjectFileVersion>10.0.30319.1
<_PropertySheetDisplayName>amd64
@@ -21,12 +21,10 @@
$(externalsDir)\bzip2-1.0.6
$(externalsDir)\xz-5.0.5
$(externalsDir)\openssl-1.0.1e
+ $(externalsDir)\tcl-8.6.1.0
+ $(externalsDir)\tk-8.6.1.0
+ $(externalsDir)\tix-8.4.3.3
$(externalsDir)\tcltk
- $(externalsDir)\tcltk64
- $(tcltkDir)\lib\tcl86t.lib;$(tcltkDir)\lib\tk86t.lib
- $(tcltkDir)\lib\tcl86tg.lib;$(tcltkDir)\lib\tk86tg.lib
- $(tcltk64Dir)\lib\tcl86t.lib;$(tcltk64Dir)\lib\tk86t.lib
- $(tcltk64Dir)\lib\tcl86tg.lib;$(tcltk64Dir)\lib\tk86tg.lib
@@ -82,23 +80,17 @@
$(opensslDir)
+
+ $(tclDir)
+
+
+ $(tkDir)
+
+
+ $(tixDir)
+
$(tcltkDir)
-
- $(tcltk64Dir)
-
-
- $(tcltkLib)
-
-
- $(tcltkLibDebug)
-
-
- $(tcltk64Lib)
-
-
- $(tcltk64LibDebug)
-
-
+
\ No newline at end of file
diff -r c13398566409 PCbuild/readme.txt
--- a/PCbuild/readme.txt Wed Mar 12 12:41:44 2014 +0100
+++ b/PCbuild/readme.txt Wed Mar 12 13:13:30 2014 -0500
@@ -214,11 +214,19 @@
Homepage:
http://www.tcl.tk/
- Unlike the other external libraries listed above, Tk must be built
- separately before the _tkinter module can be built. This means that
- a pre-built Tcl/Tk installation is expected in ..\..\tcltk (tcltk64
- for 64-bit) relative to this directory. See "Getting External
- Sources" below for the easiest method to ensure Tcl/Tk is built.
+ Tkinter's dependencies are built by the tcl.vcxproj and tk.vcxproj
+ projects. The tix.vcxproj project also builds the Tix extended
+ widget set for use with Tkinter.
+
+ Those three projects install their respective components in a
+ directory alongside the source directories called "tcltk" on
+ Win32 and "tcltk64" on x64. They also copy the Tcl and Tk DLLs
+ into the current output directory, which should ensure that Tkinter
+ is able to load Tcl/Tk without having to change your PATH.
+
+ The tcl, tk, and tix sub-projects do not have the ability to clean
+ their builds; if you need to rebuild, you'll have to clean them by
+ hand.
Getting External Sources
@@ -247,26 +255,6 @@
anyway, since that is where the solution is set to look for xz. The
same is true for all other external projects.
-The external(-amd64).bat scripts will also build a debug build of
-Tcl/Tk, but there aren't any equivalent batch files for building release
-versions of Tcl/Tk currently available. If you need to build a release
-version of Tcl/Tk, just take a look at the relevant external(-amd64).bat
-file and find the two nmake lines, then call each one without the
-'DEBUG=1' parameter, i.e.:
-
-The external-amd64.bat file contains this for tcl:
- nmake -f makefile.vc DEBUG=1 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 clean all install
-
-So for a release build, you'd call it as:
- nmake -f makefile.vc MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 clean all install
-
-Note that the above command is called from within ..\..\tcl-8.6.1.0\win
-(relative to this directory); don't forget to build Tk as well as Tcl!
-
-This will be cleaned up in the future; http://bugs.python.org/issue15968
-tracks adding a new tcltk.vcxproj file that will build Tcl/Tk and Tix
-the same way the other external projects listed above are built.
-
Building for AMD64
------------------
diff -r c13398566409 PCbuild/release.props
--- a/PCbuild/release.props Wed Mar 12 12:41:44 2014 +0100
+++ b/PCbuild/release.props Wed Mar 12 13:13:30 2014 -0500
@@ -2,6 +2,7 @@
+
<_ProjectFileVersion>10.0.30319.1
@@ -15,5 +16,8 @@
$(PyDebugExt)
+
+ $(TclDebugExt)
+
\ No newline at end of file
diff -r c13398566409 PCbuild/rt.bat
--- a/PCbuild/rt.bat Wed Mar 12 12:41:44 2014 +0100
+++ b/PCbuild/rt.bat Wed Mar 12 13:13:30 2014 -0500
@@ -30,15 +30,13 @@
set suffix=
set qmode=
set dashO=
-set tcltk=tcltk
:CheckOpts
if "%1"=="-O" (set dashO=-O) & shift & goto CheckOpts
if "%1"=="-q" (set qmode=yes) & shift & goto CheckOpts
if "%1"=="-d" (set suffix=_d) & shift & goto CheckOpts
-if "%1"=="-x64" (set prefix=amd64) & (set tcltk=tcltk64) & shift & goto CheckOpts
+if "%1"=="-x64" (set prefix=amd64) & shift & goto CheckOpts
-PATH %PATH%;%~dp0..\..\%tcltk%\bin
set exe=%prefix%\python%suffix%
set cmd=%exe% %dashO% -Wd -E -bb ../lib/test/regrtest.py %1 %2 %3 %4 %5 %6 %7 %8 %9
if defined qmode goto Qmode
diff -r c13398566409 PCbuild/tcl.vcxproj
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/PCbuild/tcl.vcxproj Wed Mar 12 13:13:30 2014 -0500
@@ -0,0 +1,175 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ PGInstrument
+ Win32
+
+
+ PGInstrument
+ x64
+
+
+ PGUpdate
+ Win32
+
+
+ PGUpdate
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {B5FD6F1D-129E-4BFF-9340-03606FAC7283}
+ tcl
+ MakeFileProj
+
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+
+IF EXIST $(tcltkDir)\include\tcl.h (
+ IF EXIST $(tcltkDir)\bin\$(tclDLLName) (
+ IF EXIST $(OutDir)$(tclDLLName) (
+ echo Tcl is already built and available.
+ exit /b 0
+ ) ELSE (
+ echo Copying tcl dll to $(OutDir)
+ xcopy $(tcltkDir)\bin\$(tclDLLName) $(OutDir)
+ exit /b 0
+ )
+ )
+)
+
+IF NOT EXIST $(tclDir) (
+ echo error: $(tclDir) doesn't exist.
+ exit 1
+)
+
+IF "$(Platform)" EQU "Win32" set TclMachine=IX86
+IF "$(Platform)" EQU "x64" set TclMachine=AMD64
+
+IF "$(Configuration)" EQU "Debug" (
+ set TclOpts=symbols
+) ELSE (
+ set TclOpts=
+)
+
+cd $(tclDir)\win
+
+nmake -f makefile.vc MACHINE=%TclMachine% OPTS=%TclOpts% core shell dlls && nmake -f makefile.vc MACHINE=%TclMachine% OPTS=%TclOpts% INSTALLDIR=$(SolutionDir)$(tcltkDir) install-binaries install-libraries && xcopy /y $(SolutionDir)$(tcltkDir)\bin\$(tclDLLName) $(OutDir)
+
+ del $(OutDir)$(tclDLLName)
+echo Tcl must be cleaned manually if you want to rebuild it.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r c13398566409 PCbuild/tcltk.props
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/PCbuild/tcltk.props Wed Mar 12 13:13:30 2014 -0500
@@ -0,0 +1,30 @@
+
+
+
+
+ Dummy value to avoid patching Tcl/Tk's makefile.vc
+ tcl86t$(TclDebugExt).dll
+ tk86t$(TclDebugExt).dll
+ tix84$(TclDebugExt).dll
+ $(tcltkDir)\lib\tcl86t$(TclDebugExt).lib;$(tcltkDir)\lib\tk86t$(TclDebugExt).lib
+
+
+
+
+ $(MSDEVDIR)
+ true
+
+
+ $(tclDLLName)
+
+
+ $(tkDLLName)
+
+
+ $(tixDLLName)
+
+
+ $(tcltkLib)
+
+
+
\ No newline at end of file
diff -r c13398566409 PCbuild/tix.vcxproj
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/PCbuild/tix.vcxproj Wed Mar 12 13:13:30 2014 -0500
@@ -0,0 +1,171 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ PGInstrument
+ Win32
+
+
+ PGInstrument
+ x64
+
+
+ PGUpdate
+ Win32
+
+
+ PGUpdate
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}
+ tix
+ MakeFileProj
+
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+
+IF EXIST $(tcltkDir)\lib\tix8.4.3\$(tixDLLName) (
+ echo Tix is already built and available.
+ exit /b 0
+)
+
+IF NOT EXIST $(tixDir) (
+ echo error: $(tixDir) doesn't exist.
+ exit 1
+)
+
+IF "$(Platform)" EQU "Win32" set TclMachine=IX86
+IF "$(Platform)" EQU "x64" set TclMachine=AMD64
+
+IF "$(Configuration)" EQU "Debug" (
+ set TixDebug=1
+) ELSE (
+ set TixDebug=0
+)
+
+cd $(tixDir)\win
+nmake -f python.mak MACHINE=%TclMachine% DEBUG=%TixDebug% TCL_DIR=$(SolutionDir)$(tclDir) TK_DIR=$(SolutionDir)$(tkDir) all && nmake -f python.mak MACHINE=%TclMachine% DEBUG=%TixDebug% TCL_DIR=$(SolutionDir)$(tclDir) TK_DIR=$(SolutionDir)$(tkDir) INSTALL_DIR=$(SolutionDir)$(tcltkDir) install
+
+ echo Tix must be cleaned manually if you want to rebuild it.
+
+
+
+
+
+ {b5fd6f1d-129e-4bff-9340-03606fac7283}
+
+
+ {7e85eccf-a72c-4da4-9e52-884508e80ba1}
+
+
+
+
+
+
\ No newline at end of file
diff -r c13398566409 PCbuild/tk.vcxproj
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/PCbuild/tk.vcxproj Wed Mar 12 13:13:30 2014 -0500
@@ -0,0 +1,178 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ PGInstrument
+ Win32
+
+
+ PGInstrument
+ x64
+
+
+ PGUpdate
+ Win32
+
+
+ PGUpdate
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {7E85ECCF-A72C-4DA4-9E52-884508E80BA1}
+ tk
+ MakeFileProj
+
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+ Makefile
+ NotSet
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+
+IF EXIST $(tcltkDir)\include\tk.h (
+ IF EXIST $(tcltkDir)\bin\$(tkDLLName) (
+ IF EXIST $(OutDir)$(tkDLLName) (
+ echo Tk is already built and available.
+ exit /b 0
+ ) ELSE (
+ echo Copying tk dll to $(OutDir)
+ xcopy $(tcltkDir)\bin\$(tkDLLName) $(OutDir)
+ exit /b 0
+ )
+ )
+)
+
+IF NOT EXIST $(tkDir) (
+ echo error: $(tkDir) doesn't exist.
+ exit 1
+)
+
+IF "$(Platform)" EQU "Win32" set TclMachine=IX86
+IF "$(Platform)" EQU "x64" set TclMachine=AMD64
+
+IF "$(Configuration)" EQU "Debug" (
+ set TclOpts=symbols,noxp
+) ELSE (
+ set TclOpts=noxp
+)
+
+cd $(tkDir)\win
+
+nmake -f makefile.vc MACHINE=%TclMachine% OPTS=%TclOpts% TCLDIR=$(SolutionDir)$(tclDir) all && nmake -f makefile.vc MACHINE=%TclMachine% OPTS=%TclOpts% TCLDIR=$(SolutionDir)$(tclDir) INSTALLDIR=$(SolutionDir)$(tcltkDir) install-binaries install-libraries && xcopy /y $(SolutionDir)$(tcltkDir)\bin\$(tkDLLName) $(OutDir)
+
+ del $(OutDir)$(tkDLLName)
+echo Tk must be cleaned manually if you want to rebuild it.
+
+
+
+
+
+ {b5fd6f1d-129e-4bff-9340-03606fac7283}
+
+
+
+
+
+
\ No newline at end of file
diff -r c13398566409 PCbuild/x64.props
--- a/PCbuild/x64.props Wed Mar 12 12:41:44 2014 +0100
+++ b/PCbuild/x64.props Wed Mar 12 13:13:30 2014 -0500
@@ -3,6 +3,9 @@
$(HOST_PYTHON)
+
+ $(externalsDir)\tcltk64
+
false
@@ -16,5 +19,8 @@
$(PythonExe)
+
+ $(tcltkDir)
+
-
+
\ No newline at end of file
diff -r c13398566409 Tools/buildbot/README.tcltk-AMD64
--- a/Tools/buildbot/README.tcltk-AMD64 Wed Mar 12 12:41:44 2014 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-Comments on building tcl/tk for AMD64 with the MS SDK compiler
-==============================================================
-
-I did have to build tcl/tk manually.
-
-First, I had to build the nmakehlp.exe helper utility manually by executing
- cl nmakehlp.c /link bufferoverflowU.lib
-in both the tcl8.4.12\win and tk8.4.12\win directories.
-
-Second, the AMD64 compiler refuses to compile the file
-tcl8.4.12\generic\tclExecute.c because it insists on using intrinsics
-for the 'ceil' and 'floor' functions:
-
- ..\generic\tclExecute.c(394) : error C2099: initializer is not a constant
- ..\generic\tclExecute.c(398) : error C2099: initializer is not a constant
-
-I did comment out these lines; an alternative would have been to use
-the /Oi- compiler flag to disable the intrinsic functions.
-The commands then used were these:
-
- svn export http://svn.python.org/projects/external/tcl8.4.12
- cd tcl8.4.12\win
- REM
- echo patch the tcl8.4.12\generic\tclExecute.c file
- pause
- REM
- cl nmakehlp.c /link bufferoverflowU.lib
- nmake -f makefile.vc MACHINE=AMD64
- nmake -f makefile.vc INSTALLDIR=..\..\tcltk install
- cd ..\..
- svn export http://svn.python.org/projects/external/tk8.4.12
- cd tk8.4.12\win
- cl nmakehlp.c /link bufferoverflowU.lib
- nmake -f makefile.vc TCLDIR=..\..\tcl8.4.12 MACHINE=AMD64
- nmake -f makefile.vc TCLDIR=..\..\tcl8.4.12 INSTALLDIR=..\..\tcltk install
- cd ..\..
diff -r c13398566409 Tools/buildbot/external-amd64.bat
--- a/Tools/buildbot/external-amd64.bat Wed Mar 12 12:41:44 2014 +0100
+++ b/Tools/buildbot/external-amd64.bat Wed Mar 12 13:13:30 2014 -0500
@@ -2,20 +2,5 @@
@rem Assume we start inside the Python source directory
call "Tools\buildbot\external-common.bat"
-call "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
-if not exist tcltk64\bin\tcl86tg.dll (
- cd tcl-8.6.1.0\win
- nmake -f makefile.vc DEBUG=1 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 clean all
- nmake -f makefile.vc DEBUG=1 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 install
- cd ..\..
-)
-if not exist tcltk64\bin\tk86tg.dll (
- cd tk-8.6.1.0\win
- nmake -f makefile.vc OPTS=noxp DEBUG=1 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 TCLDIR=..\..\tcl-8.6.1.0 clean
- nmake -f makefile.vc OPTS=noxp DEBUG=1 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 TCLDIR=..\..\tcl-8.6.1.0 all
- nmake -f makefile.vc OPTS=noxp DEBUG=1 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 TCLDIR=..\..\tcl-8.6.1.0 install
- cd ..\..
-)
-
diff -r c13398566409 Tools/buildbot/external-common.bat
--- a/Tools/buildbot/external-common.bat Wed Mar 12 12:41:44 2014 +0100
+++ b/Tools/buildbot/external-common.bat Wed Mar 12 13:13:30 2014 -0500
@@ -15,7 +15,7 @@
@rem if exist tk-8.4.18.1 rd /s/q tk-8.4.18.1
@rem if exist db-4.4.20 rd /s/q db-4.4.20
@rem if exist openssl-1.0.1e rd /s/q openssl-1.0.1e
-@rem if exist sqlite-3.7.12 rd /s/q sqlite-3.7.12
+@rem if exist sqlite-3.7.12 rd /s/q sqlite-3.7.12
@rem bzip
if not exist bzip2-1.0.6 (
@@ -29,12 +29,13 @@
svn export http://svn.python.org/projects/external/openssl-1.0.1e
)
-@rem tcl/tk
+@rem tcl/tk/tix
if not exist tcl-8.6.1.0 (
- rd /s/q tcltk tcltk64 tcl-8.5.11.0 tk-8.5.11.0
+ rd /s/q tcltk tcltk64 tcl-8.5.11.0 tk-8.5.11.0 tix-8.4.3.3
svn export http://svn.python.org/projects/external/tcl-8.6.1.0
)
if not exist tk-8.6.1.0 svn export http://svn.python.org/projects/external/tk-8.6.1.0
+if not exist tix-8.4.3.3 svn export http://svn.python.org/projects/external/tix-8.4.3.3
@rem sqlite3
if not exist sqlite-3.8.3.1 (
diff -r c13398566409 Tools/buildbot/external.bat
--- a/Tools/buildbot/external.bat Wed Mar 12 12:41:44 2014 +0100
+++ b/Tools/buildbot/external.bat Wed Mar 12 13:13:30 2014 -0500
@@ -2,20 +2,4 @@
@rem Assume we start inside the Python source directory
call "Tools\buildbot\external-common.bat"
-call "%VS100COMNTOOLS%\vsvars32.bat"
-if not exist tcltk\bin\tcl86tg.dll (
- @rem all and install need to be separate invocations, otherwise nmakehlp is not found on install
- cd tcl-8.6.1.0\win
- nmake -f makefile.vc DEBUG=1 INSTALLDIR=..\..\tcltk clean all
- nmake -f makefile.vc DEBUG=1 INSTALLDIR=..\..\tcltk install
- cd ..\..
-)
-
-if not exist tcltk\bin\tk86tg.dll (
- cd tk-8.6.1.0\win
- nmake -f makefile.vc OPTS=noxp DEBUG=1 INSTALLDIR=..\..\tcltk TCLDIR=..\..\tcl-8.6.1.0 clean
- nmake -f makefile.vc OPTS=noxp DEBUG=1 INSTALLDIR=..\..\tcltk TCLDIR=..\..\tcl-8.6.1.0 all
- nmake -f makefile.vc OPTS=noxp DEBUG=1 INSTALLDIR=..\..\tcltk TCLDIR=..\..\tcl-8.6.1.0 install
- cd ..\..
-)