Op zo 22 mrt. 2020 om 23:34 schreef Yaakov Selkowitz:
> A word of caution wrt Tcl/Tk for Cygwin: upstream incorrectly treats
> Cygwin as a Win32 platform, necessitating extensive patches to make it
> comply with *NIX/X11 standards.  These patches CANNOT be dropped
> without breaking compatibility, since Win32 and X11 APIs do not
> interact.  Fortunately, Tcl/Tk moves rather slowly, so the existing
> patches should serve you well for some time.

Yes, I'm aware of that. Of course, I'll be very careful to guarantee
100% binary compatibility.

Still, I have some questions. At first, I noted that the current Tcl
version is 8.6.8, which is two patchlevels behind (released
December 22, 2017, more than 3 years old, while 8.6.10
is released November 21, 2019, 4 months ago).  Work to do!

So, I tried starting with x86_64-w64-mingw32. Here are my remarks.

- There are 7 patches included. Only one of them applies cleanly,
  the others are not really necessary (Please correct me if I'm wrong.
  Let's go through them.
  - tcl-8.5.6-mingw.patch
    This one is wrong. Changing tools for cross-compilations should
    be done by "configure  ...  --host=x86_64-w64-mingw32"
  - tcl-8.6.1-nativezlib.patch
    OK. Tcl provides its own zlib.dll, in case it's not available externally.
    In Cygwin it is available (as "mingw64-x86_64-zlib"), which is prefered.
    (I added "cygautoreconf", so this patch would be part of "configure")
  - tcl-8.6.3-autopath.patch
    Not necessary for building, Only needed when we want to run
    Tcl in a non-standard installed directory.
  - tcl-8.6.5-hidden.patch
    Wrong. This exports some internal symbols, which are not
    supposed to be exported at all.
  - tcl-8-6-5-paralle-make-fix.patch
    Already fixed upstream. Besides, it's for unix/Makefile.in, not for mingw.
  - tcl-mingw-w64-compatibility.patch
    Already fixed upstream:
<https://core.tcl-lang.org/tcl/info/8fbf108ea77e5351>
  - tcl-nativetclsh.patch
    Only needed when running Tcl, not for building the libraries

Further on, I noted the the resulting hints file contains:
    requires: tcl
while I would expect:
    requires: mingw64-x86_64-zlib

Here is my cygport file so far.

Thanks for your feedback!

Regards,
      Jan Nijtmans

Attachment: mingw64-x86_64-tcl.cygport
Description: Binary data

Reply via email to