Ticket UUID: | 3116490 | |||
Title: | cross-compile Tcl mingw32 on unix | |||
Type: | Patch | Version: | None | |
Submitter: | nijtmans | Created on: | 2010-11-23 11:27:28 | |
Subsystem: | 52. Portability Support | Assigned To: | nijtmans | |
Priority: | 5 Medium | Severity: | ||
Status: | Closed | Last Modified: | 2011-09-21 18:29:41 | |
Resolution: | Fixed | Closed By: | nijtmans | |
Closed on: | 2011-09-21 11:29:41 | |||
Description: |
The mingw-w64 project <http://mingw-w64.sourceforge.net/> provides toolchains which make it possible to compile windows (both 32-bit and 64-bit) executables on UNIX hosts. Tcl 8.6 has almost complete cross-compile support, here is the final patch to make it work. - The configure script detects cross-compilation, and sets TCL_EXE accordingly: This means that for cross-builds, TCL_EXE points to a tclsh executable which must be available before starting make for the first time! In native builds,TCL_EXE points to the tclsh being created, so it does not need to be available beforehand. modules in the pkgs directory (Thread, itcl, odbc) should upgrade to the latest TEA tcl.m4, then they can be cross-compiled the same way. So, how to cross-compile win32 Tcl on UNIX? For Linux (tested on Ubuntu 10.4): Make sure you have the mingw-w64 toolchain $ sudo apt-get install mingw-w64 Then, do as normal, only add --host=... $ ./configure --prefix=/home/<user>/Tcl --host=i586-mingw32msvc ...... $ make install That's it. You will have a complete build in your /home/<user>/Tcl directory. If you have wine installed, you can even run the tests (but don't expect everything to pass, because wine is not windows!) | |||
User Comments: |
nijtmans added on 2011-09-21 18:29:41:
allow_comments - 1 nijtmans added on 2010-12-06 20:02:09: fixed on HEAD nijtmans added on 2010-11-23 18:29:00: File Added - 394145: 3116490.patch |
Attachments:
- 3116490.patch [download] added by nijtmans on 2010-11-23 18:29:00. [details]