diff options
Diffstat (limited to 'external/openldap/ExternalProject_openldap.mk')
-rw-r--r-- | external/openldap/ExternalProject_openldap.mk | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/external/openldap/ExternalProject_openldap.mk b/external/openldap/ExternalProject_openldap.mk index 8a102d0028a9..e02a35d9943f 100644 --- a/external/openldap/ExternalProject_openldap.mk +++ b/external/openldap/ExternalProject_openldap.mk @@ -9,20 +9,26 @@ $(eval $(call gb_ExternalProject_ExternalProject,openldap)) -$(eval $(call gb_ExternalProject_use_externals,openldap,nss3)) +$(eval $(call gb_ExternalProject_use_externals,openldap,openssl)) $(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) +openldap_CFLAGS = +ifeq ($(OS),LINUX) # i.e., assuming glibc +# glibc needs at least _XOPEN_SOURCE=500 to declare pthread_getconcurrency and +# pthread_setconcurrency in <pthread.h> (and once that is defined, it also needs either +# _DEFUALT_SOURCE (glibc >= 2.19) or the deprecated _BSD_SOURCE (glibc <= 2.18) to be defined +# explicitly, so that e.g. u_char is declared in <sys/types.h>): +openldap_CFLAGS = -D_XOPEN_SOURCE=500 -D_DEFAULT_SOURCE -D_BSD_SOURCE 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 = $(call gb_ExternalProject_get_link_flags,openldap) +ifeq ($(SYSTEM_OPENSSL),) +openldap_LDFLAGS += -L$(call gb_UnpackedTarball_get_dir,openssl) +endif +ifeq ($(OS),LINUX) openldap_LDFLAGS += -pthread endif @@ -32,20 +38,20 @@ $(call gb_ExternalProject_get_state_target,openldap,build) : $(gb_RUN_CONFIGURE) ./configure \ --disable-slapd \ --with-pic \ - --with-tls=moznss \ + --with-tls=openssl \ --without-cyrus-sasl \ --disable-shared \ --enable-static \ + $(gb_CONFIGURE_PLATFORMS) \ $(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)" \ + $(if $(SYSTEM_OPENSSL), \ + CPPFLAGS="$(CPPFLAGS) $(OPENSSL_CFLAGS)" CFLAGS="$(CFLAGS) $(openldap_CFLAGS) $(OPENSSL_CFLAGS) $(call gb_ExternalProject_get_build_flags,openldap)" LDFLAGS="$(LDFLAGS) $(openldap_LDFLAGS) $(OPENSSL_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" \ + CPPFLAGS="$(CPPFLAGS) -I$(call gb_UnpackedTarball_get_dir,openssl)/include" \ + CFLAGS="$(CFLAGS) $(openldap_CFLAGS) $(call gb_ExternalProject_get_build_flags,openldap) -I$(call gb_UnpackedTarball_get_dir,openssl)/include" \ ) \ $(if $(openldap_LDFLAGS),LDFLAGS="$(LDFLAGS) $(openldap_LDFLAGS)") \ && MAKEFLAGS= && $(MAKE) \ |