diff --minimal --unified=5 --expand-tabs --recursive --new-file openssl-0.9.8/Configure openssl-0.9.8.my/Configure
--- openssl-0.9.8/Configure	Tue Jul  5 01:24:11 2005
+++ openssl-0.9.8.my/Configure	Sun Jul 10 17:58:41 2005
@@ -905,11 +905,11 @@
         }
 
 
 my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds;
 
-$IsMK1MF=1 if ($target eq "mingw" && $^O ne "cygwin");
+#$IsMK1MF=1 if ($target eq "mingw" && $^O ne "cygwin");
 
 $exe_ext=".exe" if ($target eq "Cygwin" || $target eq "DJGPP" || $target eq "mingw");
 $exe_ext=".pm"  if ($target =~ /vos/);
 $openssldir="/usr/local/ssl" if ($openssldir eq "" and $prefix eq "");
 $prefix=$openssldir if $prefix eq "";
diff --minimal --unified=5 --expand-tabs --recursive --new-file openssl-0.9.8/util/mklink.pl openssl-0.9.8.my/util/mklink.pl
--- openssl-0.9.8/util/mklink.pl	Mon Dec 20 14:44:34 2004
+++ openssl-0.9.8.my/util/mklink.pl	Sun Jul 10 17:58:53 2005
@@ -46,11 +46,16 @@
 }
 
 my $to = join('/', @to_path);
 
 my $file;
-$symlink_exists=eval {symlink("",""); 1};
+#
+# XXX: MinGW Perl seems to be reporting no error using symlink(),
+# but it doesn't appear to actually do anything.
+# $symlink_exists=eval {symlink("",""); 1};
+#
+$symlink_exists=0;
 foreach $file (@files) {
     my $err = "";
     if ($symlink_exists) {
         unlink "$from/$file";
         symlink("$to/$file", "$from/$file") or $err = " [$!]";
diff --minimal --unified=5 --expand-tabs --recursive --new-file openssl-0.9.8/engines/e_aep.c openssl-0.9.8.my/engines/e_aep.c
--- openssl-0.9.8/engines/e_aep.c	Fri Jun 17 23:27:28 2005
+++ openssl-0.9.8.my/engines/e_aep.c	Tue Jul 12 13:32:19 2005
@@ -60,11 +60,13 @@
 #if !defined(OPENSSL_SYS_MSDOS) || defined(__DJGPP__)
 #include <sys/types.h>
 #include <unistd.h>
 #else
 #include <process.h>
+#if !defined(OPENSSL_SYSNAME_MINGW32)
 typedef int pid_t;
+#endif
 #endif
 
 #include <openssl/crypto.h>
 #include <openssl/dso.h>
 #include <openssl/engine.h>
