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;
|