Check-in [37850a79ad]
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    137   		packages from Tcl build.  This excludes the following packages:
   138    138   			tcltest
   139    139   
   140    140   		Additionally, any bundled packages (in the "pkgs" directory)
   141    141   		are excluded.  This typically includes (as of Tcl 8.6):
   142    142   			itcl thread
   143    143   
   144         -		Also, TclOO is removed from Tcl 8.6 forcefully.
   145         -
   146    144   Kitsh Configure Options:
   147    145   	1. --enable-kit-storage={zip|mk4|auto}
   148    146   		Specify which type of storage to use with the Tclkit.  The
   149    147   		default is to auto-detect.  Auto-detection uses Mk4 if
   150    148   		available and built statically, otherwise it falls back to Zip.
   151    149   
   152    150   --------------------

Modified kitcreator from [b1de5629ac] to [87e5c86889].

    13     13   TCLVERS="8.6.1"
    14     14   if echo "$1" | grep '^[0-9][0-9]*\.' >/dev/null || echo "$1" | egrep '^(cvs|fossil)_' >/dev/null; then
    15     15   	TCLVERS="$1"
    16     16   
    17     17   	shift
    18     18   fi
    19     19   export TCLVERS
           20  +
           21  +# Determine the two part Tcl version
           22  +TCLVERS2=$(echo ${TCLVERS} | cut -d. -f1,2)
           23  +export TCLVERS2
    20     24   
    21     25   # Verify that "pre.sh" has been run if this is a development snapshot of
    22     26   # KitCreator
    23     27   if [ -f 'build/pre.sh' ]; then
    24     28   	if ! find 'kitsh/buildsrc/' -name configure -type f 2>/dev/null | grep configure >/dev/null; then
    25     29   		echo "Please remember to run 'build/pre.sh' if you expect this build to work." >&2
    26     30   	fi

Modified kitsh/build.sh from [d39ebd9770] to [644f3a91bd].

     6      6   	exit 1
     7      7   fi
     8      8   if [ -z "${TCLVERS}" ]; then
     9      9   	echo 'ERROR: The TCLVERS environment variable is not set' >&2
    10     10   
    11     11   	exit 1
    12     12   fi
           13  +if [ -z "${TCLVERS2}" ]; then
           14  +	echo 'ERROR: The TCLVERS2 environment variable is not set' >&2
           15  +
           16  +	exit 1
           17  +fi
    13     18   
    14     19   KITSHVERS="0.0"
    15     20   BUILDDIR="$(pwd)/build/kitsh-${KITSHVERS}"
    16     21   OUTDIR="$(pwd)/out"
    17     22   INSTDIR="$(pwd)/inst"
    18     23   OTHERPKGSDIR="$(pwd)/../"
    19     24   export KITSHVERS BUILDDIR OUTDIR INSTDIR OTHERPKGSDIR
................................................................................
   201    206   		## Bootstrap (cannot cross-compile)
   202    207   		### Call installer
   203    208   		cp kit runkit
   204    209   		echo "set argv [list {${KITTARGET_NAME}} starpack.vfs {${ENABLECOMPRESSION}}]" > setup.tcl
   205    210   		echo 'if {[catch { clock seconds }]} { proc clock args { return 0 } }' >> setup.tcl
   206    211   		echo 'source installvfs.tcl' >> setup.tcl
   207    212   
   208         -		echo 'Running: echo | ./runkit'
          213  +		TCL_LIBRARY="$(pwd)/starpack.vfs/lib/tcl${TCLVERS2}"
          214  +		export TCL_LIBRARY
          215  +
          216  +		echo 'Running: echo | ./runkit setup.tcl'
   209    217   		echo | ./runkit setup.tcl || exit 1
   210    218   	fi
   211    219   
   212    220   	# Cleanup
   213    221   	if [ "${KITTARGET}" = "kitdll" ]; then
   214    222   		## Remove built interpreters if we are building KitDLL --
   215    223   		## they're just tiny stubs anyway

Modified kitsh/buildsrc/kitsh-0.0/installvfs.tcl from [5bb6ad9ccb] to [ea792ed6a5].

     9      9   }
    10     10   
    11     11   set kitfile [lindex $argv 0]
    12     12   set vfsdir [lindex $argv 1]
    13     13   if {[lindex $argv 2] != ""} {
    14     14   	set opt_compression [lindex $argv 2]
    15     15   }
           16  +
           17  +# On Windows, use the ".exe" file extension
           18  +if {$tcl_platform(platform) eq "windows"} {
           19  +  set kitfile [file rootname $kitfile].exe
           20  +}
    16     21   
    17     22   # Determine what storage mechanism is being used
    18     23   set fd [open Makefile.common r]
    19     24   set data [read $fd]
    20     25   close $fd
    21     26   
    22     27   if {[string match "*KIT_STORAGE_ZIP*" $data]} {

Deleted tcl/patchscripts/minbuild-nooo.sh version [5b6fd738e8].

     1         -#! /usr/bin/env bash
     2         -
     3         -# Only apply to minimal builds
     4         -if [ -z "${KITCREATOR_MINBUILD}" ]; then
     5         -	exit 0
     6         -fi
     7         -
     8         -# Only apply if the Tcl being built actually includes OO as part of Tcl
     9         -if [ ! -f 'generic/tclOO.c' ]; then
    10         -	exit 0
    11         -fi
    12         -
    13         -# Apply OO-removing patch
    14         -patch -p1 << _EOF_
    15         ---- tclcvs_HEAD/generic/tclBasic.c	2012-09-07 16:01:14.000000000 -0500
    16         -+++ tclcvs_HEAD-OOremoved/generic/tclBasic.c	2012-09-09 13:44:06.618912251 -0500
    17         -@@ -820,8 +820,6 @@
    18         -      * Create unsupported commands for debugging bytecode and objects.
    19         -      */
    20         - 
    21         --    Tcl_CreateObjCommand(interp, "::tcl::unsupported::disassemble",
    22         --	    Tcl_DisassembleObjCmd, NULL, NULL);
    23         -     Tcl_CreateObjCommand(interp, "::tcl::unsupported::representation",
    24         - 	    Tcl_RepresentationCmd, NULL, NULL);
    25         - 
    26         ---- tclcvs_HEAD/generic/tclProc.c	2012-09-07 16:01:14.000000000 -0500
    27         -+++ tclcvs_HEAD-OOremoved/generic/tclProc.c	2012-09-09 13:45:16.634913713 -0500
    28         -@@ -2857,6 +2857,7 @@
    29         -  *----------------------------------------------------------------------
    30         -  */
    31         - 
    32         -+#if 0
    33         - int
    34         - Tcl_DisassembleObjCmd(
    35         -     ClientData dummy,		/* Not used. */
    36         -@@ -3072,6 +3073,7 @@
    37         -     Tcl_SetObjResult(interp, TclDisassembleByteCodeObj(codeObjPtr));
    38         -     return TCL_OK;
    39         - }
    40         -+#endif
    41         - 
    42         - /*
    43         -  * Local Variables:
    44         ---- tclcvs_HEAD/generic/tclVar.c	2012-09-07 16:01:14.000000000 -0500
    45         -+++ tclcvs_HEAD-OOremoved/generic/tclVar.c	2012-09-09 13:34:22.138912414 -0500
    46         -@@ -6360,6 +6360,7 @@
    47         - 	return;
    48         -     }
    49         - 
    50         -+#if 0
    51         -     if (iPtr->varFramePtr->isProcCallFrame & FRAME_IS_METHOD) {
    52         - 	CallContext *contextPtr = iPtr->varFramePtr->clientData;
    53         - 	Method *mPtr = contextPtr->callPtr->chain[contextPtr->index].mPtr;
    54         -@@ -6382,6 +6383,7 @@
    55         - 	    }
    56         - 	}
    57         -     }
    58         -+#endif
    59         -     Tcl_DeleteHashTable(&addedTable);
    60         - }
    61         - 
    62         -_EOF_
    63         -
    64         -# Further remove OO
    65         -cd generic
    66         -
    67         -# Remove calls to TclOOInit()
    68         -sed 's@TclOOInit(interp)@TCL_OK@' tclBasic.c > tclBasic.c.new
    69         -cat tclBasic.c.new > tclBasic.c
    70         -rm -f tclBasic.c.new
    71         -
    72         -# Rmove all TclOO* related compilation units, to be sure to catch all removals
    73         -for file in tclOO*.[ch]; do
    74         -	> "${file}"
    75         -done