diff options
author | Steve Dower <steve.dower@python.org> | 2022-02-28 12:06:43 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-28 12:06:43 (GMT) |
commit | da7d99a4de72aac8d436cecedf16ab2676f9b785 (patch) | |
tree | 4cd872e18c9b1053147d9e50bed6cbe8cfe6a1b6 /PCbuild | |
parent | 424ecab494d538650ba34937cdd710094ccb2275 (diff) | |
download | cpython-da7d99a4de72aac8d436cecedf16ab2676f9b785.zip cpython-da7d99a4de72aac8d436cecedf16ab2676f9b785.tar.gz cpython-da7d99a4de72aac8d436cecedf16ab2676f9b785.tar.bz2 |
bpo-46567: Add Tcl/Tk build for Windows ARM64 (GH-31574)
Diffstat (limited to 'PCbuild')
-rw-r--r-- | PCbuild/get_externals.bat | 6 | ||||
-rw-r--r-- | PCbuild/pcbuild.proj | 2 | ||||
-rw-r--r-- | PCbuild/prepare_tcltk.bat | 4 | ||||
-rw-r--r-- | PCbuild/tcl.vcxproj | 8 | ||||
-rw-r--r-- | PCbuild/tcltk.props | 5 | ||||
-rw-r--r-- | PCbuild/tix.vcxproj | 6 | ||||
-rw-r--r-- | PCbuild/tk.vcxproj | 8 |
7 files changed, 29 insertions, 10 deletions
diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat index 5b0fe64..d4e052e 100644 --- a/PCbuild/get_externals.bat +++ b/PCbuild/get_externals.bat @@ -55,8 +55,8 @@ set libraries=%libraries% bzip2-1.0.6 if NOT "%IncludeLibffiSrc%"=="false" set libraries=%libraries% libffi-3.4.2 if NOT "%IncludeSSLSrc%"=="false" set libraries=%libraries% openssl-1.1.1m set libraries=%libraries% sqlite-3.37.2.0 -if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tcl-core-8.6.12.0 -if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tk-8.6.12.0 +if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tcl-core-8.6.12.1 +if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tk-8.6.12.1 if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tix-8.4.3.6 set libraries=%libraries% xz-5.2.2 set libraries=%libraries% zlib-1.2.11 @@ -78,7 +78,7 @@ echo.Fetching external binaries... set binaries= if NOT "%IncludeLibffi%"=="false" set binaries=%binaries% libffi-3.4.2 if NOT "%IncludeSSL%"=="false" set binaries=%binaries% openssl-bin-1.1.1m -if NOT "%IncludeTkinter%"=="false" set binaries=%binaries% tcltk-8.6.12.0 +if NOT "%IncludeTkinter%"=="false" set binaries=%binaries% tcltk-8.6.12.1 if NOT "%IncludeSSLSrc%"=="false" set binaries=%binaries% nasm-2.11.06 for %%b in (%binaries%) do ( diff --git a/PCbuild/pcbuild.proj b/PCbuild/pcbuild.proj index f32422a..2ba0627 100644 --- a/PCbuild/pcbuild.proj +++ b/PCbuild/pcbuild.proj @@ -73,7 +73,7 @@ <!-- _ssl will build _socket as well, which may cause conflicts in parallel builds --> <ExtensionModules Include="_socket" Condition="!$(IncludeSSL) or !$(IncludeExternals)" /> <ExternalModules Include="_ssl;_hashlib" Condition="$(IncludeSSL)" /> - <ExternalModules Include="_tkinter" Condition="$(IncludeTkinter) and $(Platform) != 'ARM' and $(Platform) != 'ARM64'" /> + <ExternalModules Include="_tkinter" Condition="$(IncludeTkinter)" /> <ExtensionModules Include="@(ExternalModules->'%(Identity)')" Condition="$(IncludeExternals)" /> <Projects Include="@(ExtensionModules->'%(Identity).vcxproj')" Condition="$(IncludeExtensions)" /> <!-- Test modules --> diff --git a/PCbuild/prepare_tcltk.bat b/PCbuild/prepare_tcltk.bat index 77075af..4a43ed1 100644 --- a/PCbuild/prepare_tcltk.bat +++ b/PCbuild/prepare_tcltk.bat @@ -53,3 +53,7 @@ call "%PCBUILD%\get_externals.bat" --tkinter-src %ORG_SETTING% %MSBUILD% "%PCBUILD%\tcl.vcxproj" /p:Configuration=Release /p:Platform=x64 %MSBUILD% "%PCBUILD%\tk.vcxproj" /p:Configuration=Release /p:Platform=x64 %MSBUILD% "%PCBUILD%\tix.vcxproj" /p:Configuration=Release /p:Platform=x64 + +%MSBUILD% "%PCBUILD%\tcl.vcxproj" /p:Configuration=Release /p:Platform=ARM64 +%MSBUILD% "%PCBUILD%\tk.vcxproj" /p:Configuration=Release /p:Platform=ARM64 +%MSBUILD% "%PCBUILD%\tix.vcxproj" /p:Configuration=Release /p:Platform=ARM64 diff --git a/PCbuild/tcl.vcxproj b/PCbuild/tcl.vcxproj index 4536cbc..ab68db9 100644 --- a/PCbuild/tcl.vcxproj +++ b/PCbuild/tcl.vcxproj @@ -33,6 +33,10 @@ <Configuration>Release</Configuration> <Platform>x64</Platform> </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM64"> + <Configuration>Release</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> </ItemGroup> <PropertyGroup Label="Globals"> <ProjectGuid>{B5FD6F1D-129E-4BFF-9340-03606FAC7283}</ProjectGuid> @@ -59,8 +63,8 @@ <NMakeBuildCommandLine>setlocal set VCINSTALLDIR=$(VCInstallDir) cd /D "$(tclDir)win" -nmake -f makefile.vc MACHINE=$(TclMachine) OPTS=$(TclOpts) $(TclDirs) $(DebugFlags) $(WarningsFlags) core shell dlls -nmake -f makefile.vc MACHINE=$(TclMachine) OPTS=$(TclOpts) $(TclDirs) $(DebugFlags) $(WarningsFlags) install-binaries install-libraries +nmake -f makefile.vc MACHINE=$(TclMachine) OPTS=$(TclOpts) $(TclDirs) $(DebugFlags) $(WarningsFlags) TCLSH_NATIVE="$(tclWin32Exe)" core shell dlls +nmake -f makefile.vc MACHINE=$(TclMachine) OPTS=$(TclOpts) $(TclDirs) $(DebugFlags) $(WarningsFlags) TCLSH_NATIVE="$(tclWin32Exe)" install-binaries install-libraries copy /Y ..\license.terms "$(OutDir)\tcllicense.terms" </NMakeBuildCommandLine> </PropertyGroup> diff --git a/PCbuild/tcltk.props b/PCbuild/tcltk.props index 72cffc3..7fd43e8 100644 --- a/PCbuild/tcltk.props +++ b/PCbuild/tcltk.props @@ -5,7 +5,7 @@ <TclMajorVersion>8</TclMajorVersion> <TclMinorVersion>6</TclMinorVersion> <TclPatchLevel>12</TclPatchLevel> - <TclRevision>0</TclRevision> + <TclRevision>1</TclRevision> <TkMajorVersion>$(TclMajorVersion)</TkMajorVersion> <TkMinorVersion>$(TclMinorVersion)</TkMinorVersion> <TkPatchLevel>$(TclPatchLevel)</TkPatchLevel> @@ -18,6 +18,9 @@ <tkDir>$(ExternalsDir)tk-$(TkMajorVersion).$(TkMinorVersion).$(TkPatchLevel).$(TkRevision)\</tkDir> <tixDir>$(ExternalsDir)tix-$(TixMajorVersion).$(TixMinorVersion).$(TixPatchLevel).$(TixRevision)\</tixDir> <tcltkDir>$(ExternalsDir)tcltk-$(TclMajorVersion).$(TclMinorVersion).$(TclPatchLevel).$(TclRevision)\$(ArchName)\</tcltkDir> + <tclWin32Exe Condition="$(Platform) == 'Win32'">$(tcltkDir)\bin\tclsh$(TclMajorVersion)$(TclMinorVersion)t.exe</tclWin32Exe> + <tclWin32Exe Condition="$(Platform) != 'Win32'">$(tcltkDir)\..\win32\bin\tclsh$(TclMajorVersion)$(TclMinorVersion)t.exe</tclWin32Exe> + <!--<TclDebugExt Condition="'$(Configuration)' == 'Debug'">g</TclDebugExt>--> <tclDLLName>tcl$(TclMajorVersion)$(TclMinorVersion)t$(TclDebugExt).dll</tclDLLName> <tclLibName>tcl$(TclMajorVersion)$(TclMinorVersion)t$(TclDebugExt).lib</tclLibName> diff --git a/PCbuild/tix.vcxproj b/PCbuild/tix.vcxproj index 5168209..48abcd2 100644 --- a/PCbuild/tix.vcxproj +++ b/PCbuild/tix.vcxproj @@ -33,6 +33,10 @@ <Configuration>Release</Configuration> <Platform>x64</Platform> </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM64"> + <Configuration>Release</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> </ItemGroup> <PropertyGroup Label="Globals"> <ProjectGuid>{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}</ProjectGuid> @@ -53,7 +57,7 @@ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <PropertyGroup> - <TixDirs>BUILDDIRTOP="$(BuildDirTop)" TCL_DIR="$(tclDir.TrimEnd(`\`))" TK_DIR="$(tkDir.TrimEnd(`\`))" INSTALL_DIR="$(OutDir.TrimEnd(`\`))"</TixDirs> + <TixDirs>BUILDDIRTOP="$(BuildDirTop)" TCL_DIR="$(tclDir.TrimEnd(`\`))" TK_DIR="$(tkDir.TrimEnd(`\`))" INSTALL_DIR="$(OutDir.TrimEnd(`\`))" TCLSH_EXE="$(tclWin32Exe)"</TixDirs> <DebugFlags Condition="'$(Configuration)' == 'Debug'">DEBUG=1 NODEBUG=0 TCL_DBGX=g TK_DBGX=g</DebugFlags> <DebugFlags Condition="'$(Configuration)' != 'Debug'">DEBUG=0 NODEBUG=1</DebugFlags> <CFlags>-c -W3 -nologo -MD -wd4028 -wd4090 -wd4244 -wd4267 -wd4312</CFlags> diff --git a/PCbuild/tk.vcxproj b/PCbuild/tk.vcxproj index 70b5459..b111969 100644 --- a/PCbuild/tk.vcxproj +++ b/PCbuild/tk.vcxproj @@ -33,6 +33,10 @@ <Configuration>Release</Configuration> <Platform>x64</Platform> </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM64"> + <Configuration>Release</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> </ItemGroup> <PropertyGroup Label="Globals"> <ProjectGuid>{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}</ProjectGuid> @@ -60,8 +64,8 @@ <NMakeBuildCommandLine>setlocal set VCINSTALLDIR=$(VCInstallDir) cd /D "$(tkDir)win" -nmake /nologo -f makefile.vc RC=rc MACHINE=$(TclMachine) OPTS=$(TkOpts) $(TkDirs) $(DebugFlags) $(WarningsFlags) all -nmake /nologo -f makefile.vc RC=rc MACHINE=$(TclMachine) OPTS=$(TkOpts) $(TkDirs) $(DebugFlags) $(WarningsFlags) install-binaries install-libraries +nmake /nologo -f makefile.vc RC=rc MACHINE=$(TclMachine) OPTS=$(TkOpts) $(TkDirs) $(DebugFlags) $(WarningsFlags) TCLSH_NATIVE="$(tclWin32Exe)" all +nmake /nologo -f makefile.vc RC=rc MACHINE=$(TclMachine) OPTS=$(TkOpts) $(TkDirs) $(DebugFlags) $(WarningsFlags) TCLSH_NATIVE="$(tclWin32Exe)" install-binaries install-libraries copy /Y ..\license.terms "$(OutDir)\tklicense.terms" </NMakeBuildCommandLine> </PropertyGroup> |