diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h
index aa9a14f9d5d716ac8b66167ce7979f727e293055..4a7cf05e5c5ca85de1099674e7ee10ae0ac13c0d 100644
--- a/src/include/nodes/nodes.h
+++ b/src/include/nodes/nodes.h
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/nodes/nodes.h,v 1.160 2004/08/29 04:13:07 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/nodes/nodes.h,v 1.161 2004/09/14 03:21:25 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -335,7 +335,7 @@ typedef struct Node
  *	Fortunately, this macro isn't recursive so we just define
  *	a global variable for this purpose.
  */
-extern Node *newNodeMacroHolder;
+extern DLLIMPORT Node *newNodeMacroHolder;
 
 #define newNode(size, tag) \
 ( \
diff --git a/src/pl/tcl/Makefile b/src/pl/tcl/Makefile
index a10de622a829a43b25db563459678de83ebdc4e8..9c9ead94312b357ade976d6a1c63004b50204ed8 100644
--- a/src/pl/tcl/Makefile
+++ b/src/pl/tcl/Makefile
@@ -2,7 +2,7 @@
 #
 # Makefile for the pltcl shared object
 #
-# $PostgreSQL: pgsql/src/pl/tcl/Makefile,v 1.42 2004/01/21 19:04:11 tgl Exp $
+# $PostgreSQL: pgsql/src/pl/tcl/Makefile,v 1.43 2004/09/14 03:21:27 tgl Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -29,7 +29,11 @@ endif
 endif
 
 
+ifneq ($(PORTNAME), win32)
 SHLIB_LINK = $(BE_DLLLIBS) $(TCL_LIB_SPEC) $(TCL_LIBS) -lc
+else
+SHLIB_LINK = $(TCL_LIB_SPEC) $(BE_DLLLIBS)
+endif
 
 NAME = pltcl
 SO_MAJOR_VERSION = 2
diff --git a/src/pl/tcl/pltcl.c b/src/pl/tcl/pltcl.c
index f344d4ad676b32d213932d99745232c529ec2f6b..da1cee09adf6d7fe0af49b2475f52f42c6f9a619 100644
--- a/src/pl/tcl/pltcl.c
+++ b/src/pl/tcl/pltcl.c
@@ -31,7 +31,7 @@
  *	  ENHANCEMENTS, OR MODIFICATIONS.
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/pl/tcl/pltcl.c,v 1.92 2004/09/13 20:09:39 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/pl/tcl/pltcl.c,v 1.93 2004/09/14 03:21:27 tgl Exp $
  *
  **********************************************************************/
 
@@ -233,6 +233,11 @@ pltcl_init(void)
 	if (pltcl_pm_init_done)
 		return;
 
+#ifdef WIN32
+	/* Required on win32 to prevent error loading init.tcl */
+	Tcl_FindExecutable("");
+#endif
+
 	/************************************************************
 	 * Create the dummy hold interpreter to prevent close of
 	 * stdout and stderr on DeleteInterp