diff -ur Curses-1.01/Curses.c Curses-1.01-w32/Curses.c
--- Curses-1.01/Curses.c	Fri Jun 06 01:40:50 1997
+++ Curses-1.01-w32/Curses.c	Thu Jun 05 23:39:54 1997
@@ -13,6 +13,10 @@
 #include "perl.h"
 #include "XSUB.h"
 
+#ifdef __PDCURSES__
+#undef SP
+#endif
+
 #define C_XS_VERSION  1.01
 
 typedef WINDOW *Curses;
diff -ur Curses-1.01/Makefile.PL Curses-1.01-w32/Makefile.PL
--- Curses-1.01/Makefile.PL	Fri Jun 06 01:40:50 1997
+++ Curses-1.01-w32/Makefile.PL	Fri Jun 06 02:34:52 1997
@@ -85,6 +85,11 @@
     'default' => 'sysv'
   },
   'vms'       => [ ''                       => 'sys$library:vaxcurse.olb' ],
+  'MSWin32'   =>
+  { 'borland' => [ '-w- -Id:\bc5\include'   => '-Ld:\bc5\lib pdcurses.lib' ],
+    'visualc' => [ ''                       => 'pdcurses' ],
+    'default' => 'visualc'
+  },
   ''          => undef
 };
 
@@ -132,9 +137,11 @@
 	    exit 1;
 	}
 
-	my $lns = $Config{'lns'} || "/bin/cp";
+	my $lns = $Config{'lns'}
+		  || ($osname eq 'MSWin32' && "perl -MExtUtils::Command -e cp")
+		  || "/bin/cp";
 	my $sys = "$lns $source.h c-config.h";
-	if (not $sys =~ m!([^\w/. -])!) {
+	if (not $sys =~ m!([^\\:\w/. -])!) {
 	    system $sys;
 	}
 	else {
diff -ur Curses-1.01/test.syms Curses-1.01-w32/test.syms
--- Curses-1.01/test.syms	Fri Jun 06 01:40:50 1997
+++ Curses-1.01-w32/test.syms	Fri Jun 06 01:52:38 1997
@@ -196,6 +196,9 @@
     if ($Config{'osname'} =~ /VMS/) {
 	$cmd = "$cc /DEFINE=SYM=\"$_[0]\" $inc testsym.c $ex";
 #	$cmd .= " /nowarnings" unless $opt_v;
+    } elsif ($^O eq 'MSWin32') {
+	$cmd = "$cc -DSYM=\"$_[0]\" $inc testsym.c $ex";
+	$cmd .= " >nul 2>&1" unless $opt_v;
     } else {
 	$cmd = "$cc -DSYM=\"$_[0]\" $inc -o testsym testsym.c $ex";
 	$cmd .= " >/dev/null 2>&1" unless $opt_v;
@@ -226,6 +229,9 @@
     if ($Config{'osname'} =~ /VMS/) {
 	$cmd = "$cc /DEFINE=SYM=\"$_[0]\" $inc testinvd.c $ex";
 #	$cmd .= " /nowarnings" unless $opt_v;
+    } elsif ($^O eq 'MSWin32') {
+	$cmd = "$cc -DSYM=\"$_[0]\" $inc testinvd.c $ex";
+	$cmd .= " >nul 2>&1" unless $opt_v;
     } else {
 	$cmd = "$cc -DSYM=\"$_[0]\" $inc -o testinvd testinvd.c $ex";
 	$cmd .= " >/dev/null 2>&1" unless $opt_v;
--- /dev/null	Fri Jun 06 02:38:16 1997
+++ Curses-1.01-w32/hints/c-MSWin32.borland.h	Fri Jun 06 02:37:38 1997
@@ -0,0 +1,27 @@
+/* Curses config file for Perl on Win32/PDCurses/BorlandC */
+
+#undef SP	/* in case this gets pulled in after perl.h */
+#include <pdcurses.h>
+
+/* Change each #undef below to #define if the answer to the question
+ * beside it is "yes".
+ */
+#define  C_LONGNAME	/* Does longname() exist?		*/
+#define  C_LONG0ARGS	/* Does longname() take 0 arguments?	*/
+#undef  C_LONG2ARGS	/* Does longname() take 2 arguments?	*/
+
+#define  C_TOUCHLINE	/* Does touchline() exist?		*/
+#define  C_TOUCH3ARGS	/* Does touchline() take 3 arguments?	*/
+#undef  C_TOUCH4ARGS	/* Does touchline() take 4 arguments?	*/
+
+/* Some Curses include files have problems interacting with perl,
+ * some are missing basic functionality, and some just plain do
+ * weird things.  Unfortunately, there's no way to anticipate all
+ * of the problems the curses include file + "perl.h" might create.
+ *
+ * If you find that you can't compile Curses.c because of these
+ * conflicts, you should insert C code before and after the "include"
+ * file above to try and fix the problems.  "See c-sunos.sysv.h"
+ * for an example of this.
+ */
+
--- /dev/null	Fri Jun 06 02:38:16 1997
+++ Curses-1.01-w32/hints/c-MSWin32.visualc.h	Fri Jun 06 02:38:16 1997
@@ -0,0 +1,27 @@
+/* Curses config file for Perl on Win32/PDCurses/VisualC */
+
+#undef SP	/* in case this gets pulled in after perl.h */
+#include <pdcurses.h>
+
+/* Change each #undef below to #define if the answer to the question
+ * beside it is "yes".
+ */
+#define  C_LONGNAME	/* Does longname() exist?		*/
+#define  C_LONG0ARGS	/* Does longname() take 0 arguments?	*/
+#undef  C_LONG2ARGS	/* Does longname() take 2 arguments?	*/
+
+#define  C_TOUCHLINE	/* Does touchline() exist?		*/
+#define  C_TOUCH3ARGS	/* Does touchline() take 3 arguments?	*/
+#undef  C_TOUCH4ARGS	/* Does touchline() take 4 arguments?	*/
+
+/* Some Curses include files have problems interacting with perl,
+ * some are missing basic functionality, and some just plain do
+ * weird things.  Unfortunately, there's no way to anticipate all
+ * of the problems the curses include file + "perl.h" might create.
+ *
+ * If you find that you can't compile Curses.c because of these
+ * conflicts, you should insert C code before and after the "include"
+ * file above to try and fix the problems.  "See c-sunos.sysv.h"
+ * for an example of this.
+ */
+
