diff --git a/src/modules/Mysql/configure.in b/src/modules/Mysql/configure.in
index 25eb657b365a0659c4eaba3a3c6e698245f9ca80..99c2eee07599d56caa3fdf5318fa45ac431fa419 100644
--- a/src/modules/Mysql/configure.in
+++ b/src/modules/Mysql/configure.in
@@ -1,5 +1,5 @@
 #
-# $Id: configure.in,v 1.4 1998/07/02 15:08:26 grubba Exp $
+# $Id: configure.in,v 1.5 1998/09/01 17:01:04 hubbe Exp $
 #
 # Configure script for the mysql-module
 #
@@ -71,7 +71,7 @@ if test x$with_mysql = xyes; then
 
   # Header file
 
-  AC_CHECK_HEADERS(mysql.h mysql/mysql.h)
+  AC_CHECK_HEADERS(winsock.h mysql.h mysql/mysql.h)
 
   # Mysql libs
 
@@ -146,15 +146,50 @@ if test x$with_mysql = xyes; then
   # Try a couple of mysqlclient libs
   # in order of age, newest first.
 
-  AC_CHECK_LIB(mysqlclient, mysql_connect, [
+define([AC_CHECK_SQLLIB],
+[
+AC_MSG_CHECKING(for mysql_connect in $1)
+AC_CACHE_VAL(ac_cv_pike_lib_$1_mysql_connect,
+[
+  ac_save_LIBS="$LIBS"
+LIBS="-l$1 $LIBS"
+  AC_TRY_LINK(
+[
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+
+#ifdef HAVE_MYSQL_H
+#include <mysql.h>
+#else
+#ifdef HAVE_MYSQL_MYSQL_H
+#include <mysql/mysql.h>
+#endif
+#endif
+],[
+  mysql_connect(0,0,0,0);
+],ac_cv_pike_lib_$1_mysql_connect=yes,ac_cv_pike_lib_$1_mysql_connect=no)
+LIBS="$ac_save_LIBS"
+])
+
+if test "x$ac_cv_pike_lib_$1_mysql_connect" = xyes ; then
+  AC_MSG_RESULT(yes)
+  $2
+else
+  AC_MSG_RESULT(no)
+  $3
+fi
+])
+
+  AC_CHECK_SQLLIB(mysqlclient, [
     LIBS="-lmysqlclient $LIBS"
     MYSQL_LIBS="-lmysqlclient ${MYSQL_LIBS}"
   ], [ 
-    AC_CHECK_LIB(mysqllib, mysql_connect, [
+    AC_CHECK_SQLLIB(mysqllib, [
       LIBS="-lmysqllib $LIBS"
       MYSQL_LIBS="-lmysqllib ${MYSQL_LIBS}"
     ], [
-      AC_CHECK_LIB(mysql, mysql_connect, [
+      AC_CHECK_SQLLIB(mysql, [
 	LIBS="-lmysql $LIBS"
 	MYSQL_LIBS="-lmysql ${MYSQL_LIBS}"
       ], [ pike_cv_mysql="no" ])
diff --git a/src/modules/Mysql/mysql.c b/src/modules/Mysql/mysql.c
index 2f5dac02ed71f0e83dc4e9c97e9638c2f8921636..5f91ba545e4d07d4398cdba2e41d820c58fc72d7 100644
--- a/src/modules/Mysql/mysql.c
+++ b/src/modules/Mysql/mysql.c
@@ -1,5 +1,5 @@
 /*
- * $Id: mysql.c,v 1.23 1998/07/04 16:59:32 grubba Exp $
+ * $Id: mysql.c,v 1.24 1998/09/01 17:01:04 hubbe Exp $
  *
  * SQL database functionality for Pike
  *
@@ -19,6 +19,10 @@
  * Includes
  */
 
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+
 /* From the mysql-dist */
 /* Workaround for versions prior to 3.20.0 not beeing protected for
  * multiple inclusion.
@@ -75,7 +79,7 @@ typedef struct dynamic_buffer_s dynamic_buffer;
  * Globals
  */
 
-RCSID("$Id: mysql.c,v 1.23 1998/07/04 16:59:32 grubba Exp $");
+RCSID("$Id: mysql.c,v 1.24 1998/09/01 17:01:04 hubbe Exp $");
 
 /*
 **! module Mysql
@@ -87,7 +91,7 @@ RCSID("$Id: mysql.c,v 1.23 1998/07/04 16:59:32 grubba Exp $");
 **! see also: Mysql.mysql, Mysql.result, Sql.sql
 **!
 **! note
-**!	$Id: mysql.c,v 1.23 1998/07/04 16:59:32 grubba Exp $
+**!	$Id: mysql.c,v 1.24 1998/09/01 17:01:04 hubbe Exp $
 **! class mysql
 **!
 **!	Mysql.mysql is a pre-compiled Pike program. It enables
diff --git a/src/modules/Mysql/precompiled_mysql.h b/src/modules/Mysql/precompiled_mysql.h
index 7949d4a61f09d0fb03ecf1dac911e3da42e76bc2..ab18861ab2a6bf57d0aec3389f4d75a7d6dca7c9 100644
--- a/src/modules/Mysql/precompiled_mysql.h
+++ b/src/modules/Mysql/precompiled_mysql.h
@@ -1,5 +1,5 @@
 /*
- * $Id: precompiled_mysql.h,v 1.5 1998/02/08 15:27:10 grubba Exp $
+ * $Id: precompiled_mysql.h,v 1.6 1998/09/01 17:01:05 hubbe Exp $
  *
  * SQL database connectivity for Pike
  *
@@ -17,6 +17,10 @@
 #include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+
 /* From the mysql-dist */
 /* Workaround for versions prior to 3.20.0 not beeing protected against
  * multiple inclusion.
diff --git a/src/modules/Mysql/result.c b/src/modules/Mysql/result.c
index 337061e3a6012adcd590c7cc4d5e76f35f0e3f1d..33b9a85cfc708de763b2f2ac92b2bb5a43595497 100644
--- a/src/modules/Mysql/result.c
+++ b/src/modules/Mysql/result.c
@@ -1,5 +1,5 @@
 /*
- * $Id: result.c,v 1.12 1998/07/04 16:58:51 grubba Exp $
+ * $Id: result.c,v 1.13 1998/09/01 17:01:06 hubbe Exp $
  *
  * mysql query result
  *
@@ -17,6 +17,9 @@
 /*
  * Includes
  */
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
 
 /* From the mysql-dist */
 /* Workaround for versions prior to 3.20.0 not beeing protected for
@@ -80,7 +83,7 @@ typedef struct dynamic_buffer_s dynamic_buffer;
  * Globals
  */
 
-RCSID("$Id: result.c,v 1.12 1998/07/04 16:58:51 grubba Exp $");
+RCSID("$Id: result.c,v 1.13 1998/09/01 17:01:06 hubbe Exp $");
 
 struct program *mysql_result_program = NULL;