Tcl Source Code

View Ticket
Login
Ticket UUID: 4bd630f167e6708a48656a4db0e1f8ba01a642c5
Title: --without-tzdata windows
Type: Patch Created on: 2026-08-14 23:34:59
Submitter: Ericson2314 Assigned to: jan.nijtmans
Subsystem: 53. Configuration and Build Tools Severity: Minor
Priority: 5 Medium Last modified: 2026-08-27 18:49:18
Status: Closed Closed by: Ericson2314
Resolution: Fixed Closed on: 2026-08-27 18:49:18
Version: 9.0
Description:

I see that the Unix configure script as a --without-tzdata flag but the Windows one doesn't?

User Comments:
Ericson2314 added on 2026-08-15 15:33:43:

Ultimately though I think it would be more maintainable to combine the build systems.

I looked at e.g. https://sourceforge.net/p/tcl/mailman/message/59319969/ and https://core.tcl-lang.org/tcl/tktview/3432902fffffffffffffffffffffffffffffffff and if there is interest in a CMake or Meson build system I think that would be prudent too.

I would be willing to contribute a unified build system in either autoconf or one of those two if there is interest in this.


Ericson2314 added on 2026-08-15 17:46:19:

There is also an issue that when Cygwin DLLs are installed in bindir, tclConfig.sh still says -L<libdir>.

This is a great example of how split build systems don't really help that much --- Cygwin is Unix-like enough that it should use the Unix build system, but still has some Windows oddities. This means that the Unix build system cannot free itself of those Windows concerns, as one might have hoped the split would accomplish.


jan.nijtmans added on 2026-08-18 13:00:05:

Fixed [fd06472ef41e1d73|here]

Since --without-tzdata only has effect with --disable-zipfs, I don't think the value of --without-tzdata is that much, but making the behavior the same as on UNIX is a good thing.

> There is also an issue that when Cygwin DLLs are installed in `bindir`, `tclConfig.sh` still says `-L<libdir>`.

The normal way on Cygwin is to have a cygtcl9.x.dll in /usr/bin and a libtcl9.x.dll.a file in /usr/lib. So `-L<libdir>` is correct here. It works for me.

Hope this helps. Closing


Ericson2314 added on 2026-08-26 22:07:58:

Thanks it did! you can see https://github.com/NixOS/nixpkgs/pull/553016 for the result. (https://github.com/NixOS/nixpkgs/pull/556835 will clean it up but at the moment I post this GitHub is rendering the diff all wrong.)

There is also an issue that when Cygwin DLLs are installed in bindir, tclConfig.sh still says -L<libdir>.

The normal way on Cygwin is to have a cygtcl9.x.dll in /usr/bin and a libtcl9.x.dll.a file in /usr/lib. So -L<libdir> is correct here. It works for me.

Oh yes, that makes sense. The thing I had shuffling stuff libs/dirs around ended up being totally unneeded too, so confirmed empirically on our end also!


Ericson2314 added on 2026-08-27 18:49:18:

Ah! https://core.tcl-lang.org/tcl/tktview/17960b80db is the fix I needed -- I did a build with TCL 8.6 and that was the one missing it. I can just backport it in my distro.


Attachments: