Changes On Branch 07ceeb4833248295

Changes In Branch winFixes Through [07ceeb4833] Excluding Merge-Ins

This is equivalent to a diff from ef6ac5d932 to 07ceeb4833

2014-08-28
18:27
Merge updates from trunk. check-in: df02b7cfd1 user: mistachkin tags: winFixes
2013-11-19
16:24
Updated to build Android builds with -static-libgcc check-in: 6f659c9189 user: rkeene tags: trunk
2013-11-05
10:15
More progress on getting new version of zlib working. check-in: 07ceeb4833 user: mistachkin tags: winFixes
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
2013-10-05
11:53
Fixed issue with disabling debugging on appropriate prefix check-in: 76d1b562f8 user: rkeene tags: trunk

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

1
2
3
4
5
6
7
8
9
10
11
12





13
14
15
16
17
18
19
#! /usr/bin/env bash

if [ ! -f 'build.sh' ]; then
	echo 'ERROR: This script must be run from the directory it is in' >&2

	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












>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#! /usr/bin/env bash

if [ ! -f 'build.sh' ]; then
	echo 'ERROR: This script must be run from the directory it is in' >&2

	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
201
202
203
204
205
206
207



208
209
210
211
212
213
214
215
		## 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







>
>
>
|







206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
		## 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
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<






















































































































































Modified thread/build.sh from [1e6b680b6e] to [c27d51fd00].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#! /usr/bin/env bash

if [ ! -f 'build.sh' ]; then
	echo 'ERROR: This script must be run from the directory it is in' >&2

	exit 1
fi
if [ -z "${TCLVERS}" ]; then
	echo 'ERROR: The TCLVERS environment variable is not set' >&2

	exit 1
fi

THREADVERS="2.6.5"
SRC="src/thread-${THREADVERS}.tar.gz"
SRCURL="http://sourceforge.net/projects/tcl/files/Thread%20Extension/${THREADVERS}/thread${THREADVERS}.tar.gz/download"
BUILDDIR="$(pwd)/build/thread${THREADVERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
export THREADVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR














|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#! /usr/bin/env bash

if [ ! -f 'build.sh' ]; then
	echo 'ERROR: This script must be run from the directory it is in' >&2

	exit 1
fi
if [ -z "${TCLVERS}" ]; then
	echo 'ERROR: The TCLVERS environment variable is not set' >&2

	exit 1
fi

THREADVERS="2.7.0"
SRC="src/thread-${THREADVERS}.tar.gz"
SRCURL="http://sourceforge.net/projects/tcl/files/Thread%20Extension/${THREADVERS}/thread${THREADVERS}.tar.gz/download"
BUILDDIR="$(pwd)/build/thread${THREADVERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
export THREADVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR

Modified zlib/build.sh from [2953ae8c82] to [eadceaed0f].

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
#! /usr/bin/env bash

if [ ! -f 'build.sh' ]; then
	echo 'ERROR: This script must be run from the directory it is in' >&2

	exit 1
fi
if [ -z "${TCLVERS}" ]; then
	echo 'ERROR: The TCLVERS environment variable is not set' >&2

	exit 1
fi

ZLIBVERS="1.2.3"
SRC="src/zlib-${ZLIBVERS}.tar.gz"
SRCURL="http://sourceforge.net/projects/libpng/files/zlib/${ZLIBVERS}/zlib-${ZLIBVERS}.tar.gz/download"
BUILDDIR="$(pwd)/build/zlib-${ZLIBVERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"


export ZLIBVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR

# Set configure options for this sub-project
LDFLAGS="${KC_ZLIB_LDFLAGS}"
CFLAGS="${KC_ZLIB_CFLAGS}"
CPPFLAGS="${KC_ZLIB_CPPFLAGS}"
LIBS="${KC_ZLIB_LIBS}"
export LDFLAGS CFLAGS CPPFLAGS LIBS













|





>
>
|







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
#! /usr/bin/env bash

if [ ! -f 'build.sh' ]; then
	echo 'ERROR: This script must be run from the directory it is in' >&2

	exit 1
fi
if [ -z "${TCLVERS}" ]; then
	echo 'ERROR: The TCLVERS environment variable is not set' >&2

	exit 1
fi

ZLIBVERS="1.2.8"
SRC="src/zlib-${ZLIBVERS}.tar.gz"
SRCURL="http://sourceforge.net/projects/libpng/files/zlib/${ZLIBVERS}/zlib-${ZLIBVERS}.tar.gz/download"
BUILDDIR="$(pwd)/build/zlib-${ZLIBVERS}"
OUTDIR="$(pwd)/out"
INSTDIR="$(pwd)/inst"
PATCHSCRIPTDIR="$(pwd)/patchscripts"
PATCHDIR="$(pwd)/patches"
export ZLIBVERS SRC SRCURL BUILDDIR OUTDIR INSTDIR PATCHSCRIPTDIR PATCHDIR

# Set configure options for this sub-project
LDFLAGS="${KC_ZLIB_LDFLAGS}"
CFLAGS="${KC_ZLIB_CFLAGS}"
CPPFLAGS="${KC_ZLIB_CPPFLAGS}"
LIBS="${KC_ZLIB_LIBS}"
export LDFLAGS CFLAGS CPPFLAGS LIBS
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
	if [ ! -d '../buildsrc' ]; then
		gzip -dc "../${SRC}" | tar -xf -
	else    
		cp -rp ../buildsrc/* './'
	fi

	cd "${BUILDDIR}" || exit 1
	# ZLIB Expects AR to contain options





	AR="${AR:-ar} rcu"



	export AR












	# If we are building for KitDLL, compile with '-fPIC'
	if [ "${KITTARGET}" = "kitdll" ]; then
		CFLAGS="${CFLAGS} -fPIC"
		export CFLAGS
	fi

	# We don't pass CONFIGUREEXTRA here, since this isn't a GNU autoconf
	# script and will puke
	echo "Running: ./configure --prefix=\"${INSTDIR}\" --libdir=\"${INSTDIR}/lib\""
	./configure --prefix="${INSTDIR}" --libdir="${INSTDIR}/lib"

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

	echo "Running: ${MAKE:-make} install AR=\"${AR}\""
	${MAKE:-make} install AR="${AR}"

	# We don't really care too much about failure in zlib
	exit 0
) || exit 1

exit 0







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












|
|

|
|






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
	if [ ! -d '../buildsrc' ]; then
		gzip -dc "../${SRC}" | tar -xf -
	else    
		cp -rp ../buildsrc/* './'
	fi

	cd "${BUILDDIR}" || exit 1

	# Apply patches if needed
	for patch in "${PATCHDIR}/all"/zlib-${ZLIBVERS}-*.diff "${PATCHDIR}/all"/zlib-all-*.diff "${PATCHDIR}/${ZLIBVERS}"/zlib-${ZLIBVERS}-*.diff; do
		if [ ! -f "${patch}" ]; then
			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

	# If we are building for KitDLL, compile with '-fPIC'
	if [ "${KITTARGET}" = "kitdll" ]; then
		CFLAGS="${CFLAGS} -fPIC"
		export CFLAGS
	fi

	# We don't pass CONFIGUREEXTRA here, since this isn't a GNU autoconf
	# script and will puke
	echo "Running: ./configure --prefix=\"${INSTDIR}\" --libdir=\"${INSTDIR}/lib\""
	./configure --prefix="${INSTDIR}" --libdir="${INSTDIR}/lib"

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

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

	# We don't really care too much about failure in zlib
	exit 0
) || exit 1

exit 0

Added zlib/patches/1.2.8/zlib-1.2.8-enable-configure.diff version [2e0d9c8d12].





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff -uNr zlib-1.2.8.orig/configure zlib-1.2.8/configure
--- zlib-1.2.8.orig/configure	2013-03-23 22:30:09 -0700
+++ zlib-1.2.8/configure	2013-11-05 00:33:39 -0800
@@ -191,10 +191,6 @@
   CYGWIN* | Cygwin* | cygwin* | OS/2*)
         EXE='.exe' ;;
   MINGW* | mingw*)
-# temporary bypass
-        rm -f $test.[co] $test $test$shared_ext
-        echo "Please use win32/Makefile.gcc instead." | tee -a configure.log
-        leave 1
         LDSHARED=${LDSHARED-"$cc -shared"}
         LDSHAREDLIBC=""
         EXE='.exe' ;;