Check-in [0616230931]
Overview
Comment:Updated to support supplying a TCLKIT environment variable

Updated documentation with more examples and expanded synopsis

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:0616230931430cf1384e8be533cb647d330e0480
User & Date: rkeene on 2010-09-26 04:39:27
Other Links: manifest | tags
Context
2010-09-26
04:39
Updated documentation check-in: 1eb97d8535 user: rkeene tags: trunk
04:39
Updated to support supplying a TCLKIT environment variable

Updated documentation with more examples and expanded synopsis check-in: 0616230931 user: rkeene tags: trunk

04:39
KitCreator 0.0.6.x

Updated pre-release build script to error out if configure fails. check-in: 65a6c41656 user: rkeene tags: trunk, 0.0.6

Changes

Modified README from [87fce2e9a0] to [ed4af58f56].

     1      1   This will build a Tclkit named "tclkit-<version>".
     2      2   
     3      3   Usage:
     4         -	kitcreator {<version> | cvs_<cvsTag> | clean | distclean}
            4  +	kitcreator [{<version> | cvs_<cvsTag> | clean | distclean}]
            5  +	           [<configure_options...>]
            6  +
            7  +	Where:
            8  +		version            is a Tcl version number (e.g., 8.4.19)
            9  +		cvsTag             is a CVS release tag (e.g., HEAD)
           10  +		configure_options  are options to pass to subordinate configure
           11  +		                   scripts (e.g., --enable-64bit)
     5     12   
     6     13   	Default is to create a Tclkit from Tcl version 8.4.19
     7     14   
     8     15   Examples:
     9     16   	1. Create a Tclkit for Tcl 8.5.8:
    10         -		$ ./kitcreator 8.5.8
           17  +		a. $ ./kitcreator 8.5.8
    11     18   
    12     19   	2. Create a Tclkit for Tcl from CVS HEAD:
    13         -		$ ./kitcreator cvs_HEAD
           20  +		a. $ ./kitcreator cvs_HEAD
           21  +
           22  +	3. Compile a 64-bit Tclkit:
           23  +		a. $ ./kitcreator --enable-64bit
           24  +
           25  +	4. Cross-compile a Tclkit:
           26  +		a. Bootstrap (optional, you can use an existing Tclkit):
           27  +			i.   $ ./kitcreator
           28  +			ii.  $ mv tclkit-8.4.19 tclkit-local
           29  +			iii. $ TCLKIT="`pwd`/tclkit-local"
           30  +			iv.  $ export TCLKIT
           31  +		b. Cross-compile:
           32  +			i.   $ CC=mipsel-linux-uclibc-gcc
           33  +			ii.  $ AR=mipsel-linux-uclibc-ar
           34  +			iii. $ RANLIB=mipsel-linux-uclibc-ranlib
           35  +			iv.  $ export CC AR RANLIB
           36  +		v.   $ ./kitcreator --host=mipsel-linux-uclibc
           37  +
           38  +	5. Compile a 64-bit Tclkit 8.5.8 using SunStudio 12.1 on Solaris/x86:
           39  +		a. $ CC='/opt/sunstudio12.1/bin/cc -m64'
           40  +		b. $ CXX='/opt/sunstudio12.1/bin/CC -m64'
           41  +		c. $ export CC CXX
           42  +		d. $ ./kitcreator 8.5.8 --enable-64bit
    14     43   
    15         -	3. To clean up post-build:
    16         -		$ ./kitcreator clean
           44  +	6. To clean up post-build:
           45  +		a. $ ./kitcreator clean
    17     46   
    18     47   Environment variables:
    19     48   	1. MAKE
    20     49   		Specifies the tool you wish to be called to build targets
    21     50   		from a Makefile.  This script is generally more well tested
    22     51   		with GNU Make.
    23     52   
    24     53   	2. PATCH
    25     54   		Specifies the tool you wish to be called to apply unified
    26     55   		diff patches.  This script is generally more well tested with
    27     56   		GNU Patch. 
           57  +
           58  +	3. TCLKIT
           59  +		Specify the path to a Tclkit that is runnable on the current
           60  +		system.  The default is "tclkit".  A working tclkit is required
           61  +		for cross-compiling Tclkits.

Modified kitsh/build.sh from [6cd5958958] to [75bca485ac].

    46     46   	## Rename the "vfs" package directory to what "boot.tcl" expects
    47     47   	mv 'starpack.vfs/lib'/vfs* 'starpack.vfs/lib/vfs'
    48     48   
    49     49   	## Install "boot.tcl"
    50     50   	cp 'boot.tcl' 'starpack.vfs/'
    51     51   
    52     52   	# Intall VFS onto kit
    53         -	if echo 'exit 0' | tclkit >/dev/null 2>/dev/null; then
           53  +	## Determine if we have a Tclkit to do this work
           54  +	TCLKIT="${TCLKIT:-tclkit}"
           55  +	if echo 'exit 0' | "${TCLKIT}" >/dev/null 2>/dev/null; then
    54     56   		## Install using existing Tclkit
    55     57   		### Call installer
    56         -		tclkit installvfs.tcl kit starpack.vfs
           58  +		"${TCLKIT}" installvfs.tcl kit starpack.vfs
    57     59   	else
    58     60   		## Bootstrap (cannot cross-compile)
    59     61   		### Call installer
    60     62   		cp kit runkit
    61     63   		echo 'set argv [list kit starpack.vfs]' > setup.tcl
    62     64   		echo 'source installvfs.tcl' >> setup.tcl
    63     65   		echo | ./runkit
    64     66   	fi
    65     67   
    66     68   	exit 0
    67     69   ) || exit 1
    68     70   
    69     71   exit 0