--- misc/xmlsec1-1.2.14/configure	2009-09-29 15:55:33.269924586 +0200
+++ misc/build/xmlsec1-1.2.14/configure	2009-09-29 15:55:08.838176411 +0200
@@ -13184,7 +13184,9 @@
 	done
 
 	for dir in $ac_nss_lib_dir ; do
-	    if test -f $dir/libnspr4.so -o -f $dir/libnspr4.dylib ; then
+            case $host_os in
+            cygwin* | mingw* | pw32*)
+    	      if test -f $dir/libnspr4.$libext ; then
 		        	if test "z$dir" = "z/usr/lib" ; then
             	    NSPR_LIBS="$NSPR_LIBS_LIST"
     		else
@@ -13197,6 +13199,25 @@
 		NSPR_LIBS_FOUND="yes"
 		break
 	    fi
+              ;;
+
+            *)
+
+              if test -f $dir/libnspr4.so -o -f $dir/libnspr4.dylib ; then
+		        	if test "z$dir" = "z/usr/lib" ; then
+            	    NSPR_LIBS="$NSPR_LIBS_LIST"
+    		else
+    		    if test "z$with_gnu_ld" = "zyes" ; then
+    			NSPR_LIBS="-Wl,-rpath-link -Wl,$dir -L$dir $NSPR_LIBS_LIST"
+    		    else
+    			NSPR_LIBS="-L$dir $NSPR_LIBS_LIST"
+		    fi
+		fi
+		NSPR_LIBS_FOUND="yes"
+		break
+	    fi
+              ;;
+            esac
 	done
     fi
 
@@ -13266,6 +13287,24 @@
         done
 
         for dir in $ac_nss_lib_dir ; do
+            case $host_os in
+            cygwin* | mingw* | pw32*)
+    	      if test -f $dir/libnss3.$libext ; then
+        	    		if test "z$dir" = "z/usr/lib" ; then
+        	    NSS_LIBS="$NSS_LIBS_LIST"
+                else
+            	    if test "z$with_gnu_ld" = "zyes" ; then
+    			NSS_LIBS="-Wl,-rpath-link -Wl,$dir -L$dir $NSS_LIBS_LIST"
+            	    else
+        		NSS_LIBS="-L$dir $NSS_LIBS_LIST"
+		    fi
+		fi
+    		NSS_LIBS_FOUND="yes"
+    		break
+	    fi
+              ;;
+
+            *)
             if test -f $dir/libnss3.so -o -f $dir/libnss3.dylib ; then
         	    		if test "z$dir" = "z/usr/lib" ; then
         	    NSS_LIBS="$NSS_LIBS_LIST"
@@ -13279,6 +13318,8 @@
     		NSS_LIBS_FOUND="yes"
     		break
 	    fi
+              ;;
+            esac
 	done
     fi
 
@@ -13684,7 +13725,7 @@
 $as_echo "$MSCRYPTO_ENABLE" >&6; }
 else
     LIBS_SAVE="$LIBS"
-    LIBS="$LIBS -lcrypt32"
+    LIBS="$LIBS ${PSDK_HOME}/lib/crypt32.lib"
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mscrypto libraries" >&5
 $as_echo_n "checking for mscrypto libraries... " >&6; }
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13711,13 +13752,7 @@
     XMLSEC_NO_MSCRYPTO="0"
 
     MSCRYPTO_CFLAGS="$MSCRYPTO_CFLAGS -DXMLSEC_CRYPTO_MSCRYPTO=1"
-    case $host in
-	*-*-mingw*)
-						MSCRYPTO_LIBS='-Wl,$(srcdir)/mingw-crypt32.def';;
-	*)
-		MSCRYPTO_LIBS="-lcrypt32";;
-    esac
-
+    MSCRYPTO_LIBS="${PSDK_HOME}/lib/crypt32.lib"
         if test "z$XMLSEC_CRYPTO" = "z" ; then
 	XMLSEC_CRYPTO="mscrypto"
     	XMLSEC_CRYPTO_LIB="$MSCRYPTO_CRYPTO_LIB"
--- misc/xmlsec1-1.2.14/configure.in	2009-09-29 15:55:33.282288142 +0200
+++ misc/build/xmlsec1-1.2.14/configure.in	2009-09-29 15:49:39.614223428 +0200
@@ -671,7 +671,9 @@
 	done
 	
 	for dir in $ac_nss_lib_dir ; do
-	    if test -f $dir/libnspr4.so -o -f $dir/libnspr4.dylib ; then
+            case $host_os in
+            cygwin* | mingw* | pw32*)
+    	      if test -f $dir/libnspr4.$libext ; then
 		dnl do not add -L/usr/lib because compiler does it anyway
         	if test "z$dir" = "z/usr/lib" ; then
             	    NSPR_LIBS="$NSPR_LIBS_LIST"
@@ -685,6 +687,26 @@
 		NSPR_LIBS_FOUND="yes"
 		break
 	    fi
+              ;;
+
+            *)
+
+              if test -f $dir/libnspr4.so -o -f $dir/libnspr4.dylib ; then
+		dnl do not add -L/usr/lib because compiler does it anyway
+        	if test "z$dir" = "z/usr/lib" ; then
+            	    NSPR_LIBS="$NSPR_LIBS_LIST"
+    		else
+    		    if test "z$with_gnu_ld" = "zyes" ; then
+    			NSPR_LIBS="-Wl,-rpath-link -Wl,$dir -L$dir $NSPR_LIBS_LIST"
+    		    else
+    			NSPR_LIBS="-L$dir $NSPR_LIBS_LIST"
+		    fi
+		fi
+		NSPR_LIBS_FOUND="yes"
+		break
+	    fi
+              ;;
+            esac
 	done
     fi
 
@@ -742,6 +764,25 @@
         done
        
         for dir in $ac_nss_lib_dir ; do
+            case $host_os in
+            cygwin* | mingw* | pw32*)
+    	      if test -f $dir/libnss3.$libext ; then
+        	dnl do not add -L/usr/lib because compiler does it anyway
+    		if test "z$dir" = "z/usr/lib" ; then
+        	    NSS_LIBS="$NSS_LIBS_LIST"
+                else
+            	    if test "z$with_gnu_ld" = "zyes" ; then
+    			NSS_LIBS="-Wl,-rpath-link -Wl,$dir -L$dir $NSS_LIBS_LIST"
+            	    else
+        		NSS_LIBS="-L$dir $NSS_LIBS_LIST"
+		    fi
+		fi
+    		NSS_LIBS_FOUND="yes"
+    		break
+	    fi
+              ;;
+
+            *)
             if test -f $dir/libnss3.so -o -f $dir/libnss3.dylib ; then
         	dnl do not add -L/usr/lib because compiler does it anyway
     		if test "z$dir" = "z/usr/lib" ; then
@@ -756,6 +797,8 @@
     		NSS_LIBS_FOUND="yes"
     		break
 	    fi
+              ;;
+            esac
 	done
     fi
 
@@ -926,7 +969,7 @@
 dnl cannot detect __stdcall functions
 dnl    AC_CHECK_LIB(crypt32, CertOpenStore, ....
     LIBS_SAVE="$LIBS"
-    LIBS="$LIBS -lcrypt32"
+    LIBS="$LIBS ${PSDK_HOME}/lib/crypt32.lib"
     AC_MSG_CHECKING(for mscrypto libraries)
     AC_LINK_IFELSE([
 	#include <windows.h>
@@ -943,15 +986,7 @@
     XMLSEC_NO_MSCRYPTO="0"
 
     MSCRYPTO_CFLAGS="$MSCRYPTO_CFLAGS -DXMLSEC_CRYPTO_MSCRYPTO=1"
-    case $host in
-	*-*-mingw*)
-		dnl since mingw crypt32 library is limited
-		dnl we use own def-file
-		MSCRYPTO_LIBS='-Wl,$(srcdir)/mingw-crypt32.def';;
-	*)
-		MSCRYPTO_LIBS="-lcrypt32";;
-    esac
-
+    MSCRYPTO_LIBS="${PSDK_HOME}/lib/crypt32.lib"
     dnl first crypto library is default one
     if test "z$XMLSEC_CRYPTO" = "z" ; then
 	XMLSEC_CRYPTO="mscrypto"
--- misc/xmlsec1-1.2.14/ltmain.sh	2009-06-25 22:53:19.000000000 +0200
+++ misc/build/xmlsec1-1.2.14/ltmain.sh	2009-09-29 15:49:39.628349554 +0200
@@ -4868,6 +4868,11 @@
 	fi
 	;;
 
+      *.lib)
+	deplibs="$deplibs $arg"
+	continue
+	;;
+
       *.$libext)
 	# An archive.
 	deplibs="$deplibs $arg"
@@ -5213,6 +5218,10 @@
 	  continue
 	  ;;
 	*.la) lib="$deplib" ;;
+	*.lib)
+	  deplibs="$deplib $deplibs"
+	  continue
+	  ;;
 	*.$libext)
 	  if test "$pass" = conv; then
 	    deplibs="$deplib $deplibs"
--- misc/xmlsec1-1.2.14/src/nss/keywrapers.c	2009-09-29 15:55:33.430875248 +0200
+++ misc/build/xmlsec1-1.2.14/src/nss/keywrapers.c	2009-09-29 15:49:39.749963247 +0200
@@ -1126,6 +1126,7 @@
     NULL,					/* void* reserved1; */
 };
 
+#ifndef __MINGW32__
 /** 
  * xmlSecNssTransformKWAes128GetKlass:
  *
@@ -1160,6 +1161,7 @@
 xmlSecNssTransformKWAes256GetKlass(void) {
     return(&xmlSecNssKWAes256Klass);
 }
+#endif /* __MINGW32__ */
 
 #endif /* XMLSEC_NO_AES */
 
@@ -1197,6 +1199,7 @@
     NULL,					/* void* reserved1; */
 };
 
+#ifndef __MINGW32__
 /** 
  * xmlSecNssTransformKWDes3GetKlass:
  * 
@@ -1208,6 +1211,7 @@
 xmlSecNssTransformKWDes3GetKlass(void) {
     return(&xmlSecNssKWDes3Klass);
 }
+#endif /* __MINGW32__ */
 
 #endif /* XMLSEC_NO_DES */