Check-in [b7c6c8232c]
Overview
SHA1:b7c6c8232c1ff3ab6c4ea5727a042c52d9635c75
Date: 2011-05-19 18:04:15
User: rkeene
Comment:Merged trunk
Timelines: family | ancestors | descendants | both | merge-kitdll-kitsh-common
Downloads: Tarball | ZIP archive
Other Links: files | file ages | folders | manifest
Tags And Properties
Context
2011-05-20
05:50
[55cb9f600a] First set of merges from KitDLL to KitSH (user: rkeene, tags: merge-kitdll-kitsh-common)
2011-05-19
18:04
[b7c6c8232c] Merged trunk (user: rkeene, tags: merge-kitdll-kitsh-common)
2011-05-17
01:33
[4fa3b7d3ea] Updated to pull user-specified (or default) kit.ico and kit.rc into Tk, if built and not include KitSH's own resource file when including Tk's since they conflict (user: rkeene, tags: trunk)
2011-02-08
06:57
[705256170a] Create new branch named "merge-kitdll-kitsh-common" (user: rkeene, tags: merge-kitdll-kitsh-common)
Changes

Modified README from [b320dd82ca] to [6e46265709].

1

2
3
4
5
6
7
8
...
123
124
125
126
127
128
129




130
131
132
133
134
135
136
This will build a Tclkit named "tclkit-<version>".


---------------
Using This Tool
---------------
Usage:
	kitcreator [{<version> | cvs_<cvsTag> | clean | distclean}]
	           [<configure_options...>]
................................................................................
			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





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.

|
>







 







>
>
>
>







1
2
3
4
5
6
7
8
9
...
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
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...>]
................................................................................
			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

Modified build/make-kit-mipsel from [78d28dde77] to [814a04e3a0].

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
export PATH AR CC CXX RANLIB STRIP

./build/make-minkit "$@" --host=mipsel-linux-uclibc


|
|
|
|
|
|


|
1
2
3
4
5
6
7
8
9
10
11
#! /bin/sh

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-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
# 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"

# 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







|







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.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/test/do-nightly-tests-and-publish from [5c58eff196] to [75aae2a48d].

15
16
17
18
19
20
21
22
23
24
25

26
27
28
29
30
31
32
33
34
35
36
37
..
54
55
56
57
58
59
60




61
62
63
64
TESTNAME="fossil_${FOSSIL_CHANGE}"
export FOSSIL_CHANGE TESTNAME

# 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

	touch "${KITCREATORDIR}/build/test/force_nightly"
fi


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

cd build/test || exit 1

if [ ! -x test -o ! -x publish-tests ]; then
................................................................................

# Clean old auto-generated published results
rm -rf "${WEBROOTDIR}"/svn_r*/ "${WEBROOTDIR}"/fossil_*/

# Publish New Results
./publish-tests "${TESTNAME}"





# Clean
rm -f '__AUTO_TESTS_RUNNING__'

exit 0







<
<
<
<
>
|
|
<
<
<







 







>
>
>
>




15
16
17
18
19
20
21




22
23
24



25
26
27
28
29
30
31
..
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
TESTNAME="fossil_${FOSSIL_CHANGE}"
export FOSSIL_CHANGE TESTNAME

# 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




else
	if [ -d "${WEBROOTDIR}/${TESTNAME}" ]; then
		# Don't re-run the tests if nothing has changed



		exit 0
	fi
fi

cd build/test || exit 1

if [ ! -x test -o ! -x publish-tests ]; then
................................................................................

# 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__'

exit 0

Modified build/test/index.ttml from [32e3b3a01b] to [6b17de7829].

1
2
3
4
5
6
7
8
9
10
11
12
13
..
23
24
25
26
27
28
29
30
31
32
33
34
35
<html>
  <head>
    <title>KitCreator Build and Test Status</title>
  </head>
  <body>
    <h1>KitCreator 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"} {
................................................................................
		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>
<?
	}
?>
  </body>
</html>





|







 







|





1
2
3
4
5
6
7
8
9
10
11
12
13
..
23
24
25
26
27
28
29
30
31
32
33
34
35
<html>
  <head>
    <title>KitCreator Build and Test Status</title>
  </head>
  <body>
    <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"} {
................................................................................
		puts "      <li><a href=\"${subdir}/\">$subdir</a></li>"
	}
?>
    </ul>
<?
	if {$haveTests} {
?>
    <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
	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]
}
















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







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>






|
|







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> <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 [5b64a8c9ab].

49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
..
85
86
87
88
89
90
91
92
93
94
95
96
97






98
99
100
101
102
103
104
	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
	kitcreator="./kitcreator"
	args=""
	runnable="1"
	iszip="0"
	statictk="0"
	notk="0"
	nomk4="0"
................................................................................
			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"
			runnable="0"
			xcompile="1"
			notk="1"
			iszip="1"






			;;
	esac

	if [ "${xcompile}" != "0" ]; then
		kit="${kit}-xcompile"
	fi








|







 







|
|




>
>
>
>
>
>







49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
..
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
	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-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"
................................................................................
			kit="${os}-${cpu}-min-static"
			;;
		win32|win32-*)
			kitcreator="./build/make-kit-win32"
			xcompile="1"
			kitruncmd="wine"
			;;
		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

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




#! /usr/bin/env tclsh


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

# Static builds don't come with threads.
if {[lsearch -exact $buildflags "static"] != -1} {
	set isthreaded 0
}

if {!$isthreaded} {
	exit 0
}

package require Thread

exit 0






>
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|

|
|
|

|

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

	# 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
		}
	}

	# Minimal builds don't come with threads.
	if {[lsearch -exact $buildflags "min"] != -1} {
		set isthreaded 0
	}

	if {!$isthreaded} {
		exit 0
	}

	package require Thread

	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
}

Modified kitcreator from [15de613872] to [fb76c24536].

22
23
24
25
26
27
28


29
30
31
32
33
34
35
..
80
81
82
83
84
85
86













87
88
89
90
91
92
93
fi

# Define the list of all packages, for cleaning purposes
KITCREATOR_ALLPKGS="kitsh tcl tclvfs zlib tk itcl mk4tcl thread kitdll"
for pkg in ${KITCREATOR_ALLPKGS}; do
	rm -f "${pkg}/build.log"
	rm -rf "${pkg}/out" "${pkg}/inst" "${pkg}/build"



	if [ "${mode}" = "distclean" ]; then
		rm -rf "${pkg}/src"
	fi
done

# We're all done if we're in clean or distclean mode
................................................................................
			echo '         Set STATICMK4 to 1 if you really want to link Mk4tcl statically.' >&2

			STATICMK4="0"
			export STATICMK4
		fi
	fi
fi














failedpkgs=""
buildfailed="0"
for pkg in tcl tclvfs zlib ${KITCREATOR_PKGS} "${KITTARGET}"; do
	echo -n "Building ${pkg} ..."

	failed="0"







>
>







 







>
>
>
>
>
>
>
>
>
>
>
>
>







22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
..
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
108
fi

# Define the list of all packages, for cleaning purposes
KITCREATOR_ALLPKGS="kitsh tcl tclvfs zlib tk itcl mk4tcl thread kitdll"
for pkg in ${KITCREATOR_ALLPKGS}; do
	rm -f "${pkg}/build.log"
	rm -rf "${pkg}/out" "${pkg}/inst" "${pkg}/build"

	rm -rf "${pkg}/src"/tmp-*

	if [ "${mode}" = "distclean" ]; then
		rm -rf "${pkg}/src"
	fi
done

# We're all done if we're in clean or distclean mode
................................................................................
			echo '         Set STATICMK4 to 1 if you really want to link Mk4tcl statically.' >&2

			STATICMK4="0"
			export STATICMK4
		fi
	fi
fi

# Find Windows resource-related files
if [ -f "kit.ico" ]; then
	KITCREATOR_ICON="$(pwd)/kit.ico"
else
	KITCREATOR_ICON="$(echo "$(pwd)/kitsh/buildsrc"/kitsh-*/kit.ico)"
fi
if [ -f "kit.rc" ]; then
	KITCREATOR_RC="$(pwd)/kit.rc"
else
	KITCREATOR_RC="$(echo "$(pwd)/kitsh/buildsrc"/kitsh-*/kit.rc)"
fi
export KITCREATOR_ICON KITCREATOR_RC

failedpkgs=""
buildfailed="0"
for pkg in tcl tclvfs zlib ${KITCREATOR_PKGS} "${KITTARGET}"; do
	echo -n "Building ${pkg} ..."

	failed="0"

Modified kitdll/buildsrc/kitdll-0.0/Makefile.in from [024981b5ad] to [54a46a52d1].

1

2
3
4
5
6
7
8

9
10
11
12
13
14
15
..
27
28
29
30
31
32
33

34
35
36
37
38
39
40
CC = @CC@

CFLAGS = @CFLAGS@ @SHOBJFLAGS@ -Wall
CPPFLAGS = @CPPFLAGS@ @DEFS@ -DKITDLL_MAKE_LOADABLE=1
WISH_CFLAGS = @WISH_CFLAGS@
LDFLAGS = @LDFLAGS@
SHOBJLDFLAGS = @SHOBJLDFLAGS@
LIBS = @LIBS@
STATICLIBS = @ARCHS@

OBJS = vfs_kitdll_data_tcl.o kitInit.o rechan.o pwb.o zlib.o
EXTRA_OBJS = @EXTRA_OBJS@
TCLSH_NATIVE = tclsh

# Default target
all: libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@

................................................................................
## Extensions
rechan.o: rechan.c
pwb.o: pwb.c
zlib.o: zlib.c

## DLL Build
libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@: $(OBJS) $(EXTRA_OBJS)

	$(CC) $(CPPFLAGS) $(CFLAGS) -o libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ $(OBJS) $(EXTRA_OBJS) $(LDFLAGS) $(SHOBJLDFLAGS) @WHOLEARCHIVE@ $(STATICLIBS) @NOWHOLEARCHIVE@ $(LIBS)

# Test driver
tclsh.o: tclsh.c
tclsh: tclsh.o $(EXTRA_OBJS) libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@
	$(CC) $(CPPFLAGS) $(CFLAGS) -o tclsh tclsh.o $(EXTRA_OBJS) -L. -ltclkit@KITDLL_LIB_VERSION@ -Wl,-rpath,.


>







>







 







>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
..
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
CC = @CC@
OBJCOPY = @OBJCOPY@
CFLAGS = @CFLAGS@ @SHOBJFLAGS@ -Wall
CPPFLAGS = @CPPFLAGS@ @DEFS@ -DKITDLL_MAKE_LOADABLE=1
WISH_CFLAGS = @WISH_CFLAGS@
LDFLAGS = @LDFLAGS@
SHOBJLDFLAGS = @SHOBJLDFLAGS@
LIBS = @LIBS@
STATICLIBS = @ARCHS@
STRIPLIBS = @STRIPLIBS@ @EXTRA_OBJS@
OBJS = vfs_kitdll_data_tcl.o kitInit.o rechan.o pwb.o zlib.o
EXTRA_OBJS = @EXTRA_OBJS@
TCLSH_NATIVE = tclsh

# Default target
all: libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@

................................................................................
## Extensions
rechan.o: rechan.c
pwb.o: pwb.c
zlib.o: zlib.c

## DLL Build
libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@: $(OBJS) $(EXTRA_OBJS)
	-for striplib in $(STRIPLIBS); do $(OBJCOPY) --weaken "$${striplib}"; done
	$(CC) $(CPPFLAGS) $(CFLAGS) -o libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ $(OBJS) $(EXTRA_OBJS) $(LDFLAGS) $(SHOBJLDFLAGS) @WHOLEARCHIVE@ $(STATICLIBS) @NOWHOLEARCHIVE@ $(LIBS)

# Test driver
tclsh.o: tclsh.c
tclsh: tclsh.o $(EXTRA_OBJS) libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@
	$(CC) $(CPPFLAGS) $(CFLAGS) -o tclsh tclsh.o $(EXTRA_OBJS) -L. -ltclkit@KITDLL_LIB_VERSION@ -Wl,-rpath,.

Modified kitdll/buildsrc/kitdll-0.0/aclocal.m4 from [57e33ec54f] to [0c2240a08b].

281
282
283
284
285
286
287


288
289
290
291
292
293
294
...
298
299
300
301
302
303
304


305
306
307
308
309
310
311
312
313


314
315
316
317
318
319
320
...
336
337
338
339
340
341
342


343
344
345
346
347
348





349
350
351
352

353
354
355
356
357
358
359
	dnl Sun Studio uses -lCstd -lCrun, most platforms use -lstdc++
	DC_DO_STATIC_LINK_LIB([C++ Library (Sun Studio)], [-lCstd -lCrun],, [
		DC_DO_STATIC_LINK_LIB([C++ Library (UNIX)], [-lstdc++])
	])
])

AC_DEFUN(DC_FIND_TCLKIT_LIBS, [


	DC_SETUP_TCL_PLAT_DEFS

	WISH_CFLAGS=""

	dnl We will need this for the Tcl project, which we will always have
	DC_CHECK_FOR_WHOLE_ARCHIVE

................................................................................
		libdir="../../../${proj}/inst"
		libfiles="`find "${libdir}" -name '*.a' 2>/dev/null | tr "\n" ' '`"
		libfilesnostub="`find "${libdir}" -name '*.a' 2>/dev/null | grep -v 'stub' | tr "\n" ' '`"

		for libfile in ${libfiles}; do
			LDFLAGS="${LDFLAGS} -L`dirname "${libfile}"`"
		done



		if test "$proj" = "tcl"; then
			DC_TEST_WHOLE_ARCHIVE_SHARED_LIB([$ARCHS $libfilesnostub], [
				libfiles="${libfilesnostub}"
			], [
				DC_TEST_WHOLE_ARCHIVE_SHARED_LIB([$ARCHS $libfiles], [
					libfiles="${libfiles}"
				])
			])


		fi

		if test "${proj}" = "mk4tcl"; then
			if test -n "$libfiles"; then
				AC_DEFINE(KIT_INCLUDES_MK4TCL, [1], [Specify this if you link against mkt4tcl])
				DC_DO_STATIC_LINK_LIBCXX
			fi
................................................................................
				if test -n "${TK_VERSION}"; then
					AC_DEFINE_UNQUOTED(KIT_TK_VERSION, "${TK_VERSION}${TK_PATCH_LEVEL}", [Specify the version of Tk])
				fi

				if test "$host_os" = "mingw32msvc" -o "$host_os" = "mingw32"; then
					WISH_CFLAGS="-mwindows"
				fi


			fi
		fi

		ARCHS="${ARCHS} ${libfiles}"

		AC_MSG_RESULT([${libfiles}])





	done

	AC_SUBST(WISH_CFLAGS)
	AC_SUBST(ARCHS)

])

AC_DEFUN(DC_CHECK_FOR_ACCEPTABLE_DLADDR, [
	AC_CHECK_HEADERS(dlfcn.h)
	AC_CHECK_FUNCS(dladdr)

	AC_MSG_CHECKING([for acceptable dladdr])







>
>







 







>
>









>
>







 







>
>






>
>
>
>
>




>







281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
...
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
...
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
	dnl Sun Studio uses -lCstd -lCrun, most platforms use -lstdc++
	DC_DO_STATIC_LINK_LIB([C++ Library (Sun Studio)], [-lCstd -lCrun],, [
		DC_DO_STATIC_LINK_LIB([C++ Library (UNIX)], [-lstdc++])
	])
])

AC_DEFUN(DC_FIND_TCLKIT_LIBS, [
	AC_CHECK_TOOL(OBJCOPY, objcopy, [:])

	DC_SETUP_TCL_PLAT_DEFS

	WISH_CFLAGS=""

	dnl We will need this for the Tcl project, which we will always have
	DC_CHECK_FOR_WHOLE_ARCHIVE

................................................................................
		libdir="../../../${proj}/inst"
		libfiles="`find "${libdir}" -name '*.a' 2>/dev/null | tr "\n" ' '`"
		libfilesnostub="`find "${libdir}" -name '*.a' 2>/dev/null | grep -v 'stub' | tr "\n" ' '`"

		for libfile in ${libfiles}; do
			LDFLAGS="${LDFLAGS} -L`dirname "${libfile}"`"
		done

		hide_symbols="1"

		if test "$proj" = "tcl"; then
			DC_TEST_WHOLE_ARCHIVE_SHARED_LIB([$ARCHS $libfilesnostub], [
				libfiles="${libfilesnostub}"
			], [
				DC_TEST_WHOLE_ARCHIVE_SHARED_LIB([$ARCHS $libfiles], [
					libfiles="${libfiles}"
				])
			])

			hide_symbols="0"
		fi

		if test "${proj}" = "mk4tcl"; then
			if test -n "$libfiles"; then
				AC_DEFINE(KIT_INCLUDES_MK4TCL, [1], [Specify this if you link against mkt4tcl])
				DC_DO_STATIC_LINK_LIBCXX
			fi
................................................................................
				if test -n "${TK_VERSION}"; then
					AC_DEFINE_UNQUOTED(KIT_TK_VERSION, "${TK_VERSION}${TK_PATCH_LEVEL}", [Specify the version of Tk])
				fi

				if test "$host_os" = "mingw32msvc" -o "$host_os" = "mingw32"; then
					WISH_CFLAGS="-mwindows"
				fi

				hide_symbols="0"
			fi
		fi

		ARCHS="${ARCHS} ${libfiles}"

		AC_MSG_RESULT([${libfiles}])

		if test "${hide_symbols}" = "1"; then
			STRIPLIBS="${STRIPLIBS} ${libfiles}"
		fi

	done

	AC_SUBST(WISH_CFLAGS)
	AC_SUBST(ARCHS)
	AC_SUBST(STRIPLIBS)
])

AC_DEFUN(DC_CHECK_FOR_ACCEPTABLE_DLADDR, [
	AC_CHECK_HEADERS(dlfcn.h)
	AC_CHECK_FUNCS(dladdr)

	AC_MSG_CHECKING([for acceptable dladdr])

Modified kitsh/build.sh from [b70457f0fd] to [9ac6c7313f].

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
..
96
97
98
99
100
101
102

103
104
105
106
107
108
109
110


111
112
113
114
115
116
117
	ZLIBDIR="$(cd "${OTHERPKGSDIR}/zlib/inst" 2>/dev/null && pwd)"
	export ZLIBDIR
	if [ -z "${ZLIBDIR}" -o ! -f "${ZLIBDIR}/lib/libz.a" ]; then
		unset ZLIBDIR
	fi

	# Copy user specified kit.rc and kit.ico in to build directory, if found
	if [ -f "${OTHERPKGSDIR}/kit.rc" ]; then
		cp "${OTHERPKGSDIR}/kit.rc" "${BUILDDIR}"
	fi
	if [ -f "${OTHERPKGSDIR}/kit.ico" ]; then
		cp "${OTHERPKGSDIR}/kit.ico" "${BUILDDIR}"
	fi

	# Include extra objects as required
	## Initialize list of extra objects
	EXTRA_OBJS=""

	## Tk Resources (needed for Win32 support)
	TKDIR="$(cd "${OTHERPKGSDIR}/tk/inst" && pwd)"
	TKRSRC="${TKDIR}/lib/tkbase.res.o"
	if [ -n "${TKDIR}" -a -f "${TKRSRC}" ]; then
		EXTRA_OBJS="${EXTRA_OBJS} ${TKRSRC}"




	fi

	## Export to the environment, to be picked up by the "configure" script
	export EXTRA_OBJS

	# Compile Kitsh
	if [ -z "${ZLIBDIR}" ]; then
................................................................................

	# Intall VFS onto kit
	## Determine if we have a Tclkit to do this work
	TCLKIT="${TCLKIT:-tclkit}"
	if echo 'exit 0' | "${TCLKIT}" >/dev/null 2>/dev/null; then
		## Install using existing Tclkit
		### Call installer

		"${TCLKIT}" installvfs.tcl kit starpack.vfs "${ENABLECOMPRESSION}"
	else
		## Bootstrap (cannot cross-compile)
		### Call installer
		cp kit runkit
		echo "set argv [list kit starpack.vfs {${ENABLECOMPRESSION}}]" > setup.tcl
		echo 'if {[catch { clock seconds }]} { proc clock args { return 0 } }' >> setup.tcl
		echo 'source installvfs.tcl' >> setup.tcl


		echo | ./runkit
	fi

	exit 0
) || exit 1

exit 0







|
|
<
<
<
<





|




>
>
>
>







 







>








>
>







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
..
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
	ZLIBDIR="$(cd "${OTHERPKGSDIR}/zlib/inst" 2>/dev/null && pwd)"
	export ZLIBDIR
	if [ -z "${ZLIBDIR}" -o ! -f "${ZLIBDIR}/lib/libz.a" ]; then
		unset ZLIBDIR
	fi

	# Copy user specified kit.rc and kit.ico in to build directory, if found
	cp "${KITCREATOR_ICON}" "${BUILDDIR}/kit.ico"
	cp "${KITCREATOR_RC}" "${BUILDDIR}/kit.rc"





	# Include extra objects as required
	## Initialize list of extra objects
	EXTRA_OBJS=""

	## Tk Resources (needed for Win32 support) -- remove kit-found resources to prevent the symbols from being in conflict
	TKDIR="$(cd "${OTHERPKGSDIR}/tk/inst" && pwd)"
	TKRSRC="${TKDIR}/lib/tkbase.res.o"
	if [ -n "${TKDIR}" -a -f "${TKRSRC}" ]; then
		EXTRA_OBJS="${EXTRA_OBJS} ${TKRSRC}"

		echo ' *** Removing "kit.rc" since we have Tk with its own resource file'

		rm -f "${BUILDDIR}/kit.rc"
	fi

	## Export to the environment, to be picked up by the "configure" script
	export EXTRA_OBJS

	# Compile Kitsh
	if [ -z "${ZLIBDIR}" ]; then
................................................................................

	# Intall VFS onto kit
	## Determine if we have a Tclkit to do this work
	TCLKIT="${TCLKIT:-tclkit}"
	if echo 'exit 0' | "${TCLKIT}" >/dev/null 2>/dev/null; then
		## Install using existing Tclkit
		### Call installer
		echo "Running: \"${TCLKIT}\" installvfs.tcl kit starpack.vfs \"${ENABLECOMPRESSION}\""
		"${TCLKIT}" installvfs.tcl kit starpack.vfs "${ENABLECOMPRESSION}"
	else
		## Bootstrap (cannot cross-compile)
		### Call installer
		cp kit runkit
		echo "set argv [list kit 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
	fi

	exit 0
) || exit 1

exit 0

Modified kitsh/buildsrc/kitsh-0.0/configure.ac from [d545ae6633] to [da08c3d389].

24
25
26
27
28
29
30

31

32

33
34
35
36
37
38
39
dnl Find extra objects we need to link as a part of "kit"
AC_SUBST(EXTRA_OBJS)

dnl Check for Windows Resource Compiler
AC_CHECK_TOOL([RC], [windres], [false])

dnl If we found the resource compiler, add "kit.res.o" to our list of objects to build

if ! test "$RC" = "false"; then

	EXTRA_OBJS="$EXTRA_OBJS kit.res.o"

fi

dnl Check for Tcl features
SAVE_LIBS="${LIBS}"
LIBS="${ARCHS} ${LIBS}"
dnl Determine if we have "Tcl_SetStartupScript" (8.6.x) or "TclSetStartupScriptPath" (8.4.x)
AC_CHECK_FUNCS(Tcl_SetStartupScript TclSetStartupScriptPath)







>

>
|
>







24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
dnl Find extra objects we need to link as a part of "kit"
AC_SUBST(EXTRA_OBJS)

dnl Check for Windows Resource Compiler
AC_CHECK_TOOL([RC], [windres], [false])

dnl If we found the resource compiler, add "kit.res.o" to our list of objects to build
dnl (as long as the source for such an object exists)
if ! test "$RC" = "false"; then
	if test -f kit.rc; then
		EXTRA_OBJS="$EXTRA_OBJS kit.res.o"
	fi
fi

dnl Check for Tcl features
SAVE_LIBS="${LIBS}"
LIBS="${ARCHS} ${LIBS}"
dnl Determine if we have "Tcl_SetStartupScript" (8.6.x) or "TclSetStartupScriptPath" (8.4.x)
AC_CHECK_FUNCS(Tcl_SetStartupScript TclSetStartupScriptPath)

Modified mk4tcl/build.sh from [9c93a36278] to [1ccf77c409].

84
85
86
87
88
89
90

91
92
93
94
95
96
97
..
99
100
101
102
103
104
105







106
107
108
109
110
111
112
		tryopts="--enable-shared --disable-shared"
	elif [ "${STATICMK4}" = "-1" ]; then
		tryopts="--enable-shared"
	else
		tryopts="--disable-shared"
	fi


	for tryopt in $tryopts __fail__; do
		# Clean up, if needed
		make distclean >/dev/null 2>/dev/null
		rm -rf "${INSTDIR}"
		mkdir "${INSTDIR}"

		if [ "${tryopt}" = "__fail__" ]; then
................................................................................
		fi

		if [ "${tryopt}" == "--enable-shared" ]; then
			isshared="1"
		else
			isshared="0"
		fi








		(
			echo "Running: ./configure $tryopt --prefix=\"${INSTDIR}\" --exec-prefix=\"${INSTDIR}\" --with-tcl=\"${TCLCONFIGDIR}/../generic\" ${CONFIGUREEXTRA}"
			./configure $tryopt --prefix="${INSTDIR}" --exec-prefix="${INSTDIR}" --with-tcl="${TCLCONFIGDIR}/../generic" ${CONFIGUREEXTRA}

			echo "Running: ${MAKE:-make} tcllibdir=\"${INSTDIR}/lib\" AR=\"${AR:-ar}\" RANLIB=\"${RANLIB:-ranlib}\""
			${MAKE:-make} tcllibdir="${INSTDIR}/lib" AR="${AR:-ar}" RANLIB="${RANLIB:-ranlib}" || exit 1







>







 







>
>
>
>
>
>
>







84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
...
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
		tryopts="--enable-shared --disable-shared"
	elif [ "${STATICMK4}" = "-1" ]; then
		tryopts="--enable-shared"
	else
		tryopts="--disable-shared"
	fi

	SAVE_CXXFLAGS="${CXXFLAGS}"
	for tryopt in $tryopts __fail__; do
		# Clean up, if needed
		make distclean >/dev/null 2>/dev/null
		rm -rf "${INSTDIR}"
		mkdir "${INSTDIR}"

		if [ "${tryopt}" = "__fail__" ]; then
................................................................................
		fi

		if [ "${tryopt}" == "--enable-shared" ]; then
			isshared="1"
		else
			isshared="0"
		fi

		# If build a static Mk4tcl for KitDLL, ensure that we use PIC
		# so that it can be linked into the shared object
		if [ "${isshared}" = "0" -a "${KITTARGET}" = "kitdll" ]; then
			CXXFLAGS="${SAVE_CXXFLAGS} -fPIC"
			export CXXFLAGS
		fi

		(
			echo "Running: ./configure $tryopt --prefix=\"${INSTDIR}\" --exec-prefix=\"${INSTDIR}\" --with-tcl=\"${TCLCONFIGDIR}/../generic\" ${CONFIGUREEXTRA}"
			./configure $tryopt --prefix="${INSTDIR}" --exec-prefix="${INSTDIR}" --with-tcl="${TCLCONFIGDIR}/../generic" ${CONFIGUREEXTRA}

			echo "Running: ${MAKE:-make} tcllibdir=\"${INSTDIR}/lib\" AR=\"${AR:-ar}\" RANLIB=\"${RANLIB:-ranlib}\""
			${MAKE:-make} tcllibdir="${INSTDIR}/lib" AR="${AR:-ar}" RANLIB="${RANLIB:-ranlib}" || exit 1

Added mk4tcl/patches/all/metakit-2.4.9.7-fixsharedobjlinker.diff version [6280191256].





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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
Binary files metakit-2.4.9.7.orig/unix/.Makefile.in.swp and metakit-2.4.9.7-1rsk/unix/.Makefile.in.swp differ
Binary files metakit-2.4.9.7.orig/unix/.configure.in.swp and metakit-2.4.9.7-1rsk/unix/.configure.in.swp differ
diff -uNr metakit-2.4.9.7.orig/unix/configure metakit-2.4.9.7-1rsk/unix/configure
--- metakit-2.4.9.7.orig/unix/configure	2007-06-15 18:26:40.000000000 -0500
+++ metakit-2.4.9.7-1rsk/unix/configure	2011-03-09 07:39:59.000000000 -0600
@@ -1482,7 +1482,7 @@
 if test $SHARED_BUILD = 1; then
   SHLIB_FLAGS="-shared"
   SHLIB_CFLAGS="-fPIC -DUSE_TCL_STUBS"
-  SHLIB_LD="g++ -shared"
+  SHLIB_LD="${CXX} -shared"
 else
   SHLIB_FLAGS=""
   SHLIB_CFLAGS=""
diff -uNr metakit-2.4.9.7.orig/unix/configure.in metakit-2.4.9.7-1rsk/unix/configure.in
--- metakit-2.4.9.7.orig/unix/configure.in	2007-06-15 18:26:40.000000000 -0500
+++ metakit-2.4.9.7-1rsk/unix/configure.in	2011-03-09 07:39:29.000000000 -0600
@@ -117,7 +117,7 @@
 if test $SHARED_BUILD = 1; then
   SHLIB_FLAGS="-shared"
   SHLIB_CFLAGS="-fPIC -DUSE_TCL_STUBS"
-  SHLIB_LD="g++ -shared"
+  SHLIB_LD="${CXX} -shared"
 else
   SHLIB_FLAGS=""
   SHLIB_CFLAGS=""

Modified tcl/build.sh from [805b596118] to [08b84fc697].

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
..
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
mkdir 'build' 'out' 'inst' || exit 1

if [ ! -f "${SRC}" ]; then
	mkdir 'src' >/dev/null 2>/dev/null

	if echo "${TCLVERS}" | grep '^cvs_' >/dev/null; then
		CVSTAG=$(echo "${TCLVERS}" | sed 's/^cvs_//g')



		export CVSTAG

		(
			cd src || exit 1

			cvs -z3 -d:pserver:anonymous@tcl.cvs.sourceforge.net:/cvsroot/tcl co -r "${CVSTAG}" -P tcl















			mv tcl "tcl${TCLVERS}"






			tar -cf - "tcl${TCLVERS}" | gzip -c > "../${SRC}"
		)




	else
		rm -f "${SRC}.tmp"
		wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
		mv "${SRC}.tmp" "${SRC}"
	fi
fi

................................................................................

			(
				. "${patchscript}"
			)
		fi
	done

	# Patch Win32 builds to always provide DllMain if we are building KitDLL
	if [ "${KITTARGET}" = "kitdll" ]; then
		## DllMain is needed when building KitDLL
		for filetopatch in win/tclWin32Dll.c win/tclWinInit.c; do
			echo "Undefining STATIC_BUILD in \"${filetopatch}\""

			sed 's@STATIC_BUILD@NEVER_STATIC_BUILD@g' "${filetopatch}" > "${filetopatch}.new" && cat "${filetopatch}.new" > "${filetopatch}"
			rm -f "${filetopatch}.new"
		done
	fi

	for dir in unix win macosx __fail__; do
		if [ "${dir}" = "__fail__" ]; then
			# If we haven't figured out how to build it, reject.

			exit 1
		fi








>
>
>





|
>

>
>
>
>
>
>
>
>
>
>
>
>
>
|
>
>
>
>
>

|
|
>
>
>
>







 







<
<
<
<
<
<
<
<
<
<
<







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
...
101
102
103
104
105
106
107











108
109
110
111
112
113
114
mkdir 'build' 'out' 'inst' || exit 1

if [ ! -f "${SRC}" ]; then
	mkdir 'src' >/dev/null 2>/dev/null

	if echo "${TCLVERS}" | grep '^cvs_' >/dev/null; then
		CVSTAG=$(echo "${TCLVERS}" | sed 's/^cvs_//g')
		if [ "${CVSTAG}" = "HEAD" ]; then
			CVSTAG="trunk"
		fi
		export CVSTAG

		(
			cd src || exit 1

			workdir="tmp-$$${RANDOM}${RANDOM}${RANDOM}"
			rm -rf "${workdir}"

			mkdir "${workdir}" || exit 1
			cd "${workdir}" || exit 1

			wget -O "tmp-tcl.tar.gz" "http://core.tcl.tk/tcl/tarball/tcl-fossil.tar.gz?uuid=${CVSTAG}" || rm -f 'tmp-tcl.tar.gz'
			wget -O "tmp-itcl.tar.gz" "http://core.tcl.tk/itcl/tarball/itcl-fossil.tar.gz?uuid=${CVSTAG}" || rm -f 'tmp-itcl.tar.gz'
			wget -O "tmp-thread.tar.gz" "http://core.tcl.tk/thread/tarball/thread-fossil.tar.gz?uuid=${CVSTAG}" || rm -f "tmp-thread.tar.gz"
			wget -O "tmp-tclconfig.tar.gz" "http://core.tcl.tk/tclconfig/tarball/tclconfig-fossil.tar.gz?uuid=${CVSTAG}" || rm -f "tmp-tclconfig.tar.gz"

			gzip -dc 'tmp-tcl.tar.gz' | tar -xf -
			gzip -dc "tmp-itcl.tar.gz" | tar -xf -
			gzip -dc "tmp-thread.tar.gz" | tar -xf -
			gzip -dc "tmp-tclconfig.tar.gz" | tar -xf -

			mv "tcl-fossil" "tcl${TCLVERS}"
			mv "itcl-fossil" "tcl${TCLVERS}/pkgs/itcl"
			mv "thread-fossil" "tcl${TCLVERS}/pkgs/thread"
			cp -r "tclconfig-fossil" "tcl${TCLVERS}/pkgs/itcl/tclconfig"
			cp -r "tclconfig-fossil" "tcl${TCLVERS}/pkgs/thread/tclconfig"
			mv "tclconfig-fossil" "tcl${TCLVERS}/tclconfig"

			tar -cf - "tcl${TCLVERS}" | gzip -c > "../../${SRC}"

			cd ..

			rm -rf "${workdir}"
		) || exit 1
	else
		rm -f "${SRC}.tmp"
		wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
		mv "${SRC}.tmp" "${SRC}"
	fi
fi

................................................................................

			(
				. "${patchscript}"
			)
		fi
	done












	for dir in unix win macosx __fail__; do
		if [ "${dir}" = "__fail__" ]; then
			# If we haven't figured out how to build it, reject.

			exit 1
		fi

Added tcl/patchscripts/minbuild-nopkgs.sh version [d1143d6e77].











>
>
>
>
>
1
2
3
4
5
#! /bin/bash

if [ -n "${KITCREATOR_MINBUILD}" ]; then
	rm -rf 'pkgs'
fi

Added tcl/patchscripts/visibility-unhidden.sh version [05e06e331d].























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
#! /bin/bash

if [ "${KITTARGET}" != "kitdll" ]; then
	exit 0
fi

for file in unix/configure; do
	sed 's@-fvisibility@-__disabled__fvisibility@' "${file}" > "${file}.new"
	cat "${file}.new" > "${file}"
	rm -f "${file}.new"
done

Added tcl/patchscripts/win32-dllmain.sh version [610ea73aa0].



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
#! /bin/bash

if [ "${KITTARGET}" != "kitdll" ]; then
	exit 0
fi

## DllMain is needed when building KitDLL
for filetopatch in win/tclWin32Dll.c win/tclWinInit.c; do
	echo "Undefining STATIC_BUILD in \"${filetopatch}\""

	sed 's@STATIC_BUILD@NEVER_STATIC_BUILD@g' "${filetopatch}" > "${filetopatch}.new" && cat "${filetopatch}.new" > "${filetopatch}"
	rm -f "${filetopatch}.new"
done

Modified tclvfs/build.sh from [d1e2c23178] to [c20cbb9749].

81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
	echo "Running: ./configure --disable-shared --prefix=\"${INSTDIR}\" --exec-prefix=\"${INSTDIR}\" --with-tcl=\"${TCLCONFIGDIR}\" ${CONFIGUREEXTRA}"
	./configure --disable-shared --prefix="${INSTDIR}" --exec-prefix="${INSTDIR}" --with-tcl="${TCLCONFIGDIR}" ${CONFIGUREEXTRA}

	echo "Running: ${MAKE:-make}"
	${MAKE:-make} || exit 1

	echo "Running: ${MAKE:-make} install"
	${MAKE:-make} install

	mkdir "${OUTDIR}/lib" || exit 1
	cp -r "${INSTDIR}/lib"/vfs* "${OUTDIR}/lib/"
	rm -f "${OUTDIR}/lib"/vfs*/*.a "${OUTDIR}/lib"/vfs*/*.so

	exit 0
) || exit 1

exit 0







|









81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
	echo "Running: ./configure --disable-shared --prefix=\"${INSTDIR}\" --exec-prefix=\"${INSTDIR}\" --with-tcl=\"${TCLCONFIGDIR}\" ${CONFIGUREEXTRA}"
	./configure --disable-shared --prefix="${INSTDIR}" --exec-prefix="${INSTDIR}" --with-tcl="${TCLCONFIGDIR}" ${CONFIGUREEXTRA}

	echo "Running: ${MAKE:-make}"
	${MAKE:-make} || exit 1

	echo "Running: ${MAKE:-make} install"
	${MAKE:-make} install || exit 1

	mkdir "${OUTDIR}/lib" || exit 1
	cp -r "${INSTDIR}/lib"/vfs* "${OUTDIR}/lib/"
	rm -f "${OUTDIR}/lib"/vfs*/*.a "${OUTDIR}/lib"/vfs*/*.so

	exit 0
) || exit 1

exit 0

Modified tk/build.sh from [394ddd8947] to [f374ed53cb].

13
14
15
16
17
18
19

20
21
22
23
24
25
26
27
..
31
32
33
34
35
36
37



38
39
40
41
42
43

44






45
46
47



48
49
50
51
52
53
54
..
82
83
84
85
86
87
88











89
90
91
92
93
94
95
...
139
140
141
142
143
144
145






146
147
148
149
150
151
152

SRC="src/tk${TCLVERS}.tar.gz"
SRCURL="http://prdownloads.sourceforge.net/tcl/tk${TCLVERS}-src.tar.gz"
BUILDDIR="$(pwd)/build/tk${TCLVERS}"
PATCHDIR="$(pwd)/patches"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"

export SRC SRCURL BUILDDIR PATCHDIR OUTDIR INSTDIR

rm -rf 'build' 'out' 'inst'
mkdir 'build' 'out' 'inst' || exit 1

# Determine Tcl version
TCL_VERSION="unknown"
if [ -f "${TCLCONFIGDIR}/tclConfig.sh" ]; then
................................................................................


if [ ! -f "${SRC}" ]; then
	mkdir 'src' >/dev/null 2>/dev/null

	if echo "${TCLVERS}" | grep '^cvs_' >/dev/null; then
		CVSTAG=$(echo "${TCLVERS}" | sed 's/^cvs_//g')



		export CVSTAG

		(       
			cd src || exit 1

			cvs -z3 -d:pserver:anonymous@tcl.cvs.sourceforge.net:/cvsroot/tktoolkit co -r "${CVSTAG}" -P tk








			mv tk "tk${TCLVERS}"

			tar -cf - "tk${TCLVERS}" | gzip -c > "../${SRC}"



		)
	else
		rm -f "${SRC}.tmp"
		wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
		mv "${SRC}.tmp" "${SRC}"
	fi
fi
................................................................................
				continue
			fi

			echo "Applying: ${patch}"
			${PATCH:-patch} -p1 < "${patch}"
		done
	)












	for dir in unix win macosx win64 __fail__; do
		if [ "${dir}" = "__fail__" ]; then
			exit 1
		fi

		# Windows/amd64 workarounds
................................................................................
		) || continue

		echo "Running: ${MAKE:-make} install"
		${MAKE:-make} install || continue

		# Update to include resources, if found
		if [ "${dir}" = "win" ]; then






			echo ' *** Creating tkbase.res.o to support Windows build'
			echo "\"${RC:-windres}\" -o tkbase.res.o  --define STATIC_BUILD --include \"./../generic\" --include \"${TCLCONFIGDIR}/../generic\" --include \"${TCLCONFIGDIR}\" --include \"./rc\" \"./rc/tk_base.rc\""
			"${RC:-windres}" -o tkbase.res.o  --define STATIC_BUILD --include "./../generic" --include "${TCLCONFIGDIR}/../generic" --include "${TCLCONFIGDIR}" --include "./rc" "./rc/tk_base.rc"

			if [ -f "tkbase.res.o" ]; then
				cp "tkbase.res.o" "${INSTDIR}/lib/"
			fi







>
|







 







>
>
>





|
>

>
>
>
>
>
>
|
|
|
>
>
>







 







>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>







13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
..
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
..
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
...
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183

SRC="src/tk${TCLVERS}.tar.gz"
SRCURL="http://prdownloads.sourceforge.net/tcl/tk${TCLVERS}-src.tar.gz"
BUILDDIR="$(pwd)/build/tk${TCLVERS}"
PATCHDIR="$(pwd)/patches"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
PATCHSCRIPTDIR="$(pwd)/patchscripts"
export SRC SRCURL BUILDDIR PATCHDIR OUTDIR INSTDIR PATCHSCRIPTDIR

rm -rf 'build' 'out' 'inst'
mkdir 'build' 'out' 'inst' || exit 1

# Determine Tcl version
TCL_VERSION="unknown"
if [ -f "${TCLCONFIGDIR}/tclConfig.sh" ]; then
................................................................................


if [ ! -f "${SRC}" ]; then
	mkdir 'src' >/dev/null 2>/dev/null

	if echo "${TCLVERS}" | grep '^cvs_' >/dev/null; then
		CVSTAG=$(echo "${TCLVERS}" | sed 's/^cvs_//g')
		if [ "${CVSTAG}" = "HEAD" ]; then
			CVSTAG="trunk"
		fi
		export CVSTAG

		(       
			cd src || exit 1

			workdir="tmp-$$${RANDOM}${RANDOM}${RANDOM}"
			rm -rf "${workdir}"

			mkdir "${workdir}" || exit 1
			cd "${workdir}" || exit 1

			wget -O "tmp-tk.tar.gz" "http://core.tcl.tk/tk/tarball/tk-${CVSTAG}.tar.gz?uuid=${CVSTAG}" || rm -f 'tmp-tk.tar.gz'
			gzip -dc "tmp-tk.tar.gz" | tar -xf -

			mv "tk-${CVSTAG}" "tk${TCLVERS}"
                        
			tar -cf - "tk${TCLVERS}" | gzip -c > "../../${SRC}"

			cd ..
			rm -rf "${workdir}"
		)
	else
		rm -f "${SRC}.tmp"
		wget -O "${SRC}.tmp" "${SRCURL}" || exit 1
		mv "${SRC}.tmp" "${SRC}"
	fi
fi
................................................................................
				continue
			fi

			echo "Applying: ${patch}"
			${PATCH:-patch} -p1 < "${patch}"
		done
	)

	# Apply patch scripts if needed
	for patchscript in "${PATCHSCRIPTDIR}"/*.sh; do
		if [ -f "${patchscript}" ]; then
			echo "Running patch script: ${patchscript}"
                                
			(
				. "${patchscript}"
			)
		fi
	done

	for dir in unix win macosx win64 __fail__; do
		if [ "${dir}" = "__fail__" ]; then
			exit 1
		fi

		# Windows/amd64 workarounds
................................................................................
		) || continue

		echo "Running: ${MAKE:-make} install"
		${MAKE:-make} install || continue

		# Update to include resources, if found
		if [ "${dir}" = "win" ]; then
			echo ' *** Importing user-specified icon'
			cp "${KITCREATOR_ICON}" rc/tk.ico

			echo ' *** Importing user-specified resources'
			cat "${KITCREATOR_RC}" | grep -v '^ *tclsh  *ICON' >> "./rc/tk_base.rc"

			echo ' *** Creating tkbase.res.o to support Windows build'
			echo "\"${RC:-windres}\" -o tkbase.res.o  --define STATIC_BUILD --include \"./../generic\" --include \"${TCLCONFIGDIR}/../generic\" --include \"${TCLCONFIGDIR}\" --include \"./rc\" \"./rc/tk_base.rc\""
			"${RC:-windres}" -o tkbase.res.o  --define STATIC_BUILD --include "./../generic" --include "${TCLCONFIGDIR}/../generic" --include "${TCLCONFIGDIR}" --include "./rc" "./rc/tk_base.rc"

			if [ -f "tkbase.res.o" ]; then
				cp "tkbase.res.o" "${INSTDIR}/lib/"
			fi

Added tk/patchscripts/visibility-unhidden.sh version [05e06e331d].























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
#! /bin/bash

if [ "${KITTARGET}" != "kitdll" ]; then
	exit 0
fi

for file in unix/configure; do
	sed 's@-fvisibility@-__disabled__fvisibility@' "${file}" > "${file}.new"
	cat "${file}.new" > "${file}"
	rm -f "${file}.new"
done