Overview
Comment: | More fixes to make native Windows builds work. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | winFixes |
Files: | files | file ages | folders |
SHA1: | 37850a79ad789b0d6266d04d85c9d1f1d44b5d17 |
User & Date: | mistachkin on 2013-10-31 02:43:32 |
Other Links: | manifest | tags |
Context
2013-11-05
| ||
08:09 | Update versions of the thread and zlib packages. check-in: 0f67789517 user: mistachkin tags: winFixes | |
2013-10-31
| ||
02:43 | More fixes to make native Windows builds work. check-in: 37850a79ad user: mistachkin tags: winFixes | |
2013-10-20
| ||
03:11 | Updated icon (courtesy of C. Shults) check-in: ef6ac5d932 user: rkeene tags: trunk | |
Changes
Modified README from [2bc0f41d6f] to [4484aed13d].
137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
packages from Tcl build. This excludes the following packages:
tcltest
Additionally, any bundled packages (in the "pkgs" directory)
are excluded. This typically includes (as of Tcl 8.6):
itcl thread
Also, TclOO is removed from Tcl 8.6 forcefully.
Kitsh Configure Options:
1. --enable-kit-storage={zip|mk4|auto}
Specify which type of storage to use with the Tclkit. The
default is to auto-detect. Auto-detection uses Mk4 if
available and built statically, otherwise it falls back to Zip.
--------------------
|
< < |
137 138 139 140 141 142 143 144 145 146 147 148 149 150 |
packages from Tcl build. This excludes the following packages: tcltest Additionally, any bundled packages (in the "pkgs" directory) are excluded. This typically includes (as of Tcl 8.6): itcl thread Kitsh Configure Options: 1. --enable-kit-storage={zip|mk4|auto} Specify which type of storage to use with the Tclkit. The default is to auto-detect. Auto-detection uses Mk4 if available and built statically, otherwise it falls back to Zip. -------------------- |
Modified kitcreator from [b1de5629ac] to [87e5c86889].
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
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 # Verify that "pre.sh" has been run if this is a development snapshot of # KitCreator if [ -f 'build/pre.sh' ]; then if ! find 'kitsh/buildsrc/' -name configure -type f 2>/dev/null | grep configure >/dev/null; then echo "Please remember to run 'build/pre.sh' if you expect this build to work." >&2 fi |
> > > > |
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
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 # Determine the two part Tcl version TCLVERS2=$(echo ${TCLVERS} | cut -d. -f1,2) export TCLVERS2 # Verify that "pre.sh" has been run if this is a development snapshot of # KitCreator if [ -f 'build/pre.sh' ]; then if ! find 'kitsh/buildsrc/' -name configure -type f 2>/dev/null | grep configure >/dev/null; then echo "Please remember to run 'build/pre.sh' if you expect this build to work." >&2 fi |
Modified kitsh/build.sh from [d39ebd9770] to [644f3a91bd].
6
7
8
9
10
11
12
13
14
15
16
17
18
19
...
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
|
exit 1
fi
if [ -z "${TCLVERS}" ]; then
echo 'ERROR: The TCLVERS environment variable is not set' >&2
exit 1
fi
KITSHVERS="0.0"
BUILDDIR="$(pwd)/build/kitsh-${KITSHVERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
OTHERPKGSDIR="$(pwd)/../"
export KITSHVERS BUILDDIR OUTDIR INSTDIR OTHERPKGSDIR
................................................................................
## Bootstrap (cannot cross-compile)
### Call installer
cp kit runkit
echo "set argv [list {${KITTARGET_NAME}} starpack.vfs {${ENABLECOMPRESSION}}]" > setup.tcl
echo 'if {[catch { clock seconds }]} { proc clock args { return 0 } }' >> setup.tcl
echo 'source installvfs.tcl' >> setup.tcl
echo 'Running: echo | ./runkit'
echo | ./runkit setup.tcl || exit 1
fi
# Cleanup
if [ "${KITTARGET}" = "kitdll" ]; then
## Remove built interpreters if we are building KitDLL --
## they're just tiny stubs anyway
|
>
>
>
>
>
>
>
>
|
|
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
...
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
|
exit 1 fi if [ -z "${TCLVERS}" ]; then echo 'ERROR: The TCLVERS environment variable is not set' >&2 exit 1 fi if [ -z "${TCLVERS2}" ]; then echo 'ERROR: The TCLVERS2 environment variable is not set' >&2 exit 1 fi KITSHVERS="0.0" BUILDDIR="$(pwd)/build/kitsh-${KITSHVERS}" OUTDIR="$(pwd)/out" INSTDIR="$(pwd)/inst" OTHERPKGSDIR="$(pwd)/../" export KITSHVERS BUILDDIR OUTDIR INSTDIR OTHERPKGSDIR ................................................................................ ## Bootstrap (cannot cross-compile) ### Call installer cp kit runkit echo "set argv [list {${KITTARGET_NAME}} starpack.vfs {${ENABLECOMPRESSION}}]" > setup.tcl echo 'if {[catch { clock seconds }]} { proc clock args { return 0 } }' >> setup.tcl echo 'source installvfs.tcl' >> setup.tcl TCL_LIBRARY="$(pwd)/starpack.vfs/lib/tcl${TCLVERS2}" export TCL_LIBRARY echo 'Running: echo | ./runkit setup.tcl' echo | ./runkit setup.tcl || exit 1 fi # Cleanup if [ "${KITTARGET}" = "kitdll" ]; then ## Remove built interpreters if we are building KitDLL -- ## they're just tiny stubs anyway |
Modified kitsh/buildsrc/kitsh-0.0/installvfs.tcl from [5bb6ad9ccb] to [ea792ed6a5].
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
} set kitfile [lindex $argv 0] set vfsdir [lindex $argv 1] if {[lindex $argv 2] != ""} { set opt_compression [lindex $argv 2] } # Determine what storage mechanism is being used set fd [open Makefile.common r] set data [read $fd] close $fd if {[string match "*KIT_STORAGE_ZIP*" $data]} { |
> > > > > |
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
} set kitfile [lindex $argv 0] set vfsdir [lindex $argv 1] if {[lindex $argv 2] != ""} { set opt_compression [lindex $argv 2] } # On Windows, use the ".exe" file extension if {$tcl_platform(platform) eq "windows"} { set kitfile [file rootname $kitfile].exe } # Determine what storage mechanism is being used set fd [open Makefile.common r] set data [read $fd] close $fd if {[string match "*KIT_STORAGE_ZIP*" $data]} { |
Deleted tcl/patchscripts/minbuild-nooo.sh version [5b6fd738e8].
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
#! /usr/bin/env bash # Only apply to minimal builds if [ -z "${KITCREATOR_MINBUILD}" ]; then exit 0 fi # Only apply if the Tcl being built actually includes OO as part of Tcl if [ ! -f 'generic/tclOO.c' ]; then exit 0 fi # Apply OO-removing patch patch -p1 << _EOF_ --- tclcvs_HEAD/generic/tclBasic.c 2012-09-07 16:01:14.000000000 -0500 +++ tclcvs_HEAD-OOremoved/generic/tclBasic.c 2012-09-09 13:44:06.618912251 -0500 @@ -820,8 +820,6 @@ * Create unsupported commands for debugging bytecode and objects. */ - Tcl_CreateObjCommand(interp, "::tcl::unsupported::disassemble", - Tcl_DisassembleObjCmd, NULL, NULL); Tcl_CreateObjCommand(interp, "::tcl::unsupported::representation", Tcl_RepresentationCmd, NULL, NULL); --- tclcvs_HEAD/generic/tclProc.c 2012-09-07 16:01:14.000000000 -0500 +++ tclcvs_HEAD-OOremoved/generic/tclProc.c 2012-09-09 13:45:16.634913713 -0500 @@ -2857,6 +2857,7 @@ *---------------------------------------------------------------------- */ +#if 0 int Tcl_DisassembleObjCmd( ClientData dummy, /* Not used. */ @@ -3072,6 +3073,7 @@ Tcl_SetObjResult(interp, TclDisassembleByteCodeObj(codeObjPtr)); return TCL_OK; } +#endif /* * Local Variables: --- tclcvs_HEAD/generic/tclVar.c 2012-09-07 16:01:14.000000000 -0500 +++ tclcvs_HEAD-OOremoved/generic/tclVar.c 2012-09-09 13:34:22.138912414 -0500 @@ -6360,6 +6360,7 @@ return; } +#if 0 if (iPtr->varFramePtr->isProcCallFrame & FRAME_IS_METHOD) { CallContext *contextPtr = iPtr->varFramePtr->clientData; Method *mPtr = contextPtr->callPtr->chain[contextPtr->index].mPtr; @@ -6382,6 +6383,7 @@ } } } +#endif Tcl_DeleteHashTable(&addedTable); } _EOF_ # Further remove OO cd generic # Remove calls to TclOOInit() sed 's@TclOOInit(interp)@TCL_OK@' tclBasic.c > tclBasic.c.new cat tclBasic.c.new > tclBasic.c rm -f tclBasic.c.new # Rmove all TclOO* related compilation units, to be sure to catch all removals for file in tclOO*.[ch]; do > "${file}" done |
< < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |