Overview
Comment: | Allow building a TclKit on Win32 using MinGW against Tcl/Tk 8.6.1. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
a063fafd1f01e5002c6c2bad9ef613a5 |
User & Date: | mistachkin on 2013-09-25 03:12:38 |
Other Links: | manifest | tags |
Context
2013-09-25
| ||
04:30 | Removed dead code check-in: 4816a85fc1 user: rkeene tags: trunk | |
03:12 | Allow building a TclKit on Win32 using MinGW against Tcl/Tk 8.6.1. check-in: a063fafd1f user: mistachkin tags: trunk | |
2013-09-24
| ||
22:18 | Fix Win32 portability issue in the VFS installation script regarding the 'null' device name. Closed-Leaf check-in: ad6d2d103e user: mistachkin tags: tcl-8.6.1-MinGW-Win32 | |
2013-09-22
| ||
14:43 | Corrected issue with performing checks using wrong compiler check-in: 6874e769d6 user: rkeene tags: trunk | |
Changes
Modified README from [43ef200174] to [2bc0f41d6f].
1 2 3 4 5 6 7 8 9 10 11 12 | This will build a Tclkit named "tclkit-<version>" or a KitDLL named "libtclkit<version>.so". --------------- Using This Tool --------------- Usage: kitcreator [{build | retry | clean | distclean}] [{<version> | cvs_<tag> | fossil_<tag>}] [<configure_option> ...] Where: | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | This will build a Tclkit named "tclkit-<version>" or a KitDLL named "libtclkit<version>.so". --------------- Using This Tool --------------- Usage: kitcreator [{build | retry | clean | distclean}] [{<version> | cvs_<tag> | fossil_<tag>}] [<configure_option> ...] Where: version is a Tcl version number (e.g., 8.6.1) tag is a CVS or fossil release tag (e.g., HEAD) configure_option option to pass to subordinate configure scripts (e.g., --enable-64bit) Default is to create a Tclkit from Tcl version 8.6.1 Examples: 1. Create a Tclkit: a. $ ./kitcreator 2. Create a Tclkit for Tcl 8.5.15: a. $ ./kitcreator 8.5.15 3. Create a Tclkit for Tcl from CVS HEAD: a. $ ./kitcreator cvs_HEAD 4. Compile a 64-bit Tclkit: a. $ ./kitcreator --enable-64bit |
︙ | ︙ | |||
44 45 46 47 48 49 50 | v. $ export CC CXX AR RANLIB vi. $ ./kitcreator --host=mipsel-linux-uclibc Note: When cross-compiling, the Tcl configure script may be unable to determine which serial support method to use. If you want serial support in a cross-compiled tclkit, specify it manually, e.g.: $ ./kitcreator CFLAGS=-DUSE_TERMIOS=1 -host=mipsel-linux-uclibc | | | | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | v. $ export CC CXX AR RANLIB vi. $ ./kitcreator --host=mipsel-linux-uclibc Note: When cross-compiling, the Tcl configure script may be unable to determine which serial support method to use. If you want serial support in a cross-compiled tclkit, specify it manually, e.g.: $ ./kitcreator CFLAGS=-DUSE_TERMIOS=1 -host=mipsel-linux-uclibc 6. Compile a 64-bit Tclkit 8.5.15 using SunStudio 12.1 on Solaris/x86: a. $ CC='/opt/sunstudio12.1/bin/cc -m64' b. $ CXX='/opt/sunstudio12.1/bin/CC -m64' c. $ PATCH='gpatch' c. $ export CC CXX PATCH d. $ ./kitcreator 8.5.15 --enable-64bit 7. To clean up post-build: a. $ ./kitcreator clean 8. Create a Tclkit without Metakit4 support (falls back to Zip for storage): a. KITCREATOR_PKGS='tk itcl' b. export KITCREATOR_PKGS |
︙ | ︙ |
Modified build/test/test from [7efabc4a20] to [b14ccbc368].
1 2 | #! /bin/bash | | | 1 2 3 4 5 6 7 8 9 10 | #! /bin/bash VERSIONS="8.5.15 8.6.1 cvs_HEAD" # Find the base directory for x in 1 2 3 4 __fail__; do if [ "${x}" = "__fail__" ]; then echo 'Unable to find KitCreator, aborting.' >&2 exit 1 |
︙ | ︙ |
Modified kitcreator from [f33d7d8aef] to [e99d7e9821].
1 2 3 4 5 6 7 8 9 10 11 12 | #! /usr/bin/env bash # Determine appropriate mode mode="build" case "$1" in clean|distclean|build|retry) mode="$1" shift ;; esac # Determine which Tcl version to build | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #! /usr/bin/env bash # Determine appropriate mode mode="build" case "$1" in clean|distclean|build|retry) mode="$1" shift ;; esac # Determine which Tcl version to build TCLVERS="8.6.1" if echo "$1" | grep '^[0-9][0-9]*\.' >/dev/null || echo "$1" | egrep '^(cvs|fossil)_' >/dev/null; then TCLVERS="$1" shift fi export TCLVERS |
︙ | ︙ |
Modified kitsh/buildsrc/kitsh-0.0/installvfs.tcl from [b17724e7c3] to [5bb6ad9ccb].
︙ | ︙ | |||
94 95 96 97 98 99 100 | vfs::unmount /kit } "zip" { set kitfd [open $kitfile a+] fconfigure $kitfd -translation binary cd $vfsdir | > > > > > | | 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | vfs::unmount /kit } "zip" { set kitfd [open $kitfile a+] fconfigure $kitfd -translation binary cd $vfsdir if {$tcl_platform(platform) eq "windows"} { set null NUL } else { set null /dev/null } set zipfd [open "|zip -r - [glob *] 2> $null"] fconfigure $zipfd -translation binary fcopy $zipfd $kitfd close $kitfd if {[catch { close $zipfd |
︙ | ︙ |
Added tcl/patches/all/tcl-all-fix-stat64-bug2233954-mingw.diff version [7ba98178f8].
> > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | diff -uNr Tcl_Source_Code-e7b4aca82756056a/generic/tcl.h Tcl_Source_Code-e7b4aca82756056a-bug2233954/generic/tcl.h --- Tcl_Source_Code-e7b4aca82756056a/generic/tcl.h 2012-02-11 07:44:35.000000000 -0800 +++ Tcl_Source_Code-e7b4aca82756056a-bug2233954/generic/tcl.h 2012-02-14 07:29:01.000000000 -0800 @@ -454,6 +454,8 @@ typedef struct __stat64 Tcl_StatBuf; # elif (defined(_MSC_VER) && (_MSC_VER < 1400)) || defined(_USE_32BIT_TIME_T) typedef struct _stati64 Tcl_StatBuf; +# elif defined(__MINGW32_VERSION) + typedef struct _stati64 Tcl_StatBuf; # else typedef struct _stat32i64 Tcl_StatBuf; # endif /* _MSC_VER < 1400 */ |
Modified tcl/patches/all/tcl-all-fix-stat64-bug2233954-newer.diff from [9340be2758] to [1be8821eac].
1 2 3 4 5 6 | diff -uNr tclfossil_trunk.orig//generic/tcl.h tclfossil_trunk-1rsk//generic/tcl.h --- tclfossil_trunk.orig//generic/tcl.h 2012-05-04 16:11:58.000000000 -0500 +++ tclfossil_trunk-1rsk//generic/tcl.h 2012-05-06 17:33:17.487466336 -0500 @@ -475,6 +475,9 @@ /* Here is a 4-byte gap */ } Tcl_StatBuf; | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | diff -uNr tclfossil_trunk.orig//generic/tcl.h tclfossil_trunk-1rsk//generic/tcl.h --- tclfossil_trunk.orig//generic/tcl.h 2012-05-04 16:11:58.000000000 -0500 +++ tclfossil_trunk-1rsk//generic/tcl.h 2012-05-06 17:33:17.487466336 -0500 @@ -475,6 +475,9 @@ /* Here is a 4-byte gap */ } Tcl_StatBuf; #elif defined(HAVE_STRUCT_STAT64) && !defined(__APPLE__) +# ifdef HAVE_SYS_STAT_H +# include <sys/stat.h> +# endif typedef struct stat64 Tcl_StatBuf; #else typedef struct stat Tcl_StatBuf; |