Overview
Context
Changes
Modified README
from [b320dd82ca]
to [f55796d36b].
1
2
3
4
5
6
7
8
|
1
2
3
4
5
6
7
8
9
|
-
+
+
|
This will build a Tclkit named "tclkit-<version>".
This will build a Tclkit named "tclkit-<version>" or a KitDLL named
"libtclkit<version>.so".
---------------
Using This Tool
---------------
Usage:
kitcreator [{<version> | cvs_<cvsTag> | clean | distclean}]
[<configure_options...>]
|
︙ | | |
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
+
+
+
-
+
|
a. KITCREATOR_PKGS='tk itcl'
b. export KITCREATOR_PKGS
c. ./kitcreator
9. Create a Tclkit with Metakit4 support, but using Zip for storage:
a. $ ./kitcreator --enable-kit-storage=zip
10. Create a Tclkit with Metakit4 support, but using C-VFS for storage
a. $ ./kitcreator --enable-kit-storage=cvfs
10. Create a KitDLL without Metakit support (will not create a Tclkit
11. Create a KitDLL without Metakit support (will not create a Tclkit
binary, just the library):
a. $ KITCREATOR_PKGS='tk itcl kitdll'
b. $ export KITCREATOR_PKGS
c. $ ./kitcreator
Environment variables:
1. MAKE
|
︙ | | |
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
+
+
+
+
|
ascii.enc cp1252.enc iso8859-1.enc iso8859-15.enc
iso8859-2.enc koi8-r.enc macRoman.enc
9. KITCREATOR_MINBUILD
Set this variable to a non-empty string to exclude unnecessary
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.
|
︙ | | |
Added build/make-kit-linux-amd64 version [f5a7e70fab].
|
1
2
3
4
5
6
7
8
9
10
11
|
+
+
+
+
+
+
+
+
+
+
+
|
#! /bin/sh
PATH="${PATH}:${HOME}/root/cross-compilers/x86_64-unknown-linux-gnu/bin/"
AR=x86_64-unknown-linux-gnu-ar
CC=x86_64-unknown-linux-gnu-gcc
CXX=x86_64-unknown-linux-gnu-g++
RANLIB=x86_64-unknown-linux-gnu-ranlib
STRIP=x86_64-unknown-linux-gnu-strip
export PATH AR CC CXX RANLIB STRIP
./kitcreator "$@" --host=x86_64-unknown-linux-gnu
|
| | | | | | | | | |
Renamed and modified
build/make-kit-arm
[78d28dde77]
to build/make-kit-mipsel
[814a04e3a0].
1
2
3
4
5
6
7
8
9
10
11
|
1
2
3
4
5
6
7
8
9
10
11
|
-
-
-
-
-
-
+
+
+
+
+
+
-
+
|
#! /bin/sh
PATH="${PATH}:/home/rkeene/root/cross-compilers/mipsel-linux-uclibc/usr/mipsel-linux-uclibc/bin"
AR=mipsel-linux-uclibc-ar
CC=mipsel-linux-uclibc-gcc
CXX=false
RANLIB=mipsel-linux-uclibc-ranlib
STRIP=mipsel-linux-uclibc-strip
PATH="${PATH}:/home/rkeene/root/cross-compilers/mipsel-unknown-linux-uclibc/bin"
AR=mipsel-unknown-linux-uclibc-ar
CC=mipsel-unknown-linux-uclibc-gcc
CXX=mipsel-unknown-linux-uclibc-g++
RANLIB=mipsel-unknown-linux-uclibc-ranlib
STRIP=mipsel-unknown-linux-uclibc-strip
export PATH AR CC CXX RANLIB STRIP
./build/make-minkit "$@" --host=mipsel-linux-uclibc
./build/make-minkit "$@" --host=mipsel-unknown-linux-uclibc
|
Modified build/makearch.info
from [cebbe97a7e]
to [2ff27f5bab].
︙ | | |
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
-
+
|
# If set to "auto" it will be maintained in a file called .version
# in the source directory and the revision will be incremented
# each time a "makearch" is done.
#
# If @@SVNLCR@@ is used anywhere in this version number, it will be
# replaced with the highest last-changed-rev from the output of
# svn info -R (or 0)
VERS="0.5.3"
VERS="0.5.4"
# Space sperated list of documents, if they exist, they will be
# prefixed with the contents of the DOC_HDR file and substitution
# will occur:
# @@UTIL@@ becomes the utility name ${UTIL}
# @@VERS@@ becomes the utility version
# @@DATE@@ becomes the current date
|
︙ | | |
Modified build/pre.sh
from [6536148eb0]
to [2ce5e55131].
︙ | | |
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
|
11
12
13
14
15
16
17
18
19
20
21
22
23
|
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
|
rm -rf autom4te.cache
rm -f *~
./configure || exit 1
make boot.tcl.h
make zipvfs.tcl.h
make distclean
) || exit 1
KITDLLROOTDIR="$(ls -1d kitdll/buildsrc/kitdll-*/)"
export KITDLLROOTDIR
(
cd "${KITDLLROOTDIR}" || exit 1
autoconf; autoheader
rm -rf autom4te.cache
rm -f *~
./configure || exit 1
make vfs_kitdll.tcl.h || exit 1
make distclean
) || exit 1
rm -f tcl/patchscripts/dietlibc.sh
find . -name '.*.sw?' -type f | xargs rm -f
|
Modified build/test/do-nightly-tests-and-publish
from [5c58eff196]
to [d2dcdb02e1].
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
|
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
-
+
+
+
-
+
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
-
-
+
+
-
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
-
+
+
+
|
#! /bin/bash
# Update PATH to include path to Tclkit, otherwise cross-compiles will fail
PATH="${PATH}:/home/rkeene/bin:/usr/local/bin"
export PATH
# Define build and web paths
KITCREATORDIR="/home/rkeene/devel/kitcreator"
KITCREATORFOSSIL="/web/customers/kitcreator.rkeene.org/repo/kitcreator.repo"
WEBROOTDIR="/web/rkeene/devel/kitcreator/kitbuild"
MARKERFILE="/web/customers/kitcreator.rkeene.org/repo/__AUTO_TESTS_RUNNING__"
TMPWORKDIR="${TMPDIR:-/var/tmp}/kitcreator-test-$$${RANDOM}${RANDOM}${RANDOM}"
export KITCREATORDIR WEBROOTDIR
export KITCREATORFOSSIL WEBROOTDIR MARKERFILE TMPWORKDIR
cd "${KITCREATORDIR}" || exit 1
FOSSIL_CHANGE="$(fossil timeline -n 1 -t ci | grep '^[0-9:]* \[' | sed 's@^[0-9:]* \[\([0-9a-f]*\)\].*$@\1@')"
# Determine change of fossil revision on trunk
FOSSIL_CHANGE="$(fossil timeline --repository "${KITCREATORFOSSIL}" children trunk -n 1 -t ci | grep '^[0-9:]* \[' | sed 's@^[0-9:]* \[\([0-9a-f]*\)\].*$@\1@')"
TESTNAME="fossil_${FOSSIL_CHANGE}"
export FOSSIL_CHANGE TESTNAME
# Verify sanity
issane=1
if [ -z "${FOSSIL_CHANGE}" ]; then
echo "Unable to determine name of latest revision, likely missing Kitcreator Fossil Repo: ${KITCREATORFOSSIL}" >&2
# On Wednesday, do a distclean to force redownloading everything (mainly
# for CVS Head) and force a rebuild to ensure up-to-date build status
if [ "$(date '+%u')" = "3" ]; then
./kitcreator distclean || exit 1
issane=0
fi
if [ ! -d "${WEBROOTDIR}" ]; then
echo "Missing Web Root Directory: ${WEBROOTDIR}" >&2
issane=0
fi
touch "${KITCREATORDIR}/build/test/force_nightly"
if [ "${issane}" = '0' ]; then
exit 1
fi
# On Wednesday, do a distclean to force redownloading everything (mainly
# for CVS Head) and force a rebuild to ensure up-to-date build status
if [ "$(date '+%u')" != "3" ]; then
if [ -d "${WEBROOTDIR}/${TESTNAME}" ]; then
# Don't re-run the tests if nothing has changed
if [ -d "${WEBROOTDIR}/${TESTNAME}" ]; then
# Don't re-run the tests if nothing has changed
if [ -f "${KITCREATORDIR}/build/test/force_nightly" ]; then
rm -f "${KITCREATORDIR}/build/test/force_nightly"
else
exit 0
fi
fi
# Only run one at a time
if [ -f "${MARKERFILE}" ]; then
cd build/test || exit 1
exit 1
fi
touch "${MARKERFILE}"
# Change to temporary directory to build
mkdir -p "${TMPWORKDIR}"
chmod 700 "${TMPWORKDIR}"
if [ ! -x test -o ! -x publish-tests ]; then
echo 'Missing scripts, aborting.' >&2
cd "${TMPWORKDIR}" || exit 1
# Define clean-up handler
function die () {
echo "$1" >&2
cd /
rm -rf "${TMPWORKDIR}"
exit 1
}
fi
# Download latest tarball
wget -O 'kitcreator-trunk-tip.tar.gz' -o /dev/null "http://kitcreator.rkeene.org/fossil/tarball/kitcreator-trunk-tip.tar.gz?uuid=${FOSSIL_CHANGE}"
tar -xf kitcreator-trunk-tip.tar.gz || die 'Tarball Extraction Failed'
# Only run one at a time
if [ -f '__AUTO_TESTS_RUNNING__' ]; then
exit 1
cd kitcreator-trunk-tip || die 'Tarball Sanity Failed'
# Prepare source
./build/pre.sh >/dev/null 2>/dev/null
# Start the tests
cd build/test || die 'Missing test suite'
if [ ! -x test -o ! -x publish-tests ]; then
die 'Missing scripts, aborting.'
fi
touch '__AUTO_TESTS_RUNNING__'
# Clean builds
rm -rf kits
# Run tests
nice -n 20 ./test >/dev/null 2>/dev/null
# Clean old auto-generated published results
rm -rf "${WEBROOTDIR}"/svn_r*/ "${WEBROOTDIR}"/fossil_*/
# Publish New Results
./publish-tests "${TESTNAME}"
# Create nightly symlink
rm -f "${WEBROOTDIR}/nightly"
ln -s "${TESTNAME}" "${WEBROOTDIR}/nightly"
# Clean
rm -f '__AUTO_TESTS_RUNNING__'
rm -f "${MARKERFILE}"
cd /
rm -rf "${TMPWORKDIR}"
exit 0
|
Modified build/test/index.ttml
from [32e3b3a01b]
to [6b17de7829].
1
2
3
4
5
6
7
8
9
10
11
12
13
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
-
+
|
<html>
<head>
<title>KitCreator Build and Test Status</title>
</head>
<body>
<h1>KitCreator Build and Test Status</h1>
<h1><a href="http://kitcreator.rkeene.org/">KitCreator</a> Build and Test Status</h1>
<p>The follow versions of KitCreator have test suite results:</p>
<ul>
<?
set haveTests 0
foreach subdir [lsort -dictionary [glob -type d *]] {
file lstat $subdir subdirinfo
if {$subdirinfo(type) == "link"} {
|
︙ | | |
23
24
25
26
27
28
29
30
31
32
33
34
35
|
23
24
25
26
27
28
29
30
31
32
33
34
35
|
-
+
|
puts " <li><a href=\"${subdir}/\">$subdir</a></li>"
}
?>
</ul>
<?
if {$haveTests} {
?>
<p>The actual tests can be found in <a href="tests/?listing=long">the "tests" directory</a></p>
<p>The actual tests can be found in <a href="http://kitcreator.rkeene.org/fossil/dir?name=build/test/tests&ci=trunk">the "tests" directory</a></p>
<?
}
?>
</body>
</html>
|
Modified build/test/publish-tests
from [703dc23136]
to [8f47d1a196].
︙ | | |
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
|
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
|
set kitinfo(cpu) $kitcpu
set kitinfo(built) $kitbuilt
# Store kit information with all kits
set key [list $tclversion $kitos $kitcpu]
lappend allkitinfo($key) [array get kitinfo]
}
# Determine human readable name, and URL
if {[string match "fossil_*" $kitcreator_vers]} {
set work [split $kitcreator_vers _]
set kitcreator_fossil_vers [lindex $work 1]
set kitcreator_readable_vers "Fossil trunk check-in ${kitcreator_fossil_vers}"
set url "http://kitcreator.rkeene.org/fossil/tarball/kitcreator-${kitcreator_vers}.tar.gz?uuid=${kitcreator_fossil_vers}"
} else {
set kitcreator_readable_vers $kitcreator_vers
set url "http://www.rkeene.org/devel/kitcreator-${kitcreator_vers}.tar.gz"
}
puts $fd "<html>"
puts $fd " <head>"
puts $fd " <title>KitCreator Build and Test Status</title>"
puts $fd " </head>"
puts $fd " <body>"
puts $fd " <h1><a href=\"http://kitcreator.rkeene.org/\">KitCreator</a> Build and Test Status</h1>"
puts $fd " <p>The following table represents the status of the test results from the KitCreator test suite.</p>"
puts $fd " <h1><a href=\"http://kitcreator.rkeene.org/\">KitCreator</a> <a href=\"../\">Build and Test Status</a></h1>"
puts $fd " <p>The following table represents the status of the test results from the KitCreator test suite for <a href=\"${url}\">KitCreator ${kitcreator_readable_vers}</a>.</p>"
puts $fd " <table cellpadding=\"2\" border=\"1\">"
foreach key [lsort -dictionary [array names allkitinfo]] {
puts $fd " <tr>"
puts $fd " <th colspan=\"5\"><u>Tclkit for [pretty_print_key $key]</u></th>"
puts $fd " </tr>"
puts $fd " <tr>"
puts $fd " <th>Kit Features</th>"
|
︙ | | |
Modified build/test/test
from [58637ff4f9]
to [38851b5a2a].
︙ | | |
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
-
+
|
Xvfb :31 -screen 0 800x600x24 -nolisten tcp >/dev/null 2>/dev/null &
echo "$!"
)"
DISPLAY=:31
export DISPLAY
failed=""
for kit in normal normal-zip normal-threaded normal-threaded-zip normal-statictk normal-notk normal-threaded-notk normal-threaded-zip-notk normal-nomk4 min min-static normal-kitdll normal-threaded-kitdll normal-notk-kitdll normal-nomk4-kitdll normal-nomk4-notk-kitdll normal-threaded-nomk4-kitdll normal-threaded-notk-nomk4-kitdll min-kitdll win32-i586 win32-i586-zip win32-i586-threaded win32-i586-threaded-zip win32-i586-notk win32-i586-threaded-notk win32-i586-nomk4 win32-i586-kitdll win32-i586-threaded-kitdll win32-i586-notk-kitdll win32-i586-nomk4-kitdll win32-i586-nomk4-notk-kitdll win32-i586-threaded-nomk4-kitdll win32-i586-threaded-notk-nomk4-kitdll linux-arm-min linux-arm-min-kitdll; do
for kit in normal normal-zip normal-threaded normal-threaded-zip normal-statictk normal-notk normal-threaded-notk normal-threaded-zip-notk normal-nomk4 min min-static normal-kitdll normal-threaded-kitdll normal-notk-kitdll normal-nomk4-kitdll normal-nomk4-notk-kitdll normal-threaded-nomk4-kitdll normal-threaded-notk-nomk4-kitdll min-kitdll win32-i586 win32-i586-zip win32-i586-threaded win32-i586-threaded-zip win32-i586-notk win32-i586-threaded-notk win32-i586-nomk4 win32-i586-kitdll win32-i586-threaded-kitdll win32-i586-notk-kitdll win32-i586-nomk4-kitdll win32-i586-nomk4-notk-kitdll win32-i586-threaded-nomk4-kitdll win32-i586-threaded-notk-nomk4-kitdll linux-mipsel-min linux-mipsel-min-kitdll linux-amd64-notk linux-amd64-notk-kitdll; do
kitcreator="./kitcreator"
args=""
runnable="1"
iszip="0"
statictk="0"
notk="0"
nomk4="0"
|
︙ | | |
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
-
-
+
+
+
+
+
+
+
+
|
kit="${os}-${cpu}-min-static"
;;
win32|win32-*)
kitcreator="./build/make-kit-win32"
xcompile="1"
kitruncmd="wine"
;;
linux-arm-min|linux-arm-min-kitdll)
kitcreator="./build/make-kit-arm"
linux-mipsel-min|linux-mipsel-min-kitdll)
kitcreator="./build/make-kit-mipsel"
runnable="0"
xcompile="1"
notk="1"
iszip="1"
;;
linux-amd64|linux-amd64-*)
kitcreator="./build/make-kit-linux-amd64"
runnable="0"
xcompile="1"
iszip="0"
;;
esac
if [ "${xcompile}" != "0" ]; then
kit="${kit}-xcompile"
fi
|
︙ | | |
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
|
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
|
-
+
|
(
echo ""
echo ""
echo ""
echo " *** Building KitDLL test driver (tclsh)"
echo ""
cd kitdll/build/kitdll-*/ || exit 1
cd kitsh/build/kitsh-*/ || exit 1
make tclsh
cp tclsh ../../../
) >> "${buildlog}" 2>&1
fi
# Perform wildcard expansion
createdkit="$(ls -f1 ${createdkit} 2>/dev/null | head -n 1)"
|
︙ | | |
Modified build/test/tests/12-threads.tcl
from [df3ccdde39]
to [7bfac57b1d].
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
|
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
|
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
+
-
+
+
+
+
+
|
#! /usr/bin/env tclsh
if {[catch {
set buildflags [split [lindex $argv 1] -]
set buildflags [split [lindex $argv 1] -]
# Determine if Threads was requested (or in 8.6+, unrequested)
if {$tcl_version == "8.6"} {
if {[lsearch -exact $buildflags "unthreaded"] == -1} {
set isthreaded 1
} else {
set isthreaded 0
}
} else {
if {[lsearch -exact $buildflags "threaded"] == -1} {
set isthreaded 0
} else {
set isthreaded 1
}
}
# Determine if Threads was requested (or in 8.6+, unrequested)
if {$tcl_version == "8.6"} {
if {[lsearch -exact $buildflags "unthreaded"] == -1} {
set isthreaded 1
} else {
set isthreaded 0
}
} else {
if {[lsearch -exact $buildflags "threaded"] == -1} {
set isthreaded 0
} else {
set isthreaded 1
}
}
# Static builds don't come with threads.
if {[lsearch -exact $buildflags "static"] != -1} {
set isthreaded 0
}
# Minimal builds don't come with threads.
if {[lsearch -exact $buildflags "min"] != -1} {
set isthreaded 0
}
if {!$isthreaded} {
exit 0
}
if {!$isthreaded} {
exit 0
}
package require Thread
package require Thread
exit 0
exit 0
}]} {
puts "Error in Thread Test: $errorInfo"
exit 1
}
|
Added build/test/tests/16-itcl.tcl version [91f3c57960].
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
#! /usr/bin/env tclsh
if {[catch {
set buildflags [split [lindex $argv 1] -]
# Determine if Itcl was was requested
## Minimal builds don't come with Itcl
set hasitcl 1
if {[lsearch -exact $buildflags "min"] != -1} {
set hasitcl 0
}
if {!$hasitcl} {
exit 0
}
package require Itcl
exit 0
}]} {
puts "Error in Itcl Test: $errorInfo"
exit 1
}
|
| | | | | | | | | | | | | | | | | | | | | |
Added build/web/Makefile version [a7224e283a].
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
STARKIT2EXE = ../../../starkit2exe/starkit2exe
RIVET2STARKIT = ../../../rivet/bin/rivet2starkit
kitcreator.cgi: kitcreator.kit
$(STARKIT2EXE) kitcreator.kit kitcreator.cgi
kitcreator.kit: kitcreator.vfs kitcreator.vfs/index.rvt
$(RIVET2STARKIT) tclkit kitcreator.kit kitcreator.vfs
clean:
rm -f kitcreator.kit kitcreator.cgi
distclean: clean
.PHONY: clean distclean
|
| | | | | | | | | | | | | |
Added build/web/kitcreator.vfs/index.rvt version [aaeb907791].