[Libreoffice-commits] .: postgresql/makefile.mk postgresql/postgresql-9.1.1-autoreconf.patch postgresql/postgresql-9.1.1-libreoffice.patch postgresql/postgresql-9.1.1.patch postgresql/postgresql-moz-ldap.patch

Lionel Elie Mamane lmamane at kemper.freedesktop.org
Thu Dec 15 04:34:23 PST 2011


 postgresql/makefile.mk                        |    6 
 postgresql/postgresql-9.1.1-autoreconf.patch  |  209 +++++++++
 postgresql/postgresql-9.1.1-libreoffice.patch |   97 ++++
 postgresql/postgresql-9.1.1.patch             |  577 --------------------------
 postgresql/postgresql-moz-ldap.patch          |  228 ++++++++++
 5 files changed, 538 insertions(+), 579 deletions(-)

New commits:
commit 7f2f96330056e62fffc96690e077b89cd338dd10
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Thu Dec 15 13:33:59 2011 +0100

    postgresql: separate patch into upstream & libreoffice-specific parts

diff --git a/postgresql/makefile.mk b/postgresql/makefile.mk
index 8b57a07..e4e3969 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 0000000..24e294a
--- /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 0000000..d3ba124
--- /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 :
+ 	- at 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 2ecf3f2..0000000
--- 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 at 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 :
- 	- at 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 0000000..ceb8256
--- /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});


More information about the Libreoffice-commits mailing list