Skip to content

Commit d13fc36

Browse files
authored
gh-124111: Only set TCLSH_NATIVE for AMD64/ARM64 (GH-149443)
The Tcl 9 makefile.vc now uses TCLSH_NATIVE during the build process, not just the installation. We had been setting it to the installed location of the x86 tclsh.exe, which does not yet exist when the x86 build process needs it. That build doesn't actually need TCLSH_NATIVE, though (there's a check specifically allowing TCLSH to be used if MACHINE is IX86 and TCLSH_NATIVE is undefined), so don't set it.
1 parent 1dcc546 commit d13fc36

3 files changed

Lines changed: 7 additions & 8 deletions

File tree

PCbuild/tcl.vcxproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@
6363
<NMakeBuildCommandLine>setlocal
6464
set VCINSTALLDIR=$(VCInstallDir)
6565
cd /D "$(tclDir)win"
66-
nmake -f makefile.vc MACHINE=$(TclMachine) OPTS=$(TclOpts) $(TclDirs) $(DebugFlags) $(WarningsFlags) TCLSH_NATIVE="$(tclWin32Exe)" core shell dlls
67-
nmake -f makefile.vc MACHINE=$(TclMachine) OPTS=$(TclOpts) $(TclDirs) $(DebugFlags) $(WarningsFlags) TCLSH_NATIVE="$(tclWin32Exe)" install-binaries install-libraries
66+
nmake -f makefile.vc MACHINE=$(TclMachine) OPTS=$(TclOpts) $(TclDirs) $(DebugFlags) $(WarningsFlags) $(TclshNativeFlag) core shell dlls
67+
nmake -f makefile.vc MACHINE=$(TclMachine) OPTS=$(TclOpts) $(TclDirs) $(DebugFlags) $(WarningsFlags) $(TclshNativeFlag) install-binaries install-libraries
6868
copy /Y ..\license.terms "$(OutDir)\tcllicense.terms"
6969
</NMakeBuildCommandLine>
7070
</PropertyGroup>
@@ -74,4 +74,4 @@ copy /Y ..\license.terms "$(OutDir)\tcllicense.terms"
7474
<Target Name="Clean" />
7575

7676
<Target Name="ResolveAssemblyReferences" />
77-
</Project>
77+
</Project>

PCbuild/tcltk.props

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@
1717
<tcltkDir Condition="$(tcltkDir) == ''">$(ExternalsDir)tcltk-$(TclVersion)\$(ArchName)\</tcltkDir>
1818
<tcltkSuffix Condition="'$(TclMajorVersion)' == '8'">t</tcltkSuffix>
1919
<tkPrefix Condition="'$(TclMajorVersion)' == '9'">tcl9</tkPrefix>
20-
<tclWin32Exe Condition="$(Platform) == 'Win32'">$(tcltkDir)\bin\tclsh$(TclMajorVersion)$(TclMinorVersion)$(tcltkSuffix).exe</tclWin32Exe>
21-
<tclWin32Exe Condition="$(Platform) != 'Win32'">$(tcltkDir)\..\win32\bin\tclsh$(TclMajorVersion)$(TclMinorVersion)$(tcltkSuffix).exe</tclWin32Exe>
20+
<TclshNativeFlag Condition="$(Platform) != 'Win32'">TCLSH_NATIVE="$(tcltkDir)\..\win32\bin\tclsh$(TclMajorVersion)$(TclMinorVersion)$(tcltkSuffix).exe"</TclshNativeFlag>
2221
<tclExternalTommath Condition="$(TclMajorVersion) == '9'">TCL_WITH_EXTERNAL_TOMMATH;</tclExternalTommath>
2322

2423
<!--<TclDebugExt Condition="'$(Configuration)' == 'Debug'">g</TclDebugExt>-->

PCbuild/tk.vcxproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@
6464
<NMakeBuildCommandLine>setlocal
6565
set VCINSTALLDIR=$(VCInstallDir)
6666
cd /D "$(tkDir)win"
67-
nmake /nologo -f makefile.vc RC=rc MACHINE=$(TclMachine) OPTS=$(TkOpts) $(TkDirs) $(DebugFlags) $(WarningsFlags) TCLSH_NATIVE="$(tclWin32Exe)" all
68-
nmake /nologo -f makefile.vc RC=rc MACHINE=$(TclMachine) OPTS=$(TkOpts) $(TkDirs) $(DebugFlags) $(WarningsFlags) TCLSH_NATIVE="$(tclWin32Exe)" install-binaries install-libraries
67+
nmake /nologo -f makefile.vc RC=rc MACHINE=$(TclMachine) OPTS=$(TkOpts) $(TkDirs) $(DebugFlags) $(WarningsFlags) $(TclshNativeFlag) all
68+
nmake /nologo -f makefile.vc RC=rc MACHINE=$(TclMachine) OPTS=$(TkOpts) $(TkDirs) $(DebugFlags) $(WarningsFlags) $(TclshNativeFlag) install-binaries install-libraries
6969
copy /Y ..\license.terms "$(OutDir)\tklicense.terms"
7070
</NMakeBuildCommandLine>
7171
</PropertyGroup>
@@ -80,4 +80,4 @@ copy /Y ..\license.terms "$(OutDir)\tklicense.terms"
8080
<Target Name="Clean" />
8181

8282
<Target Name="ResolveAssemblyReferences" />
83-
</Project>
83+
</Project>

0 commit comments

Comments
 (0)