Fix external/libassuan Linux RPATH

In other external projects using libtool, we fix that by patching configure,
resetting hardcode_libdir_flag_spec[_CXX] at the end of the linux*) case block
that sets the Linux-specific value.  But here we run autoreconf in
ExternalProject_libassuan, so that patch in configure would be overwritten.  The
relevant code in configure comes from autoconf boilerplate, so we cannot just do
the same patch in configure.ac.  But we can reset hardcode_libdir_flag_spec
sufficiently late in configure.ac so that things still work as intended.

Change-Id: Ic6c6123bcfe8bc2dac87812f919842519374abaa
Reviewed-on: https://gerrit.libreoffice.org/50959
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
This commit is contained in:
Stephan Bergmann 2018-03-08 15:40:20 +01:00
parent 4cb1f0a5ff
commit 24d0704fa4
3 changed files with 13 additions and 1 deletions

View file

@ -231,7 +231,7 @@ else
if [ -s check_elf.out ] ; then
cat check_elf.out
# FIXME known broken, ignore for now
if grep -v 'libgpgmepp.so.6\|libgpgme.so.11\|libassuan.so.0' check_elf.out >/dev/null; then
if grep -v 'libgpgmepp.so.6\|libgpgme.so.11' check_elf.out >/dev/null; then
status=1
fi
fi

View file

@ -18,6 +18,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,libassuan, \
external/libassuan/fix-autoconf-macros.patch \
$(if $(filter MSC,$(COM)),external/libassuan/w32-build-fixes.patch.1) \
external/libassuan/w32-build-fixes-2.patch \
$(if $(filter LINUX,$(OS)),external/libassuan/rpath.patch) \
))
# vim: set noet sw=4 ts=4:

11
external/libassuan/rpath.patch vendored Normal file
View file

@ -0,0 +1,11 @@
--- configure.ac
+++ configure.ac
@@ -127,6 +127,8 @@
LT_INIT([win32-dll disable-static])
LT_LANG([Windows Resource])
+hardcode_libdir_flag_spec=
+
# For now we hardcode the use of version scripts. It would be better
# to write a test for this or even implement this within libtool.
have_ld_version_script=no