--- /dev/null
+--- libupnp.old/configure.ac 2008-04-25 13:41:16.000000000 +0200
++++ libupnp/configure.ac 2010-08-11 00:41:04.000000000 +0200
+@@ -332,19 +332,13 @@
+ # so just abort if a header file is not found.
+ AC_CHECK_HEADERS(
+ [ \
+- arpa/inet.h \
+ fcntl.h \
+ inttypes.h \
+ limits.h \
+- netdb.h \
+- netinet/in.h \
+ stdlib.h \
+ string.h \
+- sys/ioctl.h \
+- sys/socket.h \
+ sys/time.h \
+ sys/timeb.h \
+- syslog.h \
+ unistd.h \
+ ],
+ [],
+@@ -370,39 +364,39 @@
+ # Checks for POSIX Threads
+ #
+ echo "--------------------------- pthread stuff -------------------------------------"
+-ACX_PTHREAD(
+- [],
+- [AC_MSG_ERROR([POSIX threads are required to build this program])])
++#ACX_PTHREAD(
++# [],
++# [AC_MSG_ERROR([POSIX threads are required to build this program])])
+ #
+ # Update environment variables for pthreads
+ #
+-CC="$PTHREAD_CC"
+-CFLAGS="$PTHREAD_CFLAGS $CFLAGS"
+-LIBS="$PTHREAD_LIBS $LIBS"
++#CC="$PTHREAD_CC"
++#CFLAGS="$PTHREAD_CFLAGS $CFLAGS"
++#LIBS="$PTHREAD_LIBS $LIBS"
+ #
+ # Determine if pthread_rwlock_t is available
+ #
+-echo "----------------------- pthread_rwlock_t stuff --------------------------------"
+-AC_MSG_CHECKING([if pthread_rwlock_t is available])
+-AC_LANG([C])
+-AC_COMPILE_IFELSE(
+- [AC_LANG_PROGRAM(
+- [#include <pthread.h>],
+- [pthread_rwlock_t *x;])],
+- [AC_DEFINE([UPNP_USE_RWLOCK], [1], [Use pthread_rwlock_t])
+- AC_MSG_RESULT([yes, supported without any options])],
+- [AC_COMPILE_IFELSE(
+- [AC_LANG_PROGRAM(
+- [#define _GNU_SOURCE
+- #include <pthread.h>],
+- [pthread_rwlock_t *x;])],
+- [AC_DEFINE([UPNP_USE_RWLOCK], [1], [Use pthread_rwlock_t])
+- CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+- AC_MSG_RESULT([yes, definition of _GNU_SOURCE required])],
+- [AC_DEFINE([UPNP_USE_RWLOCK], [0], [Do not use pthread_rwlock_t])
+- AC_MSG_RESULT([no, needs to fallback to pthread_mutex])
+- AC_MSG_ERROR([pthread_rwlock_t not available])])])
+-echo "-------------------------------------------------------------------------------"
++#echo "----------------------- pthread_rwlock_t stuff --------------------------------"
++#AC_MSG_CHECKING([if pthread_rwlock_t is available])
++#AC_LANG([C])
++#AC_COMPILE_IFELSE(
++# [AC_LANG_PROGRAM(
++# [#include <pthread.h>],
++# [pthread_rwlock_t *x;])],
++# [AC_DEFINE([UPNP_USE_RWLOCK], [1], [Use pthread_rwlock_t])
++# AC_MSG_RESULT([yes, supported without any options])],
++# [AC_COMPILE_IFELSE(
++# [AC_LANG_PROGRAM(
++# [#define _GNU_SOURCE
++# #include <pthread.h>],
++# [pthread_rwlock_t *x;])],
++# [AC_DEFINE([UPNP_USE_RWLOCK], [1], [Use pthread_rwlock_t])
++# CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
++# AC_MSG_RESULT([yes, definition of _GNU_SOURCE required])],
++# [AC_DEFINE([UPNP_USE_RWLOCK], [0], [Do not use pthread_rwlock_t])
++# AC_MSG_RESULT([no, needs to fallback to pthread_mutex])
++# AC_MSG_ERROR([pthread_rwlock_t not available])])])
++#echo "-------------------------------------------------------------------------------"
+
+
+ AC_CONFIG_FILES([
+--- libupnp.old/configure.ac 2010-08-11 00:41:04.000000000 +0200
++++ libupnp/configure.ac 2010-08-11 12:32:48.000000000 +0200
+@@ -349,7 +349,7 @@
+ # Checks for typedefs, structures, and compiler characteristics
+ #
+ AC_C_CONST
+-TYPE_SOCKLEN_T
++#TYPE_SOCKLEN_T
+
+
+ #
--- /dev/null
+--- libupnp.old/upnp/inc/upnp.h 2008-03-09 01:54:58.000000000 +0100
++++ libupnp/upnp/inc/upnp.h 2010-08-11 12:40:37.000000000 +0200
+@@ -74,14 +74,16 @@
+ typedef __int64 int64_t;
+ #define PRId64 "I64d"
+ #define PRIzu "lu"
+- #endif
+- #ifdef UPNP_USE_BCBPP
++ #elif defined UPNP_USE_BCBPP
+ /* define some things Borland Builder doesn't know */
+ #define UPNP_INLINE inline
+ typedef __int64 int64_t;
+ #warning The Borland C compiler is probably broken on PRId64, please someone provide a proper fix here
+ #define PRId64 "I64d"
+ #define PRIzu "zu"
++ #else
++ #define UPNP_INLINE inline
++ #define PRIzu "zu"
+ #endif
+ #else
+ #define EXPORT_SPEC
+--- libupnp.old/upnp/src/inc/unixutil.h 2008-02-10 02:55:34.000000000 +0100
++++ libupnp/upnp/src/inc/unixutil.h 2010-08-11 12:48:37.000000000 +0200
+@@ -38,7 +38,15 @@
+ #ifndef WIN32
+ #include <sys/socket.h>
+ #else
+- typedef int socklen_t;
++ //typedef int socklen_t;
++ #if !defined(UNDER_CE)
++ # define _NO_OLDNAMES 1
++ # include <io.h>
++ #endif
++ #include <winsock2.h>
++ #include <ws2tcpip.h>
++ #define ENETUNREACH WSAENETUNREACH
++ #define net_errno (WSAGetLastError())
+ #define EAFNOSUPPORT 97
+ #endif
+