Skip to content

windows-release/tcltk-build: Update to handle Tcl/Tk 9#378

Merged
zooba merged 2 commits into
mainfrom
tcl9_fixups
May 11, 2026
Merged

windows-release/tcltk-build: Update to handle Tcl/Tk 9#378
zooba merged 2 commits into
mainfrom
tcl9_fixups

Conversation

@zware
Copy link
Copy Markdown
Member

@zware zware commented May 6, 2026

  • tcltk-build: Remove Tix
  • tcltk-build: Split {Tcl,Tk}SourceTag into version and prefix parameters

@zware zware requested a review from zooba May 6, 2026 19:21
@zooba
Copy link
Copy Markdown
Member

zooba commented May 6, 2026

Apart from the CI failure, looks good to me. I guess they need some better cross-compiling support, but hopefully you can override a build variable to get it to use the Win32 build during the ARM64 one?

@zware
Copy link
Copy Markdown
Member Author

zware commented May 6, 2026

Yep, looking into what else needs the override now.

@zooba
Copy link
Copy Markdown
Member

zooba commented May 8, 2026

Another trick we could use here is to extract the version number from the header file, that way we can go back to setting just the tags when building:

$ver = @{}
Get-Content .\generic\tcl.h | ?{ $_ -match '#\s*define\s+TCL_([A-Z]+)_VERSION\s+(\d+).*'} | %{ $ver[$Matches[1]] = $Matches[2] }
$ver.MAJOR
$ver.MINOR

That doesn't help people trying to build separately (without this script), but the current change doesn't help them either.

@zware
Copy link
Copy Markdown
Member Author

zware commented May 11, 2026

Hmm, could we actually do that in tcltk.props? I'm not too concerned about this solution being just for our purposes; once we do the update, the values in tcltk.props/tcl.vcxproj/tk.vcxproj will be right (for anyone sticking to the same version as us).

I think this is ready to go, but I'd rather someone else hit the big green button in this repo :)

@zooba
Copy link
Copy Markdown
Member

zooba commented May 11, 2026

Hmm, could we actually do that in tcltk.props?

Not so easily without adding more build-time dependencies (such as shelling out to Powershell or Python to do the command and print each variable one at a time - parsing stuff in MSBuild is a pain). It would be easier to use more wildcards and fewer hard-coded assumptions about the Tcl and Tk builds' outputs.

I think this is ready to go, but I'd rather someone else hit the big green button in this repo

Have you been able to run test builds of it directly from this branch? It's possible, and I assume you've got the permissions, but if that's been fine then it's fine by me.

@zware
Copy link
Copy Markdown
Member Author

zware commented May 11, 2026

Yes; see test build (unsigned), python/cpython#149477 for CI against it (using my fork of cpython-bin-deps).

@zooba zooba merged commit e6a9269 into main May 11, 2026
34 checks passed
@zooba
Copy link
Copy Markdown
Member

zooba commented May 11, 2026

Done. I'm off for the night now though, so if you start a signed build immediately you'll have to hope Hugo is about to approve it, or I'll do it tomorrow.

@zooba zooba deleted the tcl9_fixups branch May 11, 2026 22:54
@zware
Copy link
Copy Markdown
Member Author

zware commented May 11, 2026

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants