summaryrefslogtreecommitdiff
path: root/postgresql
diff options
context:
space:
mode:
authorLionel Elie Mamane <lionel@mamane.lu>2011-12-15 13:33:59 +0100
committerLionel Elie Mamane <lionel@mamane.lu>2011-12-15 13:34:26 +0100
commit7f2f96330056e62fffc96690e077b89cd338dd10 (patch)
tree996a0d69972cbe9d96bb39bf58ba5c010e764eac /postgresql
parent5c1490fa4b69cfc05572dc84c5a9316d5e07a57c (diff)
postgresql: separate patch into upstream & libreoffice-specific parts
Diffstat (limited to 'postgresql')
-rw-r--r--postgresql/makefile.mk6
-rw-r--r--postgresql/postgresql-9.1.1-autoreconf.patch209
-rw-r--r--postgresql/postgresql-9.1.1-libreoffice.patch97
-rw-r--r--postgresql/postgresql-9.1.1.patch577
-rw-r--r--postgresql/postgresql-moz-ldap.patch228
5 files changed, 538 insertions, 579 deletions
diff --git a/postgresql/makefile.mk b/postgresql/makefile.mk
index 8b57a0777441..e4e3969e01ac 100644
--- a/postgresql/makefile.mk
+++ b/postgresql/makefile.mk
@@ -39,7 +39,9 @@ TARGET=so_postgresql
TARFILE_NAME=postgresql-9.1.1
TARFILE_MD5=061a9f17323117c9358ed60f33ecff78
PATCH_FILES=\
- $(TARFILE_NAME).patch
+ postgresql-moz-ldap.patch \
+ $(TARFILE_NAME)-libreoffice.patch \
+ $(TARFILE_NAME)-autoreconf.patch
.IF "$(SYSTEM_POSTGRESQL)" == "YES"
@all:
@@ -61,7 +63,7 @@ CONFIGURE_ACTION = CPPFLAGS="$(SOLARINC)" LDFLAGS="$(SOLARLIB)" ./configure --wi
.IF "$(WITH_LDAP)" == "YES"
CONFIGURE_ACTION += --with-ldap
.IF "$(WITH_OPENLDAP)" != "YES"
-CONFIGURE_ACTION += --with-mozldap
+CONFIGURE_ACTION += --with-includes='$(SOLARVER)$/$(INPATH)$/inc$/mozilla$/ldap' --with-mozldap
.ENDIF
.ENDIF
BUILD_ACTION = make -j$(GMAKE_MODULE_PARALLELISM) all-static-lib libpq-flags.mk
diff --git a/postgresql/postgresql-9.1.1-autoreconf.patch b/postgresql/postgresql-9.1.1-autoreconf.patch
new file mode 100644
index 000000000000..24e294a534e5
--- /dev/null
+++ b/postgresql/postgresql-9.1.1-autoreconf.patch
@@ -0,0 +1,209 @@
+diff --recursive -u misc/build/postgresql-9.1.1/configure misc/build/postgresql-9.1.1.patched/configure
+--- misc/build/postgresql-9.1.1/configure 2011-09-22 23:57:57.000000000 +0200
++++ misc/build/postgresql-9.1.1.patched/configure 2011-12-15 09:30:36.000000000 +0100
+@@ -718,6 +718,7 @@
+ with_selinux
+ with_openssl
+ with_bonjour
++with_mozldap
+ with_ldap
+ with_pam
+ krb_srvtab
+@@ -836,6 +837,7 @@
+ with_krb_srvnam
+ with_pam
+ with_ldap
++with_mozldap
+ with_bonjour
+ with_openssl
+ with_selinux
+@@ -1533,6 +1535,7 @@
+ [postgres]
+ --with-pam build with PAM support
+ --with-ldap build with LDAP support
++ --with-mozldap build with Mozilla LDAP support
+ --with-bonjour build with Bonjour support
+ --with-openssl build with OpenSSL support
+ --with-selinux build with SELinux support
+@@ -5432,6 +5435,42 @@
+ $as_echo "$with_ldap" >&6; }
+
+
++{ $as_echo "$as_me:$LINENO: checking whether to use Mozilla C SDK for LDAP support" >&5
++$as_echo_n "checking whether to use Mozilla C SDK for LDAP support... " >&6; }
++
++
++
++# Check whether --with-mozldap was given.
++if test "${with_mozldap+set}" = set; then
++ withval=$with_mozldap;
++ case $withval in
++ yes)
++
++cat >>confdefs.h <<\_ACEOF
++#define USE_MOZLDAP 1
++_ACEOF
++
++ ;;
++ no)
++ :
++ ;;
++ *)
++ { { $as_echo "$as_me:$LINENO: error: no argument expected for --with-mozldap option" >&5
++$as_echo "$as_me: error: no argument expected for --with-mozldap option" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++ esac
++
++else
++ with_mozldap=no
++
++fi
++
++
++{ $as_echo "$as_me:$LINENO: result: $with_mozldap" >&5
++$as_echo "$with_mozldap" >&6; }
++
++
+
+ #
+ # Bonjour
+@@ -13584,7 +13623,7 @@
+ fi
+
+ if test "$with_ldap" = yes ; then
+- if test "$PORTNAME" != "win32"; then
++ if test "$PORTNAME" != "win32" || test "$with_mozldap" = "yes"; then
+
+ for ac_header in ldap.h
+ do
+@@ -13809,6 +13848,11 @@
+
+ done
+
++
++cat >>confdefs.h <<\_ACEOF
++#define USE_MICROSOFT_LDAP 1
++_ACEOF
++
+ fi
+ fi
+
+@@ -23348,7 +23392,99 @@
+ # We can test for libldap_r only after we know PTHREAD_LIBS
+ if test "$with_ldap" = yes ; then
+ _LIBS="$LIBS"
+- if test "$PORTNAME" != "win32"; then
++ if test "$with_mozldap" = "yes"; then
++ if test "$PORTNAME" != "win32"; then
++ mozlibname=ldap50
++ else
++ mozlibname=nsldap32v50
++ fi
++
++as_ac_Lib=`$as_echo "ac_cv_lib_$mozlibname''_ldap_bind" | $as_tr_sh`
++{ $as_echo "$as_me:$LINENO: checking for ldap_bind in -l$mozlibname" >&5
++$as_echo_n "checking for ldap_bind in -l$mozlibname... " >&6; }
++if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-l$mozlibname $PTHREAD_CFLAGS $PTHREAD_LIBS $EXTRA_LDAP_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char ldap_bind ();
++int
++main ()
++{
++return ldap_bind ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext && {
++ test "$cross_compiling" = yes ||
++ $as_test_x conftest$ac_exeext
++ }; then
++ eval "$as_ac_Lib=yes"
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_Lib=no"
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++ac_res=`eval 'as_val=${'$as_ac_Lib'}
++ $as_echo "$as_val"'`
++ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++as_val=`eval 'as_val=${'$as_ac_Lib'}
++ $as_echo "$as_val"'`
++ if test "x$as_val" = x""yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_LIB$mozlibname" | $as_tr_cpp` 1
++_ACEOF
++
++ LIBS="-l$mozlibname $LIBS"
++
++else
++ { { $as_echo "$as_me:$LINENO: error: library \"$mozlibname\" is required for Mozilla LDAP" >&5
++$as_echo "$as_me: error: library \"$mozlibname\" is required for Mozilla LDAP" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++ LDAP_LIBS_FE="-l$mozlibname $EXTRA_LDAP_LIBS"
++ LDAP_LIBS_BE="-l$mozlibname $EXTRA_LDAP_LIBS"
++ elif test "$PORTNAME" != "win32"; then
+
+ { $as_echo "$as_me:$LINENO: checking for ldap_bind in -lldap" >&5
+ $as_echo_n "checking for ldap_bind in -lldap... " >&6; }
+diff --recursive -u misc/build/postgresql-9.1.1/src/include/pg_config.h.in misc/build/postgresql-9.1.1.patched/src/include/pg_config.h.in
+--- misc/build/postgresql-9.1.1/src/include/pg_config.h.in 2011-09-22 23:57:57.000000000 +0200
++++ misc/build/postgresql-9.1.1.patched/src/include/pg_config.h.in 2011-12-15 09:30:37.000000000 +0100
+@@ -785,6 +785,13 @@
+ (--with-libxslt) */
+ #undef USE_LIBXSLT
+
++/* Defined when using Microsof LDAP */
++#undef USE_MICROSOFT_LDAP
++
++/* Define to 1 to use the Mozilla LDAP C SDK instead of platform default
++ (OpenLDAP or Microsoft LDAP). (--with-mozldap) */
++#undef USE_MOZLDAP
++
+ /* Define to select named POSIX semaphores. */
+ #undef USE_NAMED_POSIX_SEMAPHORES
+
diff --git a/postgresql/postgresql-9.1.1-libreoffice.patch b/postgresql/postgresql-9.1.1-libreoffice.patch
new file mode 100644
index 000000000000..d3ba124afe0b
--- /dev/null
+++ b/postgresql/postgresql-9.1.1-libreoffice.patch
@@ -0,0 +1,97 @@
+diff --recursive -u misc/build/postgresql-9.1.1/src/interfaces/libpq/Makefile misc/build/postgresql-9.1.1.patched/src/interfaces/libpq/Makefile
+--- misc/build/postgresql-9.1.1/src/interfaces/libpq/Makefile 2011-09-22 23:57:57.000000000 +0200
++++ misc/build/postgresql-9.1.1.patched/src/interfaces/libpq/Makefile 2011-12-15 09:02:18.000000000 +0100
+@@ -142,3 +142,6 @@
+
+ maintainer-clean: distclean maintainer-clean-lib
+ rm -f libpq-dist.rc
++
++libpq-flags.mk:
++ @printf '%s\n' 'LIBPQ_DEP_LIBS+=$(SHLIB_LINK)' > '$@'
+diff --recursive -u misc/build/postgresql-9.1.1/src/interfaces/libpq/win32.mak misc/build/postgresql-9.1.1.patched/src/interfaces/libpq/win32.mak
+--- misc/build/postgresql-9.1.1/src/interfaces/libpq/win32.mak 2011-12-14 14:28:59.000000000 +0100
++++ misc/build/postgresql-9.1.1.patched/src/interfaces/libpq/win32.mak 2011-12-15 09:11:37.000000000 +0100
+@@ -13,18 +13,19 @@
+
+ # CPU="i386" or CPU environment of nmake.exe (AMD64 or IA64)
+
+-!IF ("$(CPU)" == "")||("$(CPU)" == "i386")
+-CPU=i386
++!IF ("$(CPU)" == "")||("$(CPU)" == "I")
++MACHINE=i386
+ !MESSAGE Building the Win32 static library...
+ !MESSAGE
+-!ELSEIF ("$(CPU)" == "IA64")||("$(CPU)" == "AMD64")
++!ELSEIF ("$(CPU)" == "X")
++MACHINE=AMD64
+ ADD_DEFINES=/D "WIN64" /Wp64 /GS
+ ADD_SECLIB=bufferoverflowU.lib
+ !MESSAGE Building the Win64 static library...
+ !MESSAGE
+ !ELSE
+ !MESSAGE Please check a CPU=$(CPU) ?
+-!MESSAGE CPU=i386 or AMD64 or IA64
++!MESSAGE CPU=I or X
+ !ERROR Make aborted.
+ !ENDIF
+
+@@ -56,7 +57,7 @@
+ !ENDIF
+
+ !IF "$(KFW_LIB_PATH)" == ""
+-KFW_LIB_PATH=C:\kfw-2.6.5\lib\$(CPU)
++KFW_LIB_PATH=C:\kfw-2.6.5\lib\$(MACHINE)
+ !MESSAGE Using default Kerberos Library directory: $(KFW_LIB_PATH)
+ !ENDIF
+
+@@ -79,18 +80,11 @@
+ CPP=cl.exe
+ RSC=rc.exe
+
+-!IFDEF DEBUG
+-OUTDIR=.\Debug
+-INTDIR=.\Debug
+-CPP_OBJS=.\Debug/
+-!ELSE
+-OUTDIR=.\Release
+-INTDIR=.\Release
+-CPP_OBJS=.\Release/
+-!ENDIF
+-
++OUTDIR=.
++INTDIR=.
++CPP_OBJS=./
+
+-ALL : config "$(OUTDIR)\$(OUTFILENAME).lib" "$(OUTDIR)\$(OUTFILENAME).dll"
++ALL : config "$(OUTDIR)\$(OUTFILENAME).lib"
+
+ CLEAN :
+ -@erase "$(INTDIR)\getaddrinfo.obj"
+@@ -192,7 +186,7 @@
+
+ CPP_PROJ=/nologo /W3 /EHsc $(OPT) \
+ /I "..\..\include" /I "..\..\include\port\win32" /I "..\..\include\port\win32_msvc" \
+- /I "..\..\port" /I. /I "$(SSL_INC)" /I "$(KFW_INC)" /I "$(MOZLDAP_INC)" \
++ /I "..\..\port" /I. $(SOLARINC) \
+ /D "FRONTEND" $(DEBUGDEF) \
+ /D "WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" \
+ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c \
+@@ -230,7 +224,7 @@
+ LINK32=link.exe
+ LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib shfolder.lib wsock32.lib ws2_32.lib secur32.lib $(SSL_LIBS) $(LDAP_LIBS) $(KFW_LIBS) $(ADD_SECLIB) \
+ /nologo /subsystem:windows /dll $(LOPT) /incremental:no \
+- /pdb:"$(OUTDIR)\libpqdll.pdb" /machine:$(CPU) \
++ /pdb:"$(OUTDIR)\libpqdll.pdb" /machine:$(MACHINE) \
+ /out:"$(OUTDIR)\$(OUTFILENAME).dll"\
+ /implib:"$(OUTDIR)\$(OUTFILENAME)dll.lib" \
+ /libpath:"$(SSL_LIB_PATH)" /libpath:"$(KFW_LIB_PATH)" /libpath:"$(MOZLDAP_LIB_PATH)" \
+@@ -247,7 +241,7 @@
+ <<
+
+ "$(INTDIR)\libpq.res" : "$(INTDIR)" libpq-dist.rc
+- $(RSC) $(RSC_PROJ) libpq-dist.rc
++ $(RSC) $(SOLARINC) $(RSC_PROJ) libpq-dist.rc
+
+
+ "$(OUTDIR)\$(OUTFILENAME).dll" : "$(OUTDIR)" "$(INTDIR)\libpq.res"
+
diff --git a/postgresql/postgresql-9.1.1.patch b/postgresql/postgresql-9.1.1.patch
deleted file mode 100644
index 2ecf3f2b482c..000000000000
--- a/postgresql/postgresql-9.1.1.patch
+++ /dev/null
@@ -1,577 +0,0 @@
---- misc/postgresql-9.1.1/configure 2011-09-22 23:57:57.000000000 +0200
-+++ misc/build/postgresql-9.1.1/configure 2011-12-13 09:11:00.793031355 +0100
-@@ -718,6 +718,7 @@
- with_selinux
- with_openssl
- with_bonjour
-+with_mozldap
- with_ldap
- with_pam
- krb_srvtab
-@@ -836,6 +837,7 @@
- with_krb_srvnam
- with_pam
- with_ldap
-+with_mozldap
- with_bonjour
- with_openssl
- with_selinux
-@@ -1533,6 +1535,7 @@
- [postgres]
- --with-pam build with PAM support
- --with-ldap build with LDAP support
-+ --with-mozldap build with Mozilla LDAP support
- --with-bonjour build with Bonjour support
- --with-openssl build with OpenSSL support
- --with-selinux build with SELinux support
-@@ -5432,6 +5435,42 @@
- $as_echo "$with_ldap" >&6; }
-
-
-+{ $as_echo "$as_me:$LINENO: checking whether to build with Mozilla LDAP support" >&5
-+$as_echo_n "checking whether to build with Mozilla LDAP support... " >&6; }
-+
-+
-+
-+# Check whether --with-mozldap was given.
-+if test "${with_mozldap+set}" = set; then
-+ withval=$with_mozldap;
-+ case $withval in
-+ yes)
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define USE_MOZLDAP 1
-+_ACEOF
-+
-+ ;;
-+ no)
-+ :
-+ ;;
-+ *)
-+ { { $as_echo "$as_me:$LINENO: error: no argument expected for --with-mozldap option" >&5
-+$as_echo "$as_me: error: no argument expected for --with-mozldap option" >&2;}
-+ { (exit 1); exit 1; }; }
-+ ;;
-+ esac
-+
-+else
-+ with_mozldap=no
-+
-+fi
-+
-+
-+{ $as_echo "$as_me:$LINENO: result: $with_mozldap" >&5
-+$as_echo "$with_mozldap" >&6; }
-+
-+
-
- #
- # Bonjour
-@@ -13584,7 +13623,7 @@
- fi
-
- if test "$with_ldap" = yes ; then
-- if test "$PORTNAME" != "win32"; then
-+ if test "$with_mozldap" != "yes"; then
-
- for ac_header in ldap.h
- do
-@@ -13742,24 +13781,30 @@
-
- else
-
--for ac_header in winldap.h
-+for ac_header in mozilla/ldap/ldap.h
- do
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
--{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
- $as_echo_n "checking for $ac_header... " >&6; }
- if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-+fi
-+ac_res=`eval 'as_val=${'$as_ac_Header'}
-+ $as_echo "$as_val"'`
-+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-+$as_echo "$ac_res" >&6; }
- else
-- cat >conftest.$ac_ext <<_ACEOF
-+ # Is the header compilable?
-+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+$as_echo_n "checking $ac_header usability... " >&6; }
-+cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- $ac_includes_default
--#include <windows.h>
--
--
- #include <$ac_header>
- _ACEOF
- rm -f conftest.$ac_objext
-@@ -13780,20 +13825,101 @@
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-- eval "$as_ac_Header=yes"
-+ ac_header_compiler=yes
- else
- $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
-- eval "$as_ac_Header=no"
-+ ac_header_compiler=no
- fi
-
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+$as_echo "$ac_header_compiler" >&6; }
-+
-+# Is the header present?
-+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-+$as_echo_n "checking $ac_header presence... " >&6; }
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+#include <$ac_header>
-+_ACEOF
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } >/dev/null && {
-+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ }; then
-+ ac_header_preproc=yes
-+else
-+ $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_header_preproc=no
-+fi
-+
-+rm -f conftest.err conftest.$ac_ext
-+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+$as_echo "$ac_header_preproc" >&6; }
-+
-+# So? What about this header?
-+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-+ yes:no: )
-+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-+ ac_header_preproc=yes
-+ ;;
-+ no:yes:* )
-+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
-+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
-+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-+ ( cat <<\_ASBOX
-+## ---------------------------------------- ##
-+## Report this to pgsql-bugs@postgresql.org ##
-+## ---------------------------------------- ##
-+_ASBOX
-+ ) | sed "s/^/$as_me: WARNING: /" >&2
-+ ;;
-+esac
-+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-+$as_echo_n "checking for $ac_header... " >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+ $as_echo_n "(cached) " >&6
-+else
-+ eval "$as_ac_Header=\$ac_header_preproc"
- fi
- ac_res=`eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
- $as_echo "$ac_res" >&6; }
-+
-+fi
- as_val=`eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
-@@ -13802,8 +13928,8 @@
- _ACEOF
-
- else
-- { { $as_echo "$as_me:$LINENO: error: header file <winldap.h> is required for LDAP" >&5
--$as_echo "$as_me: error: header file <winldap.h> is required for LDAP" >&2;}
-+ { { $as_echo "$as_me:$LINENO: error: header file <mozilla/ldap/ldap.h> is required for LDAP" >&5
-+$as_echo "$as_me: error: header file <mozilla/ldap/ldap.h> is required for LDAP" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
-@@ -23348,7 +23474,7 @@
- # We can test for libldap_r only after we know PTHREAD_LIBS
- if test "$with_ldap" = yes ; then
- _LIBS="$LIBS"
-- if test "$PORTNAME" != "win32"; then
-+ if test "$with_mozldap" != "yes"; then
-
- { $as_echo "$as_me:$LINENO: checking for ldap_bind in -lldap" >&5
- $as_echo_n "checking for ldap_bind in -lldap... " >&6; }
-@@ -23516,13 +23642,13 @@
- fi
- else
-
--{ $as_echo "$as_me:$LINENO: checking for ldap_bind in -lwldap32" >&5
--$as_echo_n "checking for ldap_bind in -lwldap32... " >&6; }
--if test "${ac_cv_lib_wldap32_ldap_bind+set}" = set; then
-+{ $as_echo "$as_me:$LINENO: checking for ldap_bind in -lldap50" >&5
-+$as_echo_n "checking for ldap_bind in -lldap50... " >&6; }
-+if test "${ac_cv_lib_ldap50_ldap_bind+set}" = set; then
- $as_echo_n "(cached) " >&6
- else
- ac_check_lib_save_LIBS=$LIBS
--LIBS="-lwldap32 $LIBS"
-+LIBS="-lldap50 $PTHREAD_CFLAGS $PTHREAD_LIBS $EXTRA_LDAP_LIBS $LIBS"
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -23566,12 +23692,12 @@
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
-- ac_cv_lib_wldap32_ldap_bind=yes
-+ ac_cv_lib_ldap50_ldap_bind=yes
- else
- $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-
-- ac_cv_lib_wldap32_ldap_bind=no
-+ ac_cv_lib_ldap50_ldap_bind=no
- fi
-
- rm -rf conftest.dSYM
-@@ -23579,23 +23705,23 @@
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
--{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_wldap32_ldap_bind" >&5
--$as_echo "$ac_cv_lib_wldap32_ldap_bind" >&6; }
--if test "x$ac_cv_lib_wldap32_ldap_bind" = x""yes; then
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ldap50_ldap_bind" >&5
-+$as_echo "$ac_cv_lib_ldap50_ldap_bind" >&6; }
-+if test "x$ac_cv_lib_ldap50_ldap_bind" = x""yes; then
- cat >>confdefs.h <<_ACEOF
--#define HAVE_LIBWLDAP32 1
-+#define HAVE_LIBLDAP50 1
- _ACEOF
-
-- LIBS="-lwldap32 $LIBS"
-+ LIBS="-lldap50 $LIBS"
-
- else
-- { { $as_echo "$as_me:$LINENO: error: library 'wldap32' is required for LDAP" >&5
--$as_echo "$as_me: error: library 'wldap32' is required for LDAP" >&2;}
-+ { { $as_echo "$as_me:$LINENO: error: library 'ldap50' is required for Mozilla LDAP" >&5
-+$as_echo "$as_me: error: library 'ldap50' is required for Mozilla LDAP" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
-- LDAP_LIBS_FE="-lwldap32"
-- LDAP_LIBS_BE="-lwldap32"
-+ LDAP_LIBS_FE="-lldap50"
-+ LDAP_LIBS_BE="-lldap50"
- fi
- LIBS="$_LIBS"
- fi
---- misc/postgresql-9.1.1/configure.in 2011-09-22 23:57:57.000000000 +0200
-+++ misc/build/postgresql-9.1.1/configure.in 2011-12-13 09:10:29.081068467 +0100
-@@ -662,6 +662,13 @@
- AC_MSG_RESULT([$with_ldap])
- AC_SUBST(with_ldap)
-
-+AC_MSG_CHECKING([whether to build with Mozilla LDAP support])
-+PGAC_ARG_BOOL(with, mozldap, no,
-+ [build with Mozilla LDAP support],
-+ [AC_DEFINE([USE_MOZLDAP], 1, [Define to 1 to build with Mozilla LDAP support. (--with-mozldap)])])
-+AC_MSG_RESULT([$with_mozldap])
-+AC_SUBST(with_mozldap)
-+
-
- #
- # Bonjour
-@@ -1077,15 +1084,12 @@
- fi
-
- if test "$with_ldap" = yes ; then
-- if test "$PORTNAME" != "win32"; then
-+ if test "$with_mozldap" != "yes"; then
- AC_CHECK_HEADERS(ldap.h, [],
- [AC_MSG_ERROR([header file <ldap.h> is required for LDAP])])
- else
-- AC_CHECK_HEADERS(winldap.h, [],
-- [AC_MSG_ERROR([header file <winldap.h> is required for LDAP])],
-- [AC_INCLUDES_DEFAULT
--#include <windows.h>
-- ])
-+ AC_CHECK_HEADERS(mozilla/ldap/ldap.h, [],
-+ [AC_MSG_ERROR([header file <mozilla/ldap/ldap.h> is required for LDAP])])
- fi
- fi
-
-@@ -1498,7 +1502,7 @@
- # We can test for libldap_r only after we know PTHREAD_LIBS
- if test "$with_ldap" = yes ; then
- _LIBS="$LIBS"
-- if test "$PORTNAME" != "win32"; then
-+ if test "$with_mozldap" != "yes"; then
- AC_CHECK_LIB(ldap, ldap_bind, [],
- [AC_MSG_ERROR([library 'ldap' is required for LDAP])],
- [$EXTRA_LDAP_LIBS])
-@@ -1513,9 +1517,11 @@
- LDAP_LIBS_FE="-lldap $EXTRA_LDAP_LIBS"
- fi
- else
-- AC_CHECK_LIB(wldap32, ldap_bind, [], [AC_MSG_ERROR([library 'wldap32' is required for LDAP])])
-- LDAP_LIBS_FE="-lwldap32"
-- LDAP_LIBS_BE="-lwldap32"
-+ AC_CHECK_LIB(ldap50, ldap_bind, [],
-+ [AC_MSG_ERROR([library 'ldap50' is required for Mozilla LDAP])],
-+ [$PTHREAD_CFLAGS $PTHREAD_LIBS $EXTRA_LDAP_LIBS])
-+ LDAP_LIBS_FE="-lldap50"
-+ LDAP_LIBS_BE="-lldap50"
- fi
- LIBS="$_LIBS"
- fi
---- misc/postgresql-9.1.1/src/backend/libpq/auth.c 2011-09-22 23:57:57.000000000 +0200
-+++ misc/build/postgresql-9.1.1/src/backend/libpq/auth.c 2011-12-13 09:09:19.687090167 +0100
-@@ -93,22 +93,11 @@
- *----------------------------------------------------------------
- */
- #ifdef USE_LDAP
--#ifndef WIN32
--/* We use a deprecated function to keep the codepath the same as win32. */
- #define LDAP_DEPRECATED 1
--#include <ldap.h>
-+#ifdef USE_MOZLDAP
-+#include <mozilla/ldap/ldap.h>
- #else
--#include <winldap.h>
--
--/* Correct header from the Platform SDK */
--typedef
--ULONG (*__ldap_start_tls_sA) (
-- IN PLDAP ExternalHandle,
-- OUT PULONG ServerReturnValue,
-- OUT LDAPMessage **result,
-- IN PLDAPControlA * ServerControls,
-- IN PLDAPControlA * ClientControls
--);
-+#include <ldap.h>
- #endif
-
- static int CheckLDAPAuth(Port *port);
---- misc/postgresql-9.1.1/src/include/pg_config.h.in 2011-09-22 23:57:57.000000000 +0200
-+++ misc/build/postgresql-9.1.1/src/include/pg_config.h.in 2011-12-13 09:11:04.000000000 +0100
-@@ -293,6 +293,9 @@
- /* Define to 1 if you have the `ldap' library (-lldap). */
- #undef HAVE_LIBLDAP
-
-+/* Define to 1 if you have the `ldap50' library (-lldap50). */
-+#undef HAVE_LIBLDAP50
-+
- /* Define to 1 if you have the `ldap_r' library (-lldap_r). */
- #undef HAVE_LIBLDAP_R
-
-@@ -314,9 +317,6 @@
- /* Define to 1 if you have the `ssleay32' library (-lssleay32). */
- #undef HAVE_LIBSSLEAY32
-
--/* Define to 1 if you have the `wldap32' library (-lwldap32). */
--#undef HAVE_LIBWLDAP32
--
- /* Define to 1 if you have the `xml2' library (-lxml2). */
- #undef HAVE_LIBXML2
-
-@@ -351,6 +351,9 @@
- /* Define to 1 if the system has the type `MINIDUMP_TYPE'. */
- #undef HAVE_MINIDUMP_TYPE
-
-+/* Define to 1 if you have the <mozilla/ldap/ldap.h> header file. */
-+#undef HAVE_MOZILLA_LDAP_LDAP_H
-+
- /* Define to 1 if you have the <netinet/in.h> header file. */
- #undef HAVE_NETINET_IN_H
-
-@@ -659,9 +662,6 @@
- /* Define to 1 if you have the <wctype.h> header file. */
- #undef HAVE_WCTYPE_H
-
--/* Define to 1 if you have the <winldap.h> header file. */
--#undef HAVE_WINLDAP_H
--
- /* Define to the appropriate snprintf format for 64-bit ints. */
- #undef INT64_FORMAT
-
-@@ -785,6 +785,9 @@
- (--with-libxslt) */
- #undef USE_LIBXSLT
-
-+/* Define to 1 to build with Mozilla LDAP support. (--with-mozldap) */
-+#undef USE_MOZLDAP
-+
- /* Define to select named POSIX semaphores. */
- #undef USE_NAMED_POSIX_SEMAPHORES
-
---- misc/postgresql-9.1.1/src/interfaces/libpq/Makefile 2011-09-22 23:57:57.000000000 +0200
-+++ misc/build/postgresql-9.1.1/src/interfaces/libpq/Makefile 2011-12-13 09:09:19.690090248 +0100
-@@ -142,3 +142,6 @@
-
- maintainer-clean: distclean maintainer-clean-lib
- rm -f libpq-dist.rc
-+
-+libpq-flags.mk:
-+ @printf '%s\n' 'LIBPQ_DEP_LIBS+=$(SHLIB_LINK)' > '$@'
---- misc/postgresql-9.1.1/src/interfaces/libpq/fe-connect.c 2011-09-22 23:57:57.000000000 +0200
-+++ misc/build/postgresql-9.1.1/src/interfaces/libpq/fe-connect.c 2011-12-13 09:09:19.692090304 +0100
-@@ -60,14 +60,13 @@
- #endif
-
- #ifdef USE_LDAP
--#ifdef WIN32
--#include <winldap.h>
-+#ifdef USE_MOZLDAP
-+#include <mozilla/ldap/ldap.h>
- #else
--/* OpenLDAP deprecates RFC 1823, but we want standard conformance */
- #define LDAP_DEPRECATED 1
- #include <ldap.h>
--typedef struct timeval LDAP_TIMEVAL;
- #endif
-+typedef struct timeval LDAP_TIMEVAL;
- static int ldapServiceLookup(const char *purl, PQconninfoOption *options,
- PQExpBuffer errorMessage);
- #endif
---- misc/postgresql-9.1.1/src/interfaces/libpq/win32.mak 2011-09-22 23:57:57.000000000 +0200
-+++ misc/build/postgresql-9.1.1/src/interfaces/libpq/win32.mak 2011-12-13 09:09:19.694090358 +0100
-@@ -11,18 +11,19 @@
-
- # CPU="i386" or CPU environment of nmake.exe (AMD64 or IA64)
-
--!IF ("$(CPU)" == "")||("$(CPU)" == "i386")
--CPU=i386
-+!IF ("$(CPU)" == "")||("$(CPU)" == "I")
-+MACHINE=i386
- !MESSAGE Building the Win32 static library...
- !MESSAGE
--!ELSEIF ("$(CPU)" == "IA64")||("$(CPU)" == "AMD64")
-+!ELSEIF ("$(CPU)" == "X")
-+MACHINE=AMD64
- ADD_DEFINES=/D "WIN64" /Wp64 /GS
- ADD_SECLIB=bufferoverflowU.lib
- !MESSAGE Building the Win64 static library...
- !MESSAGE
- !ELSE
- !MESSAGE Please check a CPU=$(CPU) ?
--!MESSAGE CPU=i386 or AMD64 or IA64
-+!MESSAGE CPU=I or X
- !ERROR Make aborted.
- !ENDIF
-
-@@ -54,7 +55,7 @@
- !ENDIF
-
- !IF "$(KFW_LIB_PATH)" == ""
--KFW_LIB_PATH=C:\kfw-2.6.5\lib\$(CPU)
-+KFW_LIB_PATH=C:\kfw-2.6.5\lib\$(MACHINE)
- !MESSAGE Using default Kerberos Library directory: $(KFW_LIB_PATH)
- !ENDIF
-
-@@ -67,18 +68,11 @@
- CPP=cl.exe
- RSC=rc.exe
-
--!IFDEF DEBUG
--OUTDIR=.\Debug
--INTDIR=.\Debug
--CPP_OBJS=.\Debug/
--!ELSE
--OUTDIR=.\Release
--INTDIR=.\Release
--CPP_OBJS=.\Release/
--!ENDIF
--
-+OUTDIR=.
-+INTDIR=.
-+CPP_OBJS=./
-
--ALL : config "$(OUTDIR)\$(OUTFILENAME).lib" "$(OUTDIR)\$(OUTFILENAME).dll"
-+ALL : config "$(OUTDIR)\$(OUTFILENAME).lib"
-
- CLEAN :
- -@erase "$(INTDIR)\getaddrinfo.obj"
-@@ -178,7 +172,7 @@
- "$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
--CPP_PROJ=/nologo /W3 /EHsc $(OPT) /I "..\..\include" /I "..\..\include\port\win32" /I "..\..\include\port\win32_msvc" /I "..\..\port" /I. /I "$(SSL_INC)" \
-+CPP_PROJ=/nologo /W3 /EHsc $(OPT) /I "..\..\include" /I "..\..\include\port\win32" /I "..\..\include\port\win32_msvc" /I "..\..\port" /I. $(SOLARINC) \
- /D "FRONTEND" $(DEBUGDEF) \
- /D "WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" \
- /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c \
-@@ -189,6 +183,15 @@
- SSL_LIBS=ssleay32.lib libeay32.lib gdi32.lib
- !ENDIF
-
-+!IFDEF USE_LDAP
-+CPP_PROJ=$(CPP_PROJ) /D USE_LDAP
-+LDAP_LIBS=wldap32.lib
-+!ENDIF
-+
-+!IFDEF USE_MOZLDAP
-+CPP_PROJ=$(CPP_PROJ) /D USE_MOZLDAP
-+!ENDIF
-+
- !IFDEF USE_KFW
- CPP_PROJ=$(CPP_PROJ) /D KRB5
- KFW_LIBS=krb5_32.lib comerr32.lib gssapi32.lib
-@@ -203,9 +206,9 @@
- RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq.res"
-
- LINK32=link.exe
--LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib shfolder.lib wsock32.lib ws2_32.lib secur32.lib $(SSL_LIBS) $(KFW_LIB) $(ADD_SECLIB) \
-+LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib shfolder.lib wsock32.lib ws2_32.lib secur32.lib $(SSL_LIBS) $(LDAP_LIBS) $(KFW_LIB) $(ADD_SECLIB) \
- /nologo /subsystem:windows /dll $(LOPT) /incremental:no \
-- /pdb:"$(OUTDIR)\libpqdll.pdb" /machine:$(CPU) \
-+ /pdb:"$(OUTDIR)\libpqdll.pdb" /machine:$(MACHINE) \
- /out:"$(OUTDIR)\$(OUTFILENAME).dll"\
- /implib:"$(OUTDIR)\$(OUTFILENAME)dll.lib" \
- /libpath:"$(SSL_LIB_PATH)" /libpath:"$(KFW_LIB_PATH)" \
-@@ -222,7 +225,7 @@
- <<
-
- "$(INTDIR)\libpq.res" : "$(INTDIR)" libpq-dist.rc
-- $(RSC) $(RSC_PROJ) libpq-dist.rc
-+ $(RSC) $(SOLARINC) $(RSC_PROJ) libpq-dist.rc
-
-
- "$(OUTDIR)\$(OUTFILENAME).dll" : "$(OUTDIR)" "$(INTDIR)\libpq.res"
diff --git a/postgresql/postgresql-moz-ldap.patch b/postgresql/postgresql-moz-ldap.patch
new file mode 100644
index 000000000000..ceb82567f798
--- /dev/null
+++ b/postgresql/postgresql-moz-ldap.patch
@@ -0,0 +1,228 @@
+diff --recursive -u misc/build/postgresql-9.1.1/configure.in misc/build/postgresql-9.1.1.patched/configure.in
+--- misc/build/postgresql-9.1.1/configure.in 2011-09-22 23:57:57.000000000 +0200
++++ misc/build/postgresql-9.1.1.patched/configure.in 2011-12-14 13:10:11.000000000 +0100
+@@ -662,6 +662,13 @@
+ AC_MSG_RESULT([$with_ldap])
+ AC_SUBST(with_ldap)
+
++AC_MSG_CHECKING([whether to use Mozilla C SDK for LDAP support])
++PGAC_ARG_BOOL(with, mozldap, no,
++ [build with Mozilla LDAP support],
++ [AC_DEFINE([USE_MOZLDAP], 1, [Define to 1 to use the Mozilla LDAP C SDK instead of platform default (OpenLDAP or Microsoft LDAP). (--with-mozldap)])])
++AC_MSG_RESULT([$with_mozldap])
++AC_SUBST(with_mozldap)
++
+
+ #
+ # Bonjour
+@@ -1077,7 +1084,7 @@
+ fi
+
+ if test "$with_ldap" = yes ; then
+- if test "$PORTNAME" != "win32"; then
++ if test "$PORTNAME" != "win32" || test "$with_mozldap" = "yes"; then
+ AC_CHECK_HEADERS(ldap.h, [],
+ [AC_MSG_ERROR([header file <ldap.h> is required for LDAP])])
+ else
+@@ -1086,6 +1093,7 @@
+ [AC_INCLUDES_DEFAULT
+ #include <windows.h>
+ ])
++ AC_DEFINE([USE_MICROSOFT_LDAP], 1, [Defined when using Microsof LDAP])
+ fi
+ fi
+
+@@ -1498,7 +1506,18 @@
+ # We can test for libldap_r only after we know PTHREAD_LIBS
+ if test "$with_ldap" = yes ; then
+ _LIBS="$LIBS"
+- if test "$PORTNAME" != "win32"; then
++ if test "$with_mozldap" = "yes"; then
++ if test "$PORTNAME" != "win32"; then
++ mozlibname=ldap50
++ else
++ mozlibname=nsldap32v50
++ fi
++ AC_CHECK_LIB($mozlibname, ldap_bind, [],
++ [AC_MSG_ERROR([library "$mozlibname" is required for Mozilla LDAP])],
++ [$PTHREAD_CFLAGS $PTHREAD_LIBS $EXTRA_LDAP_LIBS])
++ LDAP_LIBS_FE="-l$mozlibname $EXTRA_LDAP_LIBS"
++ LDAP_LIBS_BE="-l$mozlibname $EXTRA_LDAP_LIBS"
++ elif test "$PORTNAME" != "win32"; then
+ AC_CHECK_LIB(ldap, ldap_bind, [],
+ [AC_MSG_ERROR([library 'ldap' is required for LDAP])],
+ [$EXTRA_LDAP_LIBS])
+diff --recursive -u misc/build/postgresql-9.1.1/src/backend/libpq/auth.c misc/build/postgresql-9.1.1.patched/src/backend/libpq/auth.c
+--- misc/build/postgresql-9.1.1/src/backend/libpq/auth.c 2011-09-22 23:57:57.000000000 +0200
++++ misc/build/postgresql-9.1.1.patched/src/backend/libpq/auth.c 2011-12-14 13:10:11.000000000 +0100
+@@ -93,11 +93,7 @@
+ *----------------------------------------------------------------
+ */
+ #ifdef USE_LDAP
+-#ifndef WIN32
+-/* We use a deprecated function to keep the codepath the same as win32. */
+-#define LDAP_DEPRECATED 1
+-#include <ldap.h>
+-#else
++#ifdef USE_MICROSOFT_LDAP
+ #include <winldap.h>
+
+ /* Correct header from the Platform SDK */
+@@ -109,6 +105,10 @@
+ IN PLDAPControlA * ServerControls,
+ IN PLDAPControlA * ClientControls
+ );
++#else
++/* We use a deprecated function to keep the codepath the same as win32. */
++#define LDAP_DEPRECATED 1
++#include <ldap.h>
+ #endif
+
+ static int CheckLDAPAuth(Port *port);
+@@ -2043,7 +2043,7 @@
+ *ldap = ldap_init(port->hba->ldapserver, port->hba->ldapport);
+ if (!*ldap)
+ {
+-#ifndef WIN32
++#ifndef USE_MICROSOFT_LDAP
+ ereport(LOG,
+ (errmsg("could not initialize LDAP: error code %d",
+ errno)));
+@@ -2065,7 +2065,7 @@
+
+ if (port->hba->ldaptls)
+ {
+-#ifndef WIN32
++#ifndef USE_MICROSOFT_LDAP
+ if ((r = ldap_start_tls_s(*ldap, NULL, NULL)) != LDAP_SUCCESS)
+ #else
+ static __ldap_start_tls_sA _ldap_start_tls_sA = NULL;
+diff --recursive -u misc/build/postgresql-9.1.1/src/interfaces/libpq/fe-connect.c misc/build/postgresql-9.1.1.patched/src/interfaces/libpq/fe-connect.c
+--- misc/build/postgresql-9.1.1/src/interfaces/libpq/fe-connect.c 2011-09-22 23:57:57.000000000 +0200
++++ misc/build/postgresql-9.1.1.patched/src/interfaces/libpq/fe-connect.c 2011-12-14 13:10:11.000000000 +0100
+@@ -60,7 +60,7 @@
+ #endif
+
+ #ifdef USE_LDAP
+-#ifdef WIN32
++#ifdef USE_MICROSOFT_LDAP
+ #include <winldap.h>
+ #else
+ /* OpenLDAP deprecates RFC 1823, but we want standard conformance */
+diff --recursive -u misc/build/postgresql-9.1.1/src/interfaces/libpq/win32.mak misc/build/postgresql-9.1.1.patched/src/interfaces/libpq/win32.mak
+--- misc/build/postgresql-9.1.1/src/interfaces/libpq/win32.mak 2011-09-22 23:57:57.000000000 +0200
++++ misc/build/postgresql-9.1.1.patched/src/interfaces/libpq/win32.mak 2011-12-14 13:11:25.000000000 +0100
+@@ -4,6 +4,8 @@
+ # and a dynamic library libpq(d).dll with import library libpq(d)dll.lib
+ # USE_SSL=1 will compile with OpenSSL
+ # USE_KFW=1 will compile with kfw(kerberos for Windows)
++# USE_LDAP=1 will compile with LDAP support
++# USE_MOZLDAP=1 when LDAP is enabled, use Mozilla LDAP C SDK instead of Microsoft LDAP
+ # DEBUG=1 compiles with debugging symbols
+ # ENABLE_THREAD_SAFETY=1 compiles with threading enabled
+
+@@ -58,6 +60,16 @@
+ !MESSAGE Using default Kerberos Library directory: $(KFW_LIB_PATH)
+ !ENDIF
+
++!IF "$(MOZLDAP_INC)" == ""
++MOZLDAP_INC=C:\ldapcsdk-6.0.7\include
++!MESSAGE Using default Mozilla LDAP Include directory: $(MOZLDAP_INC)
++!ENDIF
++
++!IF "$(MOZLDAP_LIB_PATH)" == ""
++MOZLDAP_PATH=C:\ldapcsdk-6.0.7\lib
++!MESSAGE Using default Mozilla LDAP Library directory: $(MOZLDAP_LIB_PATH)
++!ENDIF
++
+ !IF "$(OS)" == "Windows_NT"
+ NULL=
+ !ELSE
+@@ -178,7 +190,9 @@
+ "$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+-CPP_PROJ=/nologo /W3 /EHsc $(OPT) /I "..\..\include" /I "..\..\include\port\win32" /I "..\..\include\port\win32_msvc" /I "..\..\port" /I. /I "$(SSL_INC)" \
++CPP_PROJ=/nologo /W3 /EHsc $(OPT) \
++ /I "..\..\include" /I "..\..\include\port\win32" /I "..\..\include\port\win32_msvc" \
++ /I "..\..\port" /I. /I "$(SSL_INC)" /I "$(KFW_INC)" /I "$(MOZLDAP_INC)" \
+ /D "FRONTEND" $(DEBUGDEF) \
+ /D "WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" \
+ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c \
+@@ -189,6 +203,17 @@
+ SSL_LIBS=ssleay32.lib libeay32.lib gdi32.lib
+ !ENDIF
+
++!IFDEF USE_LDAP
++CPP_PROJ=$(CPP_PROJ) /D USE_LDAP
++!IFDEF USE_MOZLDAP
++CPP_PROJ=$(CPP_PROJ) /D USE_MOZLDAP
++LDAP_LIBS=nsldap32v50.lib
++!ELSE
++CPP_PROJ=$(CPP_PROJ) /D USE_MICROSOFT_LDAP
++LDAP_LIBS=wldap32.lib
++!ENDIF
++!ENDIF # DEFINED(USE_LDAP)
++
+ !IFDEF USE_KFW
+ CPP_PROJ=$(CPP_PROJ) /D KRB5
+ KFW_LIBS=krb5_32.lib comerr32.lib gssapi32.lib
+@@ -203,12 +228,12 @@
+ RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq.res"
+
+ LINK32=link.exe
+-LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib shfolder.lib wsock32.lib ws2_32.lib secur32.lib $(SSL_LIBS) $(KFW_LIB) $(ADD_SECLIB) \
++LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib shfolder.lib wsock32.lib ws2_32.lib secur32.lib $(SSL_LIBS) $(LDAP_LIBS) $(KFW_LIBS) $(ADD_SECLIB) \
+ /nologo /subsystem:windows /dll $(LOPT) /incremental:no \
+ /pdb:"$(OUTDIR)\libpqdll.pdb" /machine:$(CPU) \
+ /out:"$(OUTDIR)\$(OUTFILENAME).dll"\
+ /implib:"$(OUTDIR)\$(OUTFILENAME)dll.lib" \
+- /libpath:"$(SSL_LIB_PATH)" /libpath:"$(KFW_LIB_PATH)" \
++ /libpath:"$(SSL_LIB_PATH)" /libpath:"$(KFW_LIB_PATH)" /libpath:"$(MOZLDAP_LIB_PATH)" \
+ /def:$(OUTFILENAME)dll.def
+ LINK32_OBJS= \
+ "$(OUTDIR)\$(OUTFILENAME).lib" \
+diff --recursive -u misc/build/postgresql-9.1.1/src/tools/msvc/config_default.pl misc/build/postgresql-9.1.1.patched/src/tools/msvc/config_default.pl
+--- misc/build/postgresql-9.1.1/src/tools/msvc/config_default.pl 2011-09-22 23:57:57.000000000 +0200
++++ misc/build/postgresql-9.1.1.patched/src/tools/msvc/config_default.pl 2011-12-14 13:10:11.000000000 +0100
+@@ -11,6 +11,7 @@
+ # wal_blocksize => 8, # --with-wal-blocksize, 8kB by default
+ # wal_segsize => 16, # --with-wal-segsize, 16MB by default
+ ldap=>1, # --with-ldap
++ # mozldap=>1, # --with-mozldap, off by default
+ nls=>undef, # --enable-nls=<path>
+ tcl=>undef, # --with-tls=<path>
+ perl=>undef, # --with-perl
+diff --recursive -u misc/build/postgresql-9.1.1/src/tools/msvc/Mkvcbuild.pm misc/build/postgresql-9.1.1.patched/src/tools/msvc/Mkvcbuild.pm
+--- misc/build/postgresql-9.1.1/src/tools/msvc/Mkvcbuild.pm 2011-09-22 23:57:57.000000000 +0200
++++ misc/build/postgresql-9.1.1.patched/src/tools/msvc/Mkvcbuild.pm 2011-12-14 13:10:11.000000000 +0100
+@@ -78,7 +78,8 @@
+ $postgres->AddLibrary('wsock32.lib');
+ $postgres->AddLibrary('ws2_32.lib');
+ $postgres->AddLibrary('secur32.lib');
+- $postgres->AddLibrary('wldap32.lib') if ($solution->{options}->{ldap});
++ $postgres->AddLibrary('wldap32.lib') if ($solution->{options}->{ldap} && ! $solution->{options}->{mozldap});
++ $postgres->AddLibrary('nsldap32v50.lib') if ($solution->{options}->{ldap} && $solution->{options}->{mozldap});
+ $postgres->FullExportDLL('postgres.lib');
+
+ my $snowball = $solution->AddProject('dict_snowball','dll','','src\backend\snowball');
+diff --recursive -u misc/build/postgresql-9.1.1/src/tools/msvc/Solution.pm misc/build/postgresql-9.1.1.patched/src/tools/msvc/Solution.pm
+--- misc/build/postgresql-9.1.1/src/tools/msvc/Solution.pm 2011-09-22 23:57:57.000000000 +0200
++++ misc/build/postgresql-9.1.1.patched/src/tools/msvc/Solution.pm 2011-12-14 13:10:11.000000000 +0100
+@@ -174,6 +174,8 @@
+ print O "#define USE_ASSERT_CHECKING 1\n" if ($self->{options}->{asserts});
+ print O "#define USE_INTEGER_DATETIMES 1\n" if ($self->{options}->{integer_datetimes});
+ print O "#define USE_LDAP 1\n" if ($self->{options}->{ldap});
++ print O "#define USE_MICROSOFT_LDAP 1\n" if ( ! $self->{options}->{mozldap});
++ print O "#define USE_MOZLDAP 1\n" if ($self->{options}->{mozldap});
+ print O "#define HAVE_LIBZ 1\n" if ($self->{options}->{zlib});
+ print O "#define USE_SSL 1\n" if ($self->{options}->{openssl});
+ print O "#define ENABLE_NLS 1\n" if ($self->{options}->{nls});
+@@ -559,6 +561,7 @@
+ $cfg .= ' --enable-integer-datetimes' if ($self->{options}->{integer_datetimes});
+ $cfg .= ' --enable-nls' if ($self->{options}->{nls});
+ $cfg .= ' --with-ldap' if ($self->{options}->{ldap});
++ $cfg .= ' --with-mozldap' if ($self->{options}->{mozldap});
+ $cfg .= ' --without-zlib' unless ($self->{options}->{zlib});
+ $cfg .= ' --with-openssl' if ($self->{options}->{ssl});
+ $cfg .= ' --with-ossp-uuid' if ($self->{options}->{uuid});