Check-in [4f2db7cae0]
Overview
Comment:Added patch for Tcl 8.4.19 to compile with newer versions of GCC
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 4f2db7cae09ecfc7de64bb4305a7adddebde339f
User & Date: rkeene on 2010-10-12 15:56:10
Other Links: manifest | tags
Context
2010-10-12
16:13
Added registry test check-in: 9fb27167af user: rkeene tags: trunk
15:56
Added patch for Tcl 8.4.19 to compile with newer versions of GCC check-in: 4f2db7cae0 user: rkeene tags: trunk
01:49
Updated to allow force rebuilds of nightly tests check-in: ad21154bd8 user: rkeene tags: trunk
Changes

Modified tcl/build.sh from [0f3c234f4e] to [805b596118].

13
14
15
16
17
18
19

20
21
22
23
24
25
26
27

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

export SRC SRCURL BUILDDIR OUTDIR INSTDIR PATCHSCRIPTDIR

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

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








>
|







13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

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

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

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

51
52
53
54
55
56
57











58
59
60
61
62
63
64
	if [ ! -d '../buildsrc' ]; then
		gzip -dc "../${SRC}" | tar -xf -
	else
		cp -rp ../buildsrc/* './'
	fi

	cd "${BUILDDIR}" || exit 1












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

			(







>
>
>
>
>
>
>
>
>
>
>







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
	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"/tcl-${TCLVERS}-*.diff "${PATCHDIR}/${TCLVERS}"/tcl-${TCLVERS}-*.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}"

			(

Added tcl/patches/8.4.19/tcl-8.4.19-win32castingfailure-1rsk.diff version [15d3e2419e].

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
diff -uNr tcl8.4.19.orig/win/tclWinDde.c tcl8.4.19-1rsk/win/tclWinDde.c
--- tcl8.4.19.orig/win/tclWinDde.c	2006-04-05 15:50:46.000000000 -0500
+++ tcl8.4.19-1rsk/win/tclWinDde.c	2010-10-12 10:40:23.000000000 -0500
@@ -1308,7 +1308,7 @@
 	    }
 
 	    objc -= (async + 3);
-	    ((Tcl_Obj **) objv) += (async + 3);
+	    objv += (async + 3);
 
             /*
 	     * See if the target interpreter is local.  If so, execute
diff -uNr tcl8.4.19.orig/win/tclWinReg.c tcl8.4.19-1rsk/win/tclWinReg.c
--- tcl8.4.19.orig/win/tclWinReg.c	2007-05-15 11:08:22.000000000 -0500
+++ tcl8.4.19-1rsk/win/tclWinReg.c	2010-10-12 10:40:20.000000000 -0500
@@ -790,7 +790,7 @@
 		    Tcl_NewStringObj(Tcl_DStringValue(&buf),
 			    Tcl_DStringLength(&buf)));
 	    if (regWinProcs->useWide) {
-		while (*((Tcl_UniChar *)p)++ != 0) {}
+		while ((*((Tcl_UniChar *)p))++ != 0) {}
 	    } else {
 		while (*p++ != '\0') {}
 	    }