From 7f2f96330056e62fffc96690e077b89cd338dd10 Mon Sep 17 00:00:00 2001 From: Lionel Elie Mamane Date: Thu, 15 Dec 2011 13:33:59 +0100 Subject: postgresql: separate patch into upstream & libreoffice-specific parts --- 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(-) create mode 100644 postgresql/postgresql-9.1.1-autoreconf.patch create mode 100644 postgresql/postgresql-9.1.1-libreoffice.patch delete mode 100644 postgresql/postgresql-9.1.1.patch create mode 100644 postgresql/postgresql-moz-ldap.patch 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 -- -- - #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 is required for LDAP" >&5 --$as_echo "$as_me: error: header file is required for LDAP" >&2;} -+ { { $as_echo "$as_me:$LINENO: error: header file is required for LDAP" >&5 -+$as_echo "$as_me: error: header file 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 is required for LDAP])]) - else -- AC_CHECK_HEADERS(winldap.h, [], -- [AC_MSG_ERROR([header file is required for LDAP])], -- [AC_INCLUDES_DEFAULT --#include -- ]) -+ AC_CHECK_HEADERS(mozilla/ldap/ldap.h, [], -+ [AC_MSG_ERROR([header file 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 -+#ifdef USE_MOZLDAP -+#include - #else --#include -- --/* 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 - #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 header file. */ -+#undef HAVE_MOZILLA_LDAP_LDAP_H -+ - /* Define to 1 if you have the header file. */ - #undef HAVE_NETINET_IN_H - -@@ -659,9 +662,6 @@ - /* Define to 1 if you have the header file. */ - #undef HAVE_WCTYPE_H - --/* Define to 1 if you have the 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 -+#ifdef USE_MOZLDAP -+#include - #else --/* OpenLDAP deprecates RFC 1823, but we want standard conformance */ - #define LDAP_DEPRECATED 1 - #include --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 is required for LDAP])]) + else +@@ -1086,6 +1093,7 @@ + [AC_INCLUDES_DEFAULT + #include + ]) ++ 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 +-#else ++#ifdef USE_MICROSOFT_LDAP + #include + + /* 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 + #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 + #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= + tcl=>undef, # --with-tls= + 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}); -- cgit