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
mingw64-x86_64-tcl.cygport
Description: Binary data