diff -ur tcl8.4.4/win/makefile.bc tcl/tcl8.4.4/win/makefile.bc
--- tcl8.4.4/win/makefile.bc	2003-07-21 15:29:26.000000000 +0200
+++ tcl/tcl8.4.4/win/makefile.bc	2003-09-24 13:51:15.966750000 +0200
@@ -281,7 +281,8 @@
 
 INCLUDEPATH	= $(include32) $(TCL_INCLUDES)
 
-CFLAGS	= $(cdebug) $(cbase) $(INCLUDEPATH) $(WARNINGS) -D$(SYSDEFINES)
+CFLAGS	= $(cdebug) $(cbase) $(INCLUDEPATH) $(WARNINGS) \
+	-DTCL_PIPE_DLL=\"$(TCLPIPEDLLNAME)\" -D$(SYSDEFINES)
 TCL_CFLAGS	= $(CFLAGS) $(TCL_DEFINES)
 CONS_CFLAGS	= $(CFLAGS) $(TCL_DEFINES) $(ccons)
 
@@ -321,10 +322,10 @@
 	$(TCLTEST) $(ROOT)/tests/all.tcl
 
 setup:
-	@if not exist $(OUT_DIR)\nul mkdir $(OUT_DIR) &\
-		echo *** Created directory '$(OUT_DIR)'
-	@if not exist $(TMP_DIR)\nul mkdir $(TMP_DIR) &\
-		echo *** Created directory '$(TMP_DIR)'
+	@if not exist $(OUTDIR)\nul mkdir $(OUTDIR) &\
+		echo *** Created directory '$(OUTDIR)'
+	@if not exist $(TMPDIR)\nul mkdir $(TMPDIR) &\
+		echo *** Created directory '$(TMPDIR)'
 
 
 $(TCLLIB): $(TCLDLL)
diff -ur tcl8.4.4/win/tclWinFile.c tcl/tcl8.4.4/win/tclWinFile.c
--- tcl8.4.4/win/tclWinFile.c	2003-07-16 17:16:04.000000000 +0200
+++ tcl/tcl8.4.4/win/tclWinFile.c	2003-09-24 13:41:43.076125000 +0200
@@ -516,8 +517,9 @@
 					->SymbolicLinkReparseBuffer.PathBuffer);
 		    if (drive != -1) {
 			char driveSpec[3] = {
-			    drive, ':', '\0'
+			    '\0', ':', '\0'
 			};
+			driveSpec[0] = drive;
 			retVal = Tcl_NewStringObj(driveSpec,2);
 			Tcl_IncrRefCount(retVal);
 			return retVal;
@@ -2351,7 +2353,7 @@
      * Windows uses a slightly different structure name and, possibly,
      * contents, so we have to copy the information over
      */
-    struct _utimbuf buf;
+    struct utimbuf buf;
     
     buf.actime = tval->actime;
     buf.modtime = tval->modtime;
