diff options
Diffstat (limited to 'external/openldap')
-rw-r--r-- | external/openldap/ExternalProject_openldap.mk | 56 | ||||
-rw-r--r-- | external/openldap/Makefile | 7 | ||||
-rw-r--r-- | external/openldap/Module_openldap.mk | 17 | ||||
-rw-r--r-- | external/openldap/README | 3 | ||||
-rw-r--r-- | external/openldap/UnpackedTarball_openldap.mk | 25 | ||||
-rw-r--r-- | external/openldap/openldap-2.4.44.patch.1 | 73 |
6 files changed, 181 insertions, 0 deletions
diff --git a/external/openldap/ExternalProject_openldap.mk b/external/openldap/ExternalProject_openldap.mk new file mode 100644 index 000000000..46e9168f5 --- /dev/null +++ b/external/openldap/ExternalProject_openldap.mk @@ -0,0 +1,56 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_ExternalProject_ExternalProject,openldap)) + +$(eval $(call gb_ExternalProject_use_externals,openldap,nss3)) + +$(eval $(call gb_ExternalProject_register_targets,openldap,\ + build \ +)) + +openldap_LDFLAGS = +ifeq ($(SYSTEM_NSS),) +openldap_LDFLAGS += -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib \ + $(if $(filter AIX,$(OS)),-Wl$(COMMA)-brtl) +endif +# Help openldap's configure determine that it needs -lpthread even if libasan.so +# contains a pthread_create override: +ifneq ($(filter -fsanitize=address,$(CC)),) +openldap_LDFLAGS += -pthread +endif + +$(call gb_ExternalProject_get_state_target,openldap,build) : + $(call gb_Trace_StartRange,openldap,EXTERNAL) + $(call gb_ExternalProject_run,build,\ + ./configure \ + --disable-slapd \ + --with-pic \ + --with-tls=moznss \ + --without-cyrus-sasl \ + --disable-shared \ + --enable-static \ + $(if $(CROSS_COMPILING), \ + --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) \ + --with-yielding_select=yes \ + ac_cv_func_memcmp_working=yes \ + ) \ + $(if $(SYSTEM_NSS), \ + CPPFLAGS="$(CPPFLAGS) $(NSS_CFLAGS)" CFLAGS="$(CFLAGS) $(NSS_CFLAGS) $(if $(ENABLE_OPTIMIZED),$(gb_COMPILEROPTFLAGS),$(gb_COMPILERNOOPTFLAGS))" LDFLAGS="$(LDFLAGS) $(NSS_LIBS)" \ + , \ + CPPFLAGS="$(CPPFLAGS) -I$(call gb_UnpackedTarball_get_dir,nss)/dist/public/nss -I$(call gb_UnpackedTarball_get_dir,nss)/dist/out/include" \ + CFLAGS="$(CFLAGS) $(if $(ENABLE_OPTIMIZED),$(gb_COMPILEROPTFLAGS),$(gb_COMPILERNOOPTFLAGS)) -I$(call gb_UnpackedTarball_get_dir,nss)/dist/public/nss -I$(call gb_UnpackedTarball_get_dir,nss)/dist/out/include" \ + ) \ + $(if $(openldap_LDFLAGS),LDFLAGS="$(LDFLAGS) $(openldap_LDFLAGS)") \ + && MAKEFLAGS= && $(MAKE) \ + ) + $(call gb_Trace_EndRange,openldap,EXTERNAL) + + +# vim: set noet sw=4 ts=4: diff --git a/external/openldap/Makefile b/external/openldap/Makefile new file mode 100644 index 000000000..e4968cf85 --- /dev/null +++ b/external/openldap/Makefile @@ -0,0 +1,7 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- + +module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +include $(module_directory)/../../solenv/gbuild/partial_build.mk + +# vim: set noet sw=4 ts=4: diff --git a/external/openldap/Module_openldap.mk b/external/openldap/Module_openldap.mk new file mode 100644 index 000000000..c6a22bc4e --- /dev/null +++ b/external/openldap/Module_openldap.mk @@ -0,0 +1,17 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_Module_Module,openldap)) + +$(eval $(call gb_Module_add_targets,openldap,\ + ExternalProject_openldap \ + UnpackedTarball_openldap \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/openldap/README b/external/openldap/README new file mode 100644 index 000000000..0c1828c12 --- /dev/null +++ b/external/openldap/README @@ -0,0 +1,3 @@ +OpenLDAP provides an LDAP client library + +http://www.openldap.org/ diff --git a/external/openldap/UnpackedTarball_openldap.mk b/external/openldap/UnpackedTarball_openldap.mk new file mode 100644 index 000000000..61a083ddc --- /dev/null +++ b/external/openldap/UnpackedTarball_openldap.mk @@ -0,0 +1,25 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_UnpackedTarball_UnpackedTarball,openldap)) + +$(eval $(call gb_UnpackedTarball_set_tarball,openldap,$(OPENLDAP_TARBALL),,openldap)) + +$(eval $(call gb_UnpackedTarball_set_patchlevel,openldap,0)) + +$(eval $(call gb_UnpackedTarball_update_autoconf_configs,openldap,\ + build \ + contrib/ldapc++ \ +)) + +$(eval $(call gb_UnpackedTarball_add_patches,openldap,\ + external/openldap/openldap-2.4.44.patch.1 \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/openldap/openldap-2.4.44.patch.1 b/external/openldap/openldap-2.4.44.patch.1 new file mode 100644 index 000000000..0d3cf5b70 --- /dev/null +++ b/external/openldap/openldap-2.4.44.patch.1 @@ -0,0 +1,73 @@ +--- openldap.org/configure ++++ openldap/configure +@@ -15735,7 +15735,7 @@ + $as_echo_n "(cached) " >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lnss3 $LIBS" ++LIBS="-lnss3 -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +--- openldap.org/configure.in ++++ openldap/configure.in +@@ -1239,7 +1239,8 @@ + AC_CHECK_HEADERS([nssutil.h]) + if test "$ac_cv_header_nssutil_h" = yes ; then + AC_CHECK_LIB([nss3], [NSS_Initialize], +- [ have_moznss=yes ], [ have_moznss=no ]) ++ [ have_moznss=yes ], [ have_moznss=no ], ++ [ -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 ]) + fi + + if test "$have_moznss" = yes ; then +--- openldap.org/libraries/libldap/tls_m.c ++++ openldap/libraries/libldap/tls_m.c +@@ -49,17 +49,17 @@ + #include <termios.h> /* for echo on/off */ + #endif + +-#include <nspr/nspr.h> +-#include <nspr/private/pprio.h> +-#include <nss/nss.h> +-#include <nss/ssl.h> +-#include <nss/sslerr.h> +-#include <nss/sslproto.h> +-#include <nss/pk11pub.h> +-#include <nss/secerr.h> +-#include <nss/keyhi.h> +-#include <nss/secmod.h> +-#include <nss/cert.h> ++#include <nspr.h> ++#include <private/pprio.h> ++#include <nss.h> ++#include <ssl.h> ++#include <sslerr.h> ++#include <sslproto.h> ++#include <pk11pub.h> ++#include <secerr.h> ++#include <keyhi.h> ++#include <secmod.h> ++#include <cert.h> + + #undef NSS_VERSION_INT + #define NSS_VERSION_INT ((NSS_VMAJOR << 24) | (NSS_VMINOR << 16) | \ +--- openldap.org/Makefile.in ++++ openldap/Makefile.in +@@ -13,7 +13,7 @@ + ## top-level directory of the distribution or, alternatively, at + ## <http://www.OpenLDAP.org/license.html>. + +-SUBDIRS= include libraries clients servers tests doc ++SUBDIRS= include libraries + CLEANDIRS= + INSTALLDIRS= + +@@ -32,7 +32,3 @@ + $(RM) config.status libtool stamp-h stamp-h.in + + distclean: veryclean FORCE +- +-check: test +-test: FORCE +- cd tests; $(MAKE) test |