--- /dev/null
+diff -ru openldap-2.3.43.orig/build/openldap.m4 openldap-2.3.43/build/openldap.m4
+--- openldap-2.3.43.orig/build/openldap.m4 2008-10-30 13:52:53 +0100
++++ openldap-2.3.43/build/openldap.m4 2008-10-30 14:00:08 +0100
+@@ -79,8 +79,11 @@
+ cat > conftest.c <<EOF
+ noCode;
+ EOF
++ # don't search for conftest.o at the beginning of the
++ # line, since it may be an absolute path with some
++ # compilers (like parity on winnt)...
+ if AC_TRY_COMMAND($OL_MKDEP $flag conftest.c) \
+- | grep '^conftest\.'"${ac_objext}" >/dev/null 2>&1
++ | grep 'conftest\.'"${ac_objext}:" >/dev/null 2>&1
+ then
+ if test ! -f conftest."${ac_object}" ; then
+ ol_cv_mkdep=$flag
+diff -ru openldap-2.3.43.orig/build/top.mk openldap-2.3.43/build/top.mk
+--- openldap-2.3.43.orig/build/top.mk 2008-10-30 13:52:53 +0100
++++ openldap-2.3.43/build/top.mk 2008-10-30 14:00:08 +0100
+@@ -90,6 +90,8 @@
+ NT_LTFLAGS_MOD = -no-undefined -avoid-version -rpath $(moduledir)
+ UNIX_LTFLAGS_LIB = $(LTVERSION) -rpath $(libdir)
+ UNIX_LTFLAGS_MOD = $(LTVERSION) -rpath $(moduledir)
++PARITY_LTFLAGS_LIB = $(UNIX_LTFLAGS_LIB)
++PARITY_LTFLAGS_MOD = $(UNIX_LTFLAGS_MOD)
+
+ # libtool flags
+ LTFLAGS = $(@PLAT@_LTFLAGS)
+diff -ru openldap-2.3.43.orig/clients/tools/Makefile.in openldap-2.3.43/clients/tools/Makefile.in
+--- openldap-2.3.43.orig/clients/tools/Makefile.in 2008-10-30 13:52:53 +0100
++++ openldap-2.3.43/clients/tools/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -27,29 +27,30 @@
+ XSRCS = ldsversion.c ldmversion.c lddversion.c ldrversion.c \
+ ldpversion.c ldwversion.c ldcversion.c
+
+-PROGRAMS = ldapsearch ldapmodify ldapdelete ldapmodrdn \
+- ldappasswd ldapwhoami ldapcompare
++PROGRAMS = ldapsearch$(EXEEXT) ldapmodify$(EXEEXT) ldapdelete$(EXEEXT) \
++ ldapmodrdn$(EXEEXT) ldappasswd$(EXEEXT) ldapwhoami$(EXEEXT) \
++ ldapcompare$(EXEEXT)
+
+
+-ldapsearch: ldsversion.o
++ldapsearch$(EXEEXT): ldsversion.o
+ $(LTLINK) -o $@ ldapsearch.o common.o ldsversion.o $(LIBS)
+
+-ldapmodify: ldmversion.o
++ldapmodify$(EXEEXT): ldmversion.o
+ $(LTLINK) -o $@ ldapmodify.o common.o ldmversion.o $(LIBS)
+
+-ldapdelete: lddversion.o
++ldapdelete$(EXEEXT): lddversion.o
+ $(LTLINK) -o $@ ldapdelete.o common.o lddversion.o $(LIBS)
+
+-ldapmodrdn: ldrversion.o
++ldapmodrdn$(EXEEXT): ldrversion.o
+ $(LTLINK) -o $@ ldapmodrdn.o common.o ldrversion.o $(LIBS)
+
+-ldappasswd: ldpversion.o
++ldappasswd$(EXEEXT): ldpversion.o
+ $(LTLINK) -o $@ ldappasswd.o common.o ldpversion.o $(LIBS)
+
+-ldapwhoami: ldwversion.o
++ldapwhoami$(EXEEXT): ldwversion.o
+ $(LTLINK) -o $@ ldapwhoami.o common.o ldwversion.o $(LIBS)
+
+-ldapcompare: ldcversion.o
++ldapcompare$(EXEEXT): ldcversion.o
+ $(LTLINK) -o $@ ldapcompare.o common.o ldcversion.o $(LIBS)
+
+ ldsversion.c: Makefile
+@@ -98,7 +99,7 @@
+ -$(MKDIR) $(DESTDIR)$(bindir)
+ @( \
+ for prg in $(PROGRAMS); do \
+- $(LTINSTALL) $(INSTALLFLAGS) $(STRIP) -m 755 $$prg$(EXEEXT) \
++ $(LTINSTALL) $(INSTALLFLAGS) $(STRIP) -m 755 $$prg \
+ $(DESTDIR)$(bindir); \
+ done \
+ )
+diff -ru openldap-2.3.43.orig/configure.in openldap-2.3.43/configure.in
+--- openldap-2.3.43.orig/configure.in 2008-10-30 13:52:53 +0100
++++ openldap-2.3.43/configure.in 2008-10-30 14:00:08 +0100
+@@ -765,6 +765,7 @@
+ dnl ----------------------------------------------------------------
+ dnl Checks for Windows NT
+ case $host_os in
++ *winnt* ) ac_cv_winnt=yes ;;
+ *mingw32* ) ac_cv_mingw32=yes ;;
+ *cygwin* ) ac_cv_cygwin=yes ;;
+ esac
+@@ -909,7 +910,7 @@
+ )
+
+ dnl Only check Winsock on MinGW
+-if test "$ac_cv_mingw32" = yes ; then
++if test "$ac_cv_mingw32" = yes || test "$ac_cv_winnt" = yes ; then
+ AC_CHECK_HEADERS( winsock.h winsock2.h )
+ fi
+
+@@ -1067,10 +1068,11 @@
+ UuidCreate(0);
+ UuidToStringA(0,0);
+ ]])],[need_rpcrt=yes],[need_rpcrt=no])
++ LIBS="$save_LIBS"
+ if test $need_rpcrt = yes; then
+ SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
++ LIBS="$LIBS -lrpcrt4"
+ fi
+- LIBS="$save_LIBS"
+ AC_MSG_RESULT($need_rpcrt)
+ fi
+
+@@ -2269,7 +2271,7 @@
+
+ dnl ----------------------------------------------------------------
+ dnl Check for entropy sources
+-if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then
++if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes && test "$ac_cv_winnt" != yes ; then
+ dev=no
+ if test -r /dev/urandom ; then
+ dev="/dev/urandom";
+@@ -2528,15 +2530,17 @@
+ AC_DEFINE(snprintf, _snprintf, [define to snprintf routine])
+ ])
+
+-AC_CHECK_FUNC(_vsnprintf, [ac_cv_func_vsnprintf=yes
+- AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine])
+-])
++AC_CHECK_FUNC(_vsnprintf)
+
+ AC_FUNC_VPRINTF
+
+ if test $ac_cv_func_vprintf = yes ; then
+ dnl check for vsnprintf
+ AC_CHECK_FUNCS(snprintf vsnprintf)
++
++ if test $ac_cv_func__vsnprintf = yes && test $ac_cv_func_vsnprintf != yes; then
++ AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine])
++ fi
+ fi
+
+ AC_CHECK_FUNCS( \
+@@ -3086,6 +3090,10 @@
+ if test "$ac_cv_mingw32" = yes ; then
+ PLAT=NT
+ SLAPD_MODULES_LDFLAGS=
++elif test "$ac_cv_winnt" = yes; then
++ # slapd not even supported yet, so....
++ PLAT=PARITY
++ SLAPD_MODULES_LDFLAGS=
+ else
+ PLAT=UNIX
+ fi
+diff -ru openldap-2.3.43.orig/include/ac/socket.h openldap-2.3.43/include/ac/socket.h
+--- openldap-2.3.43.orig/include/ac/socket.h 2008-10-30 13:52:56 +0100
++++ openldap-2.3.43/include/ac/socket.h 2008-10-30 14:00:08 +0100
+@@ -36,7 +36,9 @@
+ #include <sys/select.h>
+ #endif
+
++#ifndef __PARITY__
+ #include <netinet/in.h>
++#endif
+
+ #ifdef HAVE_NETINET_TCP_H
+ #include <netinet/tcp.h>
+diff -ru openldap-2.3.43.orig/include/ldap_cdefs.h openldap-2.3.43/include/ldap_cdefs.h
+--- openldap-2.3.43.orig/include/ldap_cdefs.h 2008-10-30 13:52:56 +0100
++++ openldap-2.3.43/include/ldap_cdefs.h 2008-10-30 14:00:08 +0100
+@@ -130,7 +130,11 @@
+ #if defined(_WIN32) && \
+ ((defined(LDAP_LIBS_DYNAMIC) && !defined(LBER_LIBRARY)) || \
+ (!defined(LDAP_LIBS_DYNAMIC) && defined(SLAPD_IMPORT)))
++# ifndef __PARITY__
+ # define LBER_F(type) extern __declspec(dllimport) type
++# else
++# define LBER_F(type) extern type
++# endif
+ # define LBER_V(type) extern __declspec(dllimport) type
+ #else
+ # define LBER_F(type) extern type
+@@ -141,7 +145,11 @@
+ #if defined(_WIN32) && \
+ ((defined(LDAP_LIBS_DYNAMIC) && !defined(LDAP_LIBRARY)) || \
+ (!defined(LDAP_LIBS_DYNAMIC) && defined(SLAPD_IMPORT)))
++# ifndef __PARITY__
+ # define LDAP_F(type) extern __declspec(dllimport) type
++# else
++# define LDAP_F(type) extern type
++# endif
+ # define LDAP_V(type) extern __declspec(dllimport) type
+ #else
+ # define LDAP_F(type) extern type
+@@ -181,7 +189,7 @@
+ #endif
+
+ /* LUTIL library */
+-#if defined(_WIN32) && defined(SLAPD_IMPORT)
++#if defined(_WIN32) && defined(SLAPD_IMPORT) && !defined(__PARITY__)
+ # define LDAP_LUTIL_F(type) extern __declspec(dllimport) type
+ # define LDAP_LUTIL_V(type) extern __declspec(dllimport) type
+ #else
+diff -ru openldap-2.3.43.orig/libraries/liblber/Makefile.in openldap-2.3.43/libraries/liblber/Makefile.in
+--- openldap-2.3.43.orig/libraries/liblber/Makefile.in 2008-10-30 13:52:56 +0100
++++ openldap-2.3.43/libraries/liblber/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -18,6 +18,9 @@
+ NT_SRCS = nt_err.c
+ NT_OBJS = nt_err.lo
+
++PARITY_SRCS = $(NT_SRCS)
++PARITY_OBJS = $(NT_OBJS)
++
+ UNIX_SRCS = stdio.c
+ UNIX_OBJS = stdio.lo
+
+@@ -37,6 +40,7 @@
+ XLIBS = $(LIBRARY) $(LDAP_LIBLUTIL_A)
+ XXLIBS =
+ NT_LINK_LIBS = $(AC_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+
+ dtest: $(XLIBS) dtest.o
+ $(LTLINK) -o $@ dtest.o $(LIBS)
+diff -ru openldap-2.3.43.orig/libraries/liblber/options.c openldap-2.3.43/libraries/liblber/options.c
+--- openldap-2.3.43.orig/libraries/liblber/options.c 2008-10-30 13:52:56 +0100
++++ openldap-2.3.43/libraries/liblber/options.c 2008-10-30 14:00:08 +0100
+@@ -20,7 +20,8 @@
+ #include <ac/stdarg.h>
+ #include "lber-int.h"
+
+-char ber_pvt_opt_on; /* used to get a non-NULL address for *_OPT_ON */
++/* needs to be initialized for winnt build... */
++char ber_pvt_opt_on = 0; /* used to get a non-NULL address for *_OPT_ON */
+
+ struct lber_options ber_int_options = {
+ LBER_UNINITIALIZED, 0, 0 };
+diff -ru openldap-2.3.43.orig/libraries/libldap/Makefile.in openldap-2.3.43/libraries/libldap/Makefile.in
+--- openldap-2.3.43.orig/libraries/libldap/Makefile.in 2008-10-30 13:52:56 +0100
++++ openldap-2.3.43/libraries/libldap/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -47,6 +47,7 @@
+ XLIBS = $(LIBRARY) $(LDAP_LIBLBER_LA) $(LDAP_LIBLUTIL_A)
+ XXLIBS = $(SECURITY_LIBS) $(LUTIL_LIBS)
+ NT_LINK_LIBS = $(LDAP_LIBLBER_LA) $(AC_LIBS) $(SECURITY_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(LDAP_LIBLBER_LA) $(AC_LIBS) $(SECURITY_LIBS)
+
+ apitest: $(XLIBS) apitest.o
+diff -ru openldap-2.3.43.orig/libraries/libldap_r/Makefile.in openldap-2.3.43/libraries/libldap_r/Makefile.in
+--- openldap-2.3.43.orig/libraries/libldap_r/Makefile.in 2008-10-30 13:52:57 +0100
++++ openldap-2.3.43/libraries/libldap_r/Makefile.in 2008-10-30 14:01:15 +0100
+@@ -56,6 +56,7 @@
+ XXLIBS = $(SECURITY_LIBS) $(LUTIL_LIBS)
+ XXXLIBS = $(LTHREAD_LIBS)
+ NT_LINK_LIBS = $(LDAP_LIBLBER_LA) $(AC_LIBS) $(SECURITY_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(LDAP_LIBLBER_LA) $(AC_LIBS) $(SECURITY_LIBS) $(LTHREAD_LIBS)
+
+ .links : Makefile
+diff -ru openldap-2.3.43.orig/libraries/liblutil/Makefile.in openldap-2.3.43/libraries/liblutil/Makefile.in
+--- openldap-2.3.43.orig/libraries/liblutil/Makefile.in 2008-10-30 13:52:57 +0100
++++ openldap-2.3.43/libraries/liblutil/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -22,6 +22,9 @@
+ NT_SRCS = ntservice.c
+ NT_OBJS = ntservice.o slapdmsg.res
+
++PARITY_SRCS = $(NT_SRCS)
++PARITY_OBJS = ntservice.o
++
+ UNIX_SRCS = detach.c
+ UNIX_OBJS = detach.o
+
+diff -ru openldap-2.3.43.orig/servers/slapd/Makefile.in openldap-2.3.43/servers/slapd/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/Makefile.in 2008-10-30 13:52:59 +0100
++++ openldap-2.3.43/servers/slapd/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -13,9 +13,10 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+
+-SLAPTOOLS=slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl
+-PROGRAMS=slapd $(SLAPTOOLS)
+-XPROGRAMS=sslapd libbackends.a .backend liboverlays.a
++SLAPTOOLS=slapadd$(EXEEXT) slapcat$(EXEEXT) slapdn$(EXEEXT) slapindex$(EXEEXT) \
++ slappasswd$(EXEEXT) slaptest$(EXEEXT) slapauth$(EXEEXT) slapacl$(EXEEXT)
++PROGRAMS=slapd$(EXEEXT) $(SLAPTOOLS)
++XPROGRAMS=sslapd$(EXEEXT) libbackends.a .backend liboverlays.a
+ XSRCS=version.c
+
+ SUBDIRS=back-* shell-backends slapi overlays
+@@ -23,6 +24,9 @@
+ NT_SRCS = nt_svc.c
+ NT_OBJS = nt_svc.o ../../libraries/liblutil/slapdmsg.res
+
++PARITY_SRCS = $(NT_SRCS)
++PARITY_OBJS = nt_svc.o
++
+ SRCS = main.c globals.c bconfig.c config.c daemon.c \
+ connection.c search.c filter.c add.c cr.c \
+ attr.c entry.c backend.c result.c operation.c \
+@@ -87,6 +91,9 @@
+ UNIX_SLAPD_DEPENDS = $(SLAPD_STATIC_DEPENDS) version.o $(SLAPD_L)
+ UNIX_SLAPD_OBJECTS = $(OBJS) version.o
+
++PARITY_SLAPD_DEPENDS = $(UNIX_SLAPD_DEPENDS)
++PARITY_SLAPD_OBJECTS = $(UNIX_SLAPD_OBJECTS)
++
+ SLAPD_DEPENDS = $(@PLAT@_SLAPD_DEPENDS)
+ SLAPD_OBJECTS = $(@PLAT@_SLAPD_OBJECTS)
+
+@@ -265,22 +272,22 @@
+ libslapi.a: slapi/.libs/libslapi.a
+ cp slapi/.libs/libslapi.a .
+
+-slapd: $(SLAPD_DEPENDS) @LIBSLAPI@
++slapd$(EXEEXT): $(SLAPD_DEPENDS) @LIBSLAPI@
+ $(LTLINK) -o $@ $(SLAPD_OBJECTS) $(LIBS) \
+ $(WRAP_LIBS)
+ $(RM) $(SLAPTOOLS)
+ for i in $(SLAPTOOLS); do \
+- $(LN_S) slapd$(EXEEXT) $$i$(EXEEXT); done
++ $(LN_S) slapd$(EXEEXT) $$i; done
+
+
+-sslapd: version.o
++sslapd$(EXEEXT): version.o
+ $(LTLINK) -static -o $@ $(OBJS) version.o $(LIBS) $(WRAP_LIBS)
+
+-dummy $(SLAPD_DYNAMIC_BACKENDS): slapd
++dummy $(SLAPD_DYNAMIC_BACKENDS): slapd$(EXEEXT)
+ cd $@; $(MAKE) $(MFLAGS) all
+ @touch $@
+
+-dynamic_overlays: slapd
++dynamic_overlays: slapd$(EXEEXT)
+ cd overlays; $(MAKE) $(MFLAGS) dynamic
+
+ #
+@@ -385,7 +392,7 @@
+ fi; \
+ done
+
+-all-cffiles: slapd $(SLAPD_DYNAMIC_BACKENDS) dynamic_overlays
++all-cffiles: slapd$(EXEEXT) $(SLAPD_DYNAMIC_BACKENDS) dynamic_overlays
+ @if test $(PLAT) = NT; then \
+ sysconfdir=`cygpath -w $(sysconfdir) | \
+ $(SED) -e 's/\\\\/\\\\\\\\\\\\\\\\/g'`; \
+@@ -439,7 +446,7 @@
+ install-tools: FORCE
+ -$(MKDIR) $(DESTDIR)$(sbindir)
+ for i in $(SLAPTOOLS); do \
+- $(RM) $(DESTDIR)$(sbindir)/$$i$(EXEEXT); \
+- $(LN_S) -f $(DESTDIR)$(libexecdir)/slapd$(EXEEXT) $(DESTDIR)$(sbindir)/$$i$(EXEEXT); \
++ $(RM) $(DESTDIR)$(sbindir)/$$i; \
++ $(LN_S) -f $(DESTDIR)$(libexecdir)/slapd$(EXEEXT) $(DESTDIR)$(sbindir)/$$i; \
+ done
+
+diff -ru openldap-2.3.43.orig/servers/slapd/alock.c openldap-2.3.43/servers/slapd/alock.c
+--- openldap-2.3.43.orig/servers/slapd/alock.c 2008-10-30 13:52:57 +0100
++++ openldap-2.3.43/servers/slapd/alock.c 2008-10-30 14:00:08 +0100
+@@ -32,7 +32,11 @@
+ #include <ac/assert.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+-#include <sys/file.h>
++
++#ifdef HAVE_SYS_FILE_H
++# include <sys/file.h>
++#endif
++
+ #include <fcntl.h>
+
+ #ifdef _WIN32
+diff -ru openldap-2.3.43.orig/servers/slapd/back-bdb/Makefile.in openldap-2.3.43/servers/slapd/back-bdb/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/back-bdb/Makefile.in 2008-10-30 13:52:57 +0100
++++ openldap-2.3.43/servers/slapd/back-bdb/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -39,6 +39,7 @@
+
+ shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+
+ LIBBASE = back_bdb
+diff -ru openldap-2.3.43.orig/servers/slapd/back-dnssrv/Makefile.in openldap-2.3.43/servers/slapd/back-dnssrv/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/back-dnssrv/Makefile.in 2008-10-30 13:52:57 +0100
++++ openldap-2.3.43/servers/slapd/back-dnssrv/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -32,6 +32,7 @@
+
+ shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+
+ LIBBASE = back_dnssrv
+diff -ru openldap-2.3.43.orig/servers/slapd/back-hdb/Makefile.in openldap-2.3.43/servers/slapd/back-hdb/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/back-hdb/Makefile.in 2008-10-30 13:52:57 +0100
++++ openldap-2.3.43/servers/slapd/back-hdb/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -41,6 +41,7 @@
+
+ shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+
+ .links : Makefile
+diff -ru openldap-2.3.43.orig/servers/slapd/back-ldap/Makefile.in openldap-2.3.43/servers/slapd/back-ldap/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/back-ldap/Makefile.in 2008-10-30 13:52:58 +0100
++++ openldap-2.3.43/servers/slapd/back-ldap/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -29,6 +29,7 @@
+
+ shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+
+ LIBBASE = back_ldap
+diff -ru openldap-2.3.43.orig/servers/slapd/back-ldbm/Makefile.in openldap-2.3.43/servers/slapd/back-ldbm/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/back-ldbm/Makefile.in 2008-10-30 13:52:58 +0100
++++ openldap-2.3.43/servers/slapd/back-ldbm/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -38,6 +38,7 @@
+
+ shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+
+ LIBBASE = back_ldbm
+diff -ru openldap-2.3.43.orig/servers/slapd/back-ldif/Makefile.in openldap-2.3.43/servers/slapd/back-ldif/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/back-ldif/Makefile.in 2008-10-30 13:52:58 +0100
++++ openldap-2.3.43/servers/slapd/back-ldif/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -27,6 +27,7 @@
+
+ shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+
+ LIBBASE = back_ldif
+diff -ru openldap-2.3.43.orig/servers/slapd/back-meta/Makefile.in openldap-2.3.43/servers/slapd/back-meta/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/back-meta/Makefile.in 2008-10-30 13:52:58 +0100
++++ openldap-2.3.43/servers/slapd/back-meta/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -31,6 +31,7 @@
+
+ shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+
+ LIBBASE = back_meta
+diff -ru openldap-2.3.43.orig/servers/slapd/back-monitor/Makefile.in openldap-2.3.43/servers/slapd/back-monitor/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/back-monitor/Makefile.in 2008-10-30 13:52:58 +0100
++++ openldap-2.3.43/servers/slapd/back-monitor/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -35,6 +35,7 @@
+
+ shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+
+ LIBBASE = back_monitor
+diff -ru openldap-2.3.43.orig/servers/slapd/back-null/Makefile.in openldap-2.3.43/servers/slapd/back-null/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/back-null/Makefile.in 2008-10-30 13:52:58 +0100
++++ openldap-2.3.43/servers/slapd/back-null/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -27,6 +27,7 @@
+
+ shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+
+ LIBBASE = back_null
+diff -ru openldap-2.3.43.orig/servers/slapd/back-passwd/Makefile.in openldap-2.3.43/servers/slapd/back-passwd/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/back-passwd/Makefile.in 2008-10-30 13:52:58 +0100
++++ openldap-2.3.43/servers/slapd/back-passwd/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -27,6 +27,7 @@
+
+ shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+
+ LIBBASE = back_passwd
+diff -ru openldap-2.3.43.orig/servers/slapd/back-perl/Makefile.in openldap-2.3.43/servers/slapd/back-perl/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/back-perl/Makefile.in 2008-10-30 13:52:58 +0100
++++ openldap-2.3.43/servers/slapd/back-perl/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -32,6 +32,7 @@
+
+ shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS) `perl -MExtUtils::Embed -e ldopts`
+
+ LIBBASE = back_perl
+diff -ru openldap-2.3.43.orig/servers/slapd/back-relay/Makefile.in openldap-2.3.43/servers/slapd/back-relay/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/back-relay/Makefile.in 2008-10-30 13:52:58 +0100
++++ openldap-2.3.43/servers/slapd/back-relay/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -26,6 +26,7 @@
+
+ shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS) $(REWRITE)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS) $(REWRITE)
+
+ LIBBASE = back_relay
+diff -ru openldap-2.3.43.orig/servers/slapd/back-shell/Makefile.in openldap-2.3.43/servers/slapd/back-shell/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/back-shell/Makefile.in 2008-10-30 13:52:58 +0100
++++ openldap-2.3.43/servers/slapd/back-shell/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -29,6 +29,7 @@
+
+ shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+
+ LIBBASE = back_shell
+diff -ru openldap-2.3.43.orig/servers/slapd/back-sql/Makefile.in openldap-2.3.43/servers/slapd/back-sql/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/back-sql/Makefile.in 2008-10-30 13:52:59 +0100
++++ openldap-2.3.43/servers/slapd/back-sql/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -31,6 +31,7 @@
+
+ shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS) $(SLAPD_SQL_LIBS)
+
+ LIBBASE = back_sql
+diff -ru openldap-2.3.43.orig/servers/slapd/overlays/Makefile.in openldap-2.3.43/servers/slapd/overlays/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/overlays/Makefile.in 2008-10-30 13:52:59 +0100
++++ openldap-2.3.43/servers/slapd/overlays/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -45,6 +45,7 @@
+
+ shared_LDAP_LIBS = $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA)
+ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+
+ LIBRARY = ../liboverlays.a
+diff -ru openldap-2.3.43.orig/servers/slapd/slapi/Makefile.in openldap-2.3.43/servers/slapd/slapi/Makefile.in
+--- openldap-2.3.43.orig/servers/slapd/slapi/Makefile.in 2008-10-30 13:53:00 +0100
++++ openldap-2.3.43/servers/slapd/slapi/Makefile.in 2008-10-30 14:00:40 +0100
+@@ -37,6 +37,7 @@
+ XLIBS = $(LIBRARY)
+ XXLIBS =
+ NT_LINK_LIBS = $(AC_LIBS)
++PARITY_LINK_LIBS = $(NT_LINK_LIBS)
+ UNIX_LINK_LIBS = ../../../libraries/libldap_r/libldap_r.la $(LTHREAD_LIBS)
+
+ XINCPATH = -I$(srcdir)/.. -I$(srcdir)
+diff -ru openldap-2.3.43.orig/servers/slapd/slapi/printmsg.c openldap-2.3.43/servers/slapd/slapi/printmsg.c
+--- openldap-2.3.43.orig/servers/slapd/slapi/printmsg.c 2008-10-30 13:53:00 +0100
++++ openldap-2.3.43/servers/slapd/slapi/printmsg.c 2008-10-30 14:00:08 +0100
+@@ -34,6 +34,10 @@
+
+ #include <ldap_pvt_thread.h>
+
++#ifdef _WIN32
++# include <sys/locking.h>
++#endif
++
+ /* Single threads access to routine */
+ ldap_pvt_thread_mutex_t slapi_printmessage_mutex;
+ char *slapi_log_file = NULL;
+@@ -69,7 +73,11 @@
+ /*
+ * FIXME: could block
+ */
++#ifndef _WIN32
+ while ( lockf( fileno( fp ), F_LOCK, 0 ) != 0 ) {
++#else
++ while ( _locking( fileno ( fp ), _LK_LOCK, 0 ) != 0 ) {
++#endif
+ /* DO NOTHING */ ;
+ }
+
+@@ -85,7 +93,11 @@
+ }
+ fflush( fp );
+
++#ifndef _WIN32
+ lockf( fileno( fp ), F_ULOCK, 0 );
++#else
++ _locking( fileno( fp ), _LK_UNLCK, 0 );
++#endif
+
+ fclose( fp );
+
+diff -ru openldap-2.3.43.orig/servers/slapd/slapi/slapi_utils.c openldap-2.3.43/servers/slapd/slapi/slapi_utils.c
+--- openldap-2.3.43.orig/servers/slapd/slapi/slapi_utils.c 2008-10-30 13:53:00 +0100
++++ openldap-2.3.43/servers/slapd/slapi/slapi_utils.c 2008-10-30 14:00:08 +0100
+@@ -1896,7 +1896,7 @@
+ slapi_timer_current_time( void )
+ {
+ static int first_time = 1;
+-#if !defined (_WIN32)
++#if !defined (_WIN32) || defined(__PARITY__)
+ struct timeval now;
+ unsigned long ret;
+
+diff -ru openldap-2.3.43.orig/servers/slurpd/Makefile.in openldap-2.3.43/servers/slurpd/Makefile.in
+--- openldap-2.3.43.orig/servers/slurpd/Makefile.in 2008-10-30 13:53:00 +0100
++++ openldap-2.3.43/servers/slurpd/Makefile.in 2008-10-30 14:00:08 +0100
+@@ -13,14 +13,17 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+
+-PROGRAMS = slurpd
+-XPROGRAMS = sslurpd
++PROGRAMS = slurpd$(EXEEXT)
++XPROGRAMS = sslurpd$(EXEEXT)
+
+ XSRCS = version.c
+
+ NT_SRCS = nt_svc.c
+ NT_OBJS = nt_svc.o ../../libraries/liblutil/slapdmsg.res
+
++PARITY_SRCS = $(NT_SRCS)
++PARITY_OBJS = nt_svc.o
++
+ SRCS = admin.c args.c ch_malloc.c config.c \
+ fm.c globals.c ldap_op.c lock.c main.c re.c \
+ reject.c replica.c replog.c ri.c rq.c sanity.c st.c \
+@@ -43,10 +46,10 @@
+ XXLIBS = $(SLURPD_LIBS) $(SECURITY_LIBS) $(LUTIL_LIBS)
+ XXXLIBS = $(LTHREAD_LIBS)
+
+-slurpd: version.o
++slurpd$(EXEEXT): version.o
+ $(LTLINK) -o $@ $(OBJS) version.o $(LIBS)
+
+-sslurpd: version.o
++sslurpd$(EXEEXT): version.o
+ $(LTLINK) -static -o $@ $(OBJS) version.o $(LIBS)
+
+ version.c: Makefile
+@@ -60,7 +63,7 @@
+ @-$(INSTALL) -m 700 -d $(DESTDIR)$(localstatedir)/openldap-slurp
+ @( \
+ for prg in $(PROGRAMS); do \
+- $(LTINSTALL) $(INSTALLFLAGS) $(STRIP) -m 755 $$prg$(EXEEXT) \
++ $(LTINSTALL) $(INSTALLFLAGS) $(STRIP) -m 755 $$prg \
+ $(DESTDIR)$(libexecdir); \
+ done \
+ )