Tcl Source Code

Artifact [781f50d6df]
Login

Artifact 781f50d6df76395a6408d94650e87e9e9b4f0e4d:

Attachment "tk-x64.patch" to ticket [1369597fff] added by hobbs 2005-11-30 05:54:31.
Index: win/Makefile.in
===================================================================
RCS file: /cvsroot/tktoolkit/tk/win/Makefile.in,v
retrieving revision 1.59.2.1
diff -u -r1.59.2.1 Makefile.in
--- win/Makefile.in	25 Jul 2005 01:33:54 -0000	1.59.2.1
+++ win/Makefile.in	29 Nov 2005 22:49:29 -0000
@@ -535,7 +535,7 @@
 	$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
 
 $(CAT32): cat32.${OBJEXT}
-	$(CC) $(CFLAGS) cat32.$(OBJEXT) $(CC_EXENAME) $(LDFLAGS_CONSOLE)
+	$(CC) $(CFLAGS) cat32.$(OBJEXT) $(CC_EXENAME) $(LIBS) $(LDFLAGS_CONSOLE)
 
 # The following targets are configured by autoconf to generate either
 # a shared library or static library
@@ -597,7 +597,8 @@
 	$(RM) *.pch *.ilk *.pdb
 
 distclean: clean
-	$(RM) Makefile config.status config.cache config.log tkConfig.sh
+	$(RM) Makefile config.status config.cache config.log tkConfig.sh \
+		wish.exe.manifest
 
 Makefile: $(SRC_DIR)/Makefile.in
 	./config.status
Index: win/configure
===================================================================
RCS file: /cvsroot/tktoolkit/tk/win/configure,v
retrieving revision 1.47.2.18
diff -u -r1.47.2.18 configure
--- win/configure	16 Nov 2005 22:07:37 -0000	1.47.2.18
+++ win/configure	29 Nov 2005 22:49:29 -0000
@@ -16,7 +16,7 @@
 ac_help="$ac_help
   --enable-shared         build and link with shared libraries [--enable-shared]"
 ac_help="$ac_help
-  --enable-64bit          enable 64bit support (where applicable)"
+  --enable-64bit          enable 64bit support (where applicable = amd64|ia64)"
 ac_help="$ac_help
   --enable-symbols        build with debugging symbols [--disable-symbols]"
 ac_help="$ac_help
@@ -1224,7 +1224,7 @@
     echo $ac_n "checking compiler flags""... $ac_c" 1>&6
 echo "configure:1226: checking compiler flags" >&5
     if test "${GCC}" = "yes" ; then
-	if test "$do64bit" = "yes" ; then
+	if test "$do64bit" != "no" ; then
 	    echo "configure: warning: "64bit mode not supported with GCC on Windows"" 1>&2
 	fi
 	SHLIB_LD=""
@@ -1364,34 +1364,50 @@
 
 	# This is a 2-stage check to make sure we have the 64-bit SDK
 	# We have to know where the SDK is installed.
-	if test "$do64bit" = "yes" ; then
+	# This magic is based on MS Platform SDK for Win2003 SP1 - hobbs
+	# MACHINE is IX86 for LINK, but this is used by the manifest,
+	# which requires x86|amd64|ia64.
+	MACHINE="X86"
+	if test "$do64bit" != "no" ; then
 	    if test "x${MSSDK}x" = "xx" ; then
-		MSSDK="C:/Progra~1/Microsoft SDK"
+		MSSDK="C:/Progra~1/Microsoft Platform SDK"
 	    fi
 	    MSSDK=`echo "$MSSDK" | sed -e 's!\\\!/!g'`
-	    if test ! -d "${MSSDK}/bin/win64" ; then
-		echo "configure: warning: "could not find 64-bit SDK to enable 64bit mode"" 1>&2
+	    PATH64=""
+	    case "$do64bit" in
+	      amd64|x64|yes)
+		MACHINE="AMD64" ; # assume AMD64 as default 64-bit build
+		PATH64="${MSSDK}/Bin/Win64/x86/AMD64"
+		;;
+	      ia64)
+		MACHINE="IA64"
+		PATH64="${MSSDK}/Bin/Win64"
+		;;
+	    esac
+	    if test ! -d "${PATH64}" ; then
+		echo "configure: warning: Could not find 64-bit $MACHINE SDK to enable 64bit mode" 1>&2
+		echo "configure: warning: Ensure latest Platform SDK is installed" 1>&2
 		do64bit="no"
+	    else
+		echo "$ac_t""   Using 64-bit $MACHINE mode" 1>&6
 	    fi
 	fi
 
-	if test "$do64bit" = "yes" ; then
-	    # All this magic is necessary for the Win64 SDK RC1 - hobbs
+	if test "$do64bit" != "no" ; then
 	    # The space-based-path will work for the Makefile, but will
 	    # not work if AC_TRY_COMPILE is called.  TEA has the
 	    # TEA_PATH_NOSPACE to avoid this issue.
-	    CC="\"${MSSDK}/Bin/Win64/cl.exe\" \
-		-I\"${MSSDK}/Include/prerelease\" \
-		-I\"${MSSDK}/Include/Win64/crt\" \
-		-I\"${MSSDK}/Include/Win64/crt/sys\" \
-		-I\"${MSSDK}/Include\""
+	    CC="\"${PATH64}/cl.exe\" -I\"${MSSDK}/Include\" \
+		-I\"${MSSDK}/Include/crt\" -I\"${MSSDK}/Include/crt/sys\""
 	    RC="\"${MSSDK}/bin/rc.exe\""
 	    CFLAGS_DEBUG="-nologo -Zi -Od ${runtime}d"
 	    # Do not use -O2 for Win64 - this has proved buggy in code gen.
 	    CFLAGS_OPTIMIZE="-nologo -O1 ${runtime}"
-	    lflags="-MACHINE:IA64 -LIBPATH:\"${MSSDK}/Lib/IA64\" \
-		-LIBPATH:\"${MSSDK}/Lib/Prerelease/IA64\" -nologo"
-	    LINKBIN="\"${MSSDK}/bin/win64/link.exe\""
+	    lflags="-nologo -MACHINE:${MACHINE} -LIBPATH:\"${MSSDK}/Lib/${MACHINE}\""
+	    LINKBIN="\"${PATH64}/link.exe\""
+	    # Avoid 'unresolved external symbol __security_cookie' errors.
+	    # c.f. http://support.microsoft.com/?id=894573
+	    LIBS="user32.lib advapi32.lib bufferoverflowU.lib"
 	else
 	    RC="rc"
 	    # -Od - no optimization
@@ -1401,9 +1417,9 @@
 	    CFLAGS_OPTIMIZE="-nologo -O2 ${runtime}"
 	    lflags="-nologo"
 	    LINKBIN="link"
+	    LIBS="user32.lib advapi32.lib"
 	fi
 
-	LIBS="user32.lib advapi32.lib"
 	LIBS_GUI="gdi32.lib comdlg32.lib imm32.lib comctl32.lib shell32.lib"
 	SHLIB_LD="${LINKBIN} -dll -incremental:no ${lflags}"
 	# link -lib only works when -lib is the first arg
@@ -1445,7 +1461,7 @@
 #--------------------------------------------------------------------
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1449: checking how to run the C preprocessor" >&5
+echo "configure:1465: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1460,13 +1476,13 @@
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1464 "configure"
+#line 1480 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1470: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1486: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1477,13 +1493,13 @@
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1481 "configure"
+#line 1497 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1487: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1503: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1494,13 +1510,13 @@
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 1498 "configure"
+#line 1514 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1504: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1520: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1526,17 +1542,17 @@
 
 ac_safe=`echo "errno.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for errno.h""... $ac_c" 1>&6
-echo "configure:1530: checking for errno.h" >&5
+echo "configure:1546: checking for errno.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1535 "configure"
+#line 1551 "configure"
 #include "confdefs.h"
 #include <errno.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1540: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1556: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1568,7 +1584,7 @@
 
 
     echo $ac_n "checking for build with symbols""... $ac_c" 1>&6
-echo "configure:1572: checking for build with symbols" >&5
+echo "configure:1588: checking for build with symbols" >&5
     # Check whether --enable-symbols or --disable-symbols was given.
 if test "${enable_symbols+set}" = set; then
   enableval="$enable_symbols"
@@ -1629,7 +1645,7 @@
 
 
     echo $ac_n "checking the location of tclConfig.sh""... $ac_c" 1>&6
-echo "configure:1633: checking the location of tclConfig.sh" >&5
+echo "configure:1649: checking the location of tclConfig.sh" >&5
 
     if test -d ../../tcl8.4$TK_PATCH_LEVEL/win;  then
 	TCL_BIN_DIR_DEFAULT=../../tcl8.4$TK_PATCH_LEVEL/win
@@ -1657,7 +1673,7 @@
 
 
     echo $ac_n "checking for existence of $TCL_BIN_DIR/tclConfig.sh""... $ac_c" 1>&6
-echo "configure:1661: checking for existence of $TCL_BIN_DIR/tclConfig.sh" >&5
+echo "configure:1677: checking for existence of $TCL_BIN_DIR/tclConfig.sh" >&5
 
     if test -f "$TCL_BIN_DIR/tclConfig.sh" ; then
         echo "$ac_t""loading" 1>&6
@@ -1710,14 +1726,14 @@
 
 
     echo $ac_n "checking for tclsh in Tcl build directory""... $ac_c" 1>&6
-echo "configure:1714: checking for tclsh in Tcl build directory" >&5
+echo "configure:1730: checking for tclsh in Tcl build directory" >&5
     BUILD_TCLSH=${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}
     echo "$ac_t""$BUILD_TCLSH" 1>&6
     
 
 
     echo $ac_n "checking for tclsh""... $ac_c" 1>&6
-echo "configure:1721: checking for tclsh" >&5
+echo "configure:1737: checking for tclsh" >&5
 
     if eval "test \"`echo '$''{'ac_cv_path_tclsh'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1814,6 +1830,17 @@
     TK_RES='tk.$(RES)'
 fi
 
+# The wish.exe.manifest requires these
+# TK_WIN_VERSION is the 4 dotted pair Windows version format
+case "$TK_PATCH_LEVEL" in
+     a*) TK_WIN_VERSION="$TK_VERSION.0.`echo $TK_PATCH_LEVEL | tr -d a`" ;;
+     b*) TK_WIN_VERSION="$TK_VERSION.1.`echo $TK_PATCH_LEVEL | tr -d b`" ;;
+     .*) TK_WIN_VERSION="$TK_VERSION.2$TK_PATCH_LEVEL" ;;
+esac
+
+# X86|AMD64|IA64 for manifest
+
+
 
 
 
@@ -2005,7 +2032,7 @@
 
 ac_given_srcdir=$srcdir
 
-trap 'rm -fr `echo "Makefile tkConfig.sh" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+trap 'rm -fr `echo "Makefile tkConfig.sh wish.exe.manifest" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
 EOF
 cat >> $CONFIG_STATUS <<EOF
 
@@ -2066,6 +2093,8 @@
 s%@TCL_DEFS@%$TCL_DEFS%g
 s%@BUILD_TCLSH@%$BUILD_TCLSH%g
 s%@TCLSH_PROG@%$TCLSH_PROG%g
+s%@TK_WIN_VERSION@%$TK_WIN_VERSION%g
+s%@MACHINE@%$MACHINE%g
 s%@TK_VERSION@%$TK_VERSION%g
 s%@TK_MAJOR_VERSION@%$TK_MAJOR_VERSION%g
 s%@TK_MINOR_VERSION@%$TK_MINOR_VERSION%g
@@ -2167,7 +2196,7 @@
 
 cat >> $CONFIG_STATUS <<EOF
 
-CONFIG_FILES=\${CONFIG_FILES-"Makefile tkConfig.sh"}
+CONFIG_FILES=\${CONFIG_FILES-"Makefile tkConfig.sh wish.exe.manifest"}
 EOF
 cat >> $CONFIG_STATUS <<\EOF
 for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
Index: win/configure.in
===================================================================
RCS file: /cvsroot/tktoolkit/tk/win/configure.in,v
retrieving revision 1.49.2.16
diff -u -r1.49.2.16 configure.in
--- win/configure.in	16 Nov 2005 22:07:39 -0000	1.49.2.16
+++ win/configure.in	29 Nov 2005 22:49:29 -0000
@@ -196,6 +196,17 @@
     TK_RES='tk.$(RES)'
 fi
 
+# The wish.exe.manifest requires these
+# TK_WIN_VERSION is the 4 dotted pair Windows version format
+case "$TK_PATCH_LEVEL" in
+     a*) TK_WIN_VERSION="$TK_VERSION.0.`echo $TK_PATCH_LEVEL | tr -d a`" ;;
+     b*) TK_WIN_VERSION="$TK_VERSION.1.`echo $TK_PATCH_LEVEL | tr -d b`" ;;
+     .*) TK_WIN_VERSION="$TK_VERSION.2$TK_PATCH_LEVEL" ;;
+esac
+AC_SUBST(TK_WIN_VERSION)
+# X86|AMD64|IA64 for manifest
+AC_SUBST(MACHINE)
+
 AC_SUBST(TK_VERSION)
 AC_SUBST(TK_MAJOR_VERSION)
 AC_SUBST(TK_MINOR_VERSION)
@@ -275,4 +286,4 @@
 AC_SUBST(TK_CC_SEARCH_FLAGS)
 AC_SUBST(TK_LD_SEARCH_FLAGS)
 
-AC_OUTPUT(Makefile tkConfig.sh)
+AC_OUTPUT([Makefile tkConfig.sh wish.exe.manifest])
Index: win/makefile.vc
===================================================================
RCS file: /cvsroot/tktoolkit/tk/win/makefile.vc,v
retrieving revision 1.67.2.9
diff -u -r1.67.2.9 makefile.vc
--- win/makefile.vc	8 Mar 2005 21:54:01 -0000	1.67.2.9
+++ win/makefile.vc	29 Nov 2005 22:49:29 -0000
@@ -440,6 +440,11 @@
 guilflags = $(lflags) -subsystem:windows
 
 baselibs  = kernel32.lib advapi32.lib user32.lib
+# Avoid 'unresolved external symbol __security_cookie' errors.
+# c.f. http://support.microsoft.com/?id=894573
+!if "$(MACHINE)" == "IA64" || "$(MACHINE)" == "AMD64"
+baselibs   = $(baselibs) bufferoverflowU.lib
+!endif
 guilibs	  = $(baselibs) shell32.lib gdi32.lib comdlg32.lib winspool.lib imm32.lib comctl32.lib
 
 
@@ -723,6 +728,21 @@
 # Dedependency rules
 #---------------------------------------------------------------------
 
+$(TMP_DIR)\wish.exe.manifest: $(WINDIR)\wish.exe.manifest.in
+	$(TCLSH) <<
+puts "Creating wish.exe.manifest ..."
+set f [open "$(WINDIR:\=/)/wish.exe.manifest.in" r]
+set data [read $$f]
+close $$f
+set f [open "$(TMPDIR:\=/)/wish.exe.manifest" w]
+set mach "$(MACHINE)"
+if {[regexp -nocase {^(|IX86)$$} $$mach]} { set mach "X86" }
+# Exact version is not critical in the manifest
+set winver "$(DOTVERSION).0.0"
+puts $$f -nonewline [string map [list @MACHINE@ $$mach @TK_WIN_VERSION@	$$winver] $$data]
+close $$f
+<<
+
 $(TMP_DIR)\tk.res: \
     $(RCDIR)\buttons.bmp \
     $(RCDIR)\cursor*.cur \
@@ -794,7 +814,7 @@
 $<
 <<
 
-{$(RCDIR)}.rc{$(TMP_DIR)}.res:
+{$(RCDIR)}.rc{$(TMP_DIR)}.res: $(TMP_DIR)\wish.exe.manifest
 	$(rc32) -fo $@ -r -i "$(GENERICDIR)" $(TCL_INCLUDES) \
 !if $(DEBUG)
 		-d DEBUG \
Index: win/tcl.m4
===================================================================
RCS file: /cvsroot/tktoolkit/tk/win/tcl.m4,v
retrieving revision 1.31.2.4
diff -u -r1.31.2.4 tcl.m4
--- win/tcl.m4	25 Jul 2005 01:33:54 -0000	1.31.2.4
+++ win/tcl.m4	29 Nov 2005 22:49:29 -0000
@@ -382,7 +382,7 @@
     # Step 0: Enable 64 bit support?
 
     AC_MSG_CHECKING([if 64bit support is requested])
-    AC_ARG_ENABLE(64bit,[  --enable-64bit          enable 64bit support (where applicable)], [do64bit=$enableval], [do64bit=no])
+    AC_ARG_ENABLE(64bit,[  --enable-64bit          enable 64bit support (where applicable = amd64|ia64)], [do64bit=$enableval], [do64bit=no])
     AC_MSG_RESULT($do64bit)
 
     # Set some defaults (may get changed below)
@@ -427,7 +427,7 @@
 
     AC_MSG_CHECKING([compiler flags])
     if test "${GCC}" = "yes" ; then
-	if test "$do64bit" = "yes" ; then
+	if test "$do64bit" != "no" ; then
 	    AC_MSG_WARN("64bit mode not supported with GCC on Windows")
 	fi
 	SHLIB_LD=""
@@ -567,34 +567,50 @@
 
 	# This is a 2-stage check to make sure we have the 64-bit SDK
 	# We have to know where the SDK is installed.
-	if test "$do64bit" = "yes" ; then
+	# This magic is based on MS Platform SDK for Win2003 SP1 - hobbs
+	# MACHINE is IX86 for LINK, but this is used by the manifest,
+	# which requires x86|amd64|ia64.
+	MACHINE="X86"
+	if test "$do64bit" != "no" ; then
 	    if test "x${MSSDK}x" = "xx" ; then
-		MSSDK="C:/Progra~1/Microsoft SDK"
+		MSSDK="C:/Progra~1/Microsoft Platform SDK"
 	    fi
 	    MSSDK=`echo "$MSSDK" | sed -e 's!\\\!/!g'`
-	    if test ! -d "${MSSDK}/bin/win64" ; then
-		AC_MSG_WARN("could not find 64-bit SDK to enable 64bit mode")
+	    PATH64=""
+	    case "$do64bit" in
+	      amd64|x64|yes)
+		MACHINE="AMD64" ; # assume AMD64 as default 64-bit build
+		PATH64="${MSSDK}/Bin/Win64/x86/AMD64"
+		;;
+	      ia64)
+		MACHINE="IA64"
+		PATH64="${MSSDK}/Bin/Win64"
+		;;
+	    esac
+	    if test ! -d "${PATH64}" ; then
+		AC_MSG_WARN([Could not find 64-bit $MACHINE SDK to enable 64bit mode])
+		AC_MSG_WARN([Ensure latest Platform SDK is installed])
 		do64bit="no"
+	    else
+		AC_MSG_RESULT([   Using 64-bit $MACHINE mode])
 	    fi
 	fi
 
-	if test "$do64bit" = "yes" ; then
-	    # All this magic is necessary for the Win64 SDK RC1 - hobbs
+	if test "$do64bit" != "no" ; then
 	    # The space-based-path will work for the Makefile, but will
 	    # not work if AC_TRY_COMPILE is called.  TEA has the
 	    # TEA_PATH_NOSPACE to avoid this issue.
-	    CC="\"${MSSDK}/Bin/Win64/cl.exe\" \
-		-I\"${MSSDK}/Include/prerelease\" \
-		-I\"${MSSDK}/Include/Win64/crt\" \
-		-I\"${MSSDK}/Include/Win64/crt/sys\" \
-		-I\"${MSSDK}/Include\""
+	    CC="\"${PATH64}/cl.exe\" -I\"${MSSDK}/Include\" \
+		-I\"${MSSDK}/Include/crt\" -I\"${MSSDK}/Include/crt/sys\""
 	    RC="\"${MSSDK}/bin/rc.exe\""
 	    CFLAGS_DEBUG="-nologo -Zi -Od ${runtime}d"
 	    # Do not use -O2 for Win64 - this has proved buggy in code gen.
 	    CFLAGS_OPTIMIZE="-nologo -O1 ${runtime}"
-	    lflags="-MACHINE:IA64 -LIBPATH:\"${MSSDK}/Lib/IA64\" \
-		-LIBPATH:\"${MSSDK}/Lib/Prerelease/IA64\" -nologo"
-	    LINKBIN="\"${MSSDK}/bin/win64/link.exe\""
+	    lflags="-nologo -MACHINE:${MACHINE} -LIBPATH:\"${MSSDK}/Lib/${MACHINE}\""
+	    LINKBIN="\"${PATH64}/link.exe\""
+	    # Avoid 'unresolved external symbol __security_cookie' errors.
+	    # c.f. http://support.microsoft.com/?id=894573
+	    LIBS="user32.lib advapi32.lib bufferoverflowU.lib"
 	else
 	    RC="rc"
 	    # -Od - no optimization
@@ -604,9 +620,9 @@
 	    CFLAGS_OPTIMIZE="-nologo -O2 ${runtime}"
 	    lflags="-nologo"
 	    LINKBIN="link"
+	    LIBS="user32.lib advapi32.lib"
 	fi
 
-	LIBS="user32.lib advapi32.lib"
 	LIBS_GUI="gdi32.lib comdlg32.lib imm32.lib comctl32.lib shell32.lib"
 	SHLIB_LD="${LINKBIN} -dll -incremental:no ${lflags}"
 	# link -lib only works when -lib is the first arg
Index: win/wish.exe.manifest.in
===================================================================
RCS file: win/wish.exe.manifest.in
diff -N win/wish.exe.manifest.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ win/wish.exe.manifest.in	29 Nov 2005 22:49:29 -0000
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+<assemblyIdentity
+	version="@TK_WIN_VERSION@"
+	processorArchitecture="@MACHINE@"
+	name="Tcl.Tk.wish"
+	type="win32"
+/>
+<description>Tcl/Tk windowing shell (wish)</description>
+<dependency>
+<dependentAssembly>
+<assemblyIdentity
+	type="win32"
+	name="Microsoft.Windows.Common-Controls"
+	version="6.0.0.0"
+	processorArchitecture="@MACHINE@"
+	publicKeyToken="6595b64144ccf1df"
+	language="*"
+/>
+</dependentAssembly>
+</dependency>
+</assembly>
Index: win/rc/wish.exe.manifest
===================================================================
RCS file: win/rc/wish.exe.manifest
diff -N win/rc/wish.exe.manifest
--- win/rc/wish.exe.manifest	10 Nov 2001 00:58:51 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
-<assemblyIdentity
-	version="8.4.0.4"
-	processorArchitecture="X86"
-	name="Tcl.Tk.wish"
-	type="win32"
-/>
-<description>Tcl/Tk windowing shell (wish)</description>
-<dependency>
-<dependentAssembly>
-<assemblyIdentity
-	type="win32"
-	name="Microsoft.Windows.Common-Controls"
-	version="6.0.0.0"
-	processorArchitecture="X86"
-	publicKeyToken="6595b64144ccf1df"
-	language="*"
-/>
-</dependentAssembly>
-</dependency>
-</assembly>