summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2015-06-12 14:38:02 +0200
committerStephan Bergmann <sbergman@redhat.com>2015-06-12 14:59:40 +0200
commit1d028d4783da69c5c0e6e0b59e0f8ac55eb9d2b1 (patch)
treec4cc2d4e37be6eca68b9829258176e156b993f93
parent688995bbb296e875511403fcce9276183f2545b0 (diff)
Fix Linux RPATH of various external modules
...as discussed in 371cc81bd9ccbfbed25f810e70899c044280349e "external/liborcus: Fix Linux RPATH:" * When an external module produces multiple libraries (that we all install) that depend on each other, they need to contain $ORIGIN in RPATH (strictly speaking, those that do not depend on any other libraries from the module would not need that, but it is harmless and easier to do that way). * When an external module's libraries depend on other external modules' libraries, and (at least some of) those other external modules are not configuread as --with-system-*, they need to contain $ORIGIN in RPATH (again, for simplicity, some libraries may get that even if they would not strictly need it). * Try to outsmart the external modules' libtool instances to not add (ultimately bogus) paths to RPATH for dependencies on libraries from external modules (either from the same module, or from anohter module not configured as --with-system-*). The only time we do not outsmart libtool, and instead rely on it (hopefully?) doing the right thing is when a given external modules' libraries depend on libraries from excatly one other external module, and the latter is configured as --with-system-*. * That outsmarting means that if an external library depends both on external libraries provided by modules not configured as --with-system-* (so RPATH contains $ORIGIN, and the outsmarting is not suppressed) and on external libraries provided by modules configured as --with-system-*: Then if the latter are in unusual locations on the system that would require an RPATH entry (which might be provided via the corresponding "pkg-config --libs", say, and presumably would be honoured by libtool if we did not outsmart it), then those paths are now erroneously missing from RPATH. * That outsmarting also causes linking of some utility applications in module redland to fail, but those are ultimately unused, so cut them off by patching their respective sub-directory Makefile.in. Change-Id: Iec05b3568fbcf04987018322c328b769ae4f5dab
-rw-r--r--external/coinmp/ExternalProject_coinmp.mk3
-rw-r--r--external/coinmp/UnpackedTarball_coinmp.mk3
-rw-r--r--external/coinmp/rpath.patch50
-rw-r--r--external/libetonyek/ExternalProject_libetonyek.mk3
-rw-r--r--external/libetonyek/UnpackedTarball_libetonyek.mk1
-rw-r--r--external/libetonyek/rpath.patch10
-rw-r--r--external/libmwaw/ExternalProject_libmwaw.mk3
-rw-r--r--external/libmwaw/UnpackedTarball_libmwaw.mk6
-rw-r--r--external/libmwaw/rpath.patch10
-rw-r--r--external/libodfgen/ExternalProject_libodfgen.mk3
-rw-r--r--external/libodfgen/UnpackedTarball_libodfgen.mk6
-rw-r--r--external/libodfgen/rpath.patch10
-rw-r--r--external/libwpd/ExternalProject_libwpd.mk3
-rw-r--r--external/libwpd/UnpackedTarball_libwpd.mk3
-rw-r--r--external/libwpd/rpath.patch10
-rw-r--r--external/libwpg/ExternalProject_libwpg.mk3
-rw-r--r--external/libwpg/UnpackedTarball_libwpg.mk6
-rw-r--r--external/libwpg/rpath.patch10
-rw-r--r--external/libwps/ExternalProject_libwps.mk3
-rw-r--r--external/libwps/UnpackedTarball_libwps.mk1
-rw-r--r--external/libwps/rpath.patch.010
-rw-r--r--external/libxslt/UnpackedTarball_xslt.mk1
-rw-r--r--external/libxslt/rpath.patch.010
-rw-r--r--external/redland/UnpackedTarball_raptor.mk1
-rw-r--r--external/redland/UnpackedTarball_rasqal.mk3
-rw-r--r--external/redland/UnpackedTarball_redland.mk3
-rw-r--r--external/redland/raptor/rpath.patch21
-rw-r--r--external/redland/rasqal/rpath.patch21
-rw-r--r--external/redland/redland/rpath.patch10
29 files changed, 227 insertions, 0 deletions
diff --git a/external/coinmp/ExternalProject_coinmp.mk b/external/coinmp/ExternalProject_coinmp.mk
index 84052481345a..d8bfaac944bb 100644
--- a/external/coinmp/ExternalProject_coinmp.mk
+++ b/external/coinmp/ExternalProject_coinmp.mk
@@ -31,6 +31,9 @@ $(call gb_ExternalProject_get_state_target,coinmp,build) :
$(if $(DISABLE_DYNLOADING),--disable-shared) \
$(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
--enable-dependency-linking F77=unavailable \
+ $(if $(filter LINUX,$(OS)), \
+ 'LDFLAGS=-Wl$(COMMA)-z$(COMMA)origin \
+ -Wl$(COMMA)-rpath$(COMMA)\$$$$ORIGIN') \
&& $(MAKE) \
$(if $(filter MACOSX,$(OS)),&& $(PERL) \
$(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
diff --git a/external/coinmp/UnpackedTarball_coinmp.mk b/external/coinmp/UnpackedTarball_coinmp.mk
index aad0cd3be756..468589b47d12 100644
--- a/external/coinmp/UnpackedTarball_coinmp.mk
+++ b/external/coinmp/UnpackedTarball_coinmp.mk
@@ -15,6 +15,8 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,coinmp,\
CoinMP/MSVisualStudio/v9/CoinMP.sln \
))
+$(eval $(call gb_UnpackedTarball_set_patchlevel,coinmp,0))
+
$(eval $(call gb_UnpackedTarball_add_patches,coinmp,\
external/coinmp/android.build.patch.1 \
external/coinmp/no-binaries.patch.1 \
@@ -27,6 +29,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,coinmp,\
$(if $(filter MACOSX,$(OS)),external/coinmp/macosx.build.patch.1) \
external/coinmp/werror-format-pedantic.patch.0 \
external/coinmp/ubsan.patch.0 \
+ external/coinmp/rpath.patch \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/coinmp/rpath.patch b/external/coinmp/rpath.patch
new file mode 100644
index 000000000000..b60bd188de45
--- /dev/null
+++ b/external/coinmp/rpath.patch
@@ -0,0 +1,50 @@
+--- Cbc/configure
++++ Cbc/configure
+@@ -12484,6 +12484,7 @@
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ esac
++hardcode_libdir_flag_spec_CXX=
+ ;;
+ lynxos*)
+ # FIXME: insert proper C++ library support
+--- Cgl/configure
++++ Cgl/configure
+@@ -12455,6 +12455,7 @@
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ esac
++hardcode_libdir_flag_spec_CXX=
+ ;;
+ lynxos*)
+ # FIXME: insert proper C++ library support
+--- Clp/configure
++++ Clp/configure
+@@ -12482,6 +12482,7 @@
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ esac
++hardcode_libdir_flag_spec_CXX=
+ ;;
+ lynxos*)
+ # FIXME: insert proper C++ library support
+--- CoinMP/configure
++++ CoinMP/configure
+@@ -12424,6 +12424,7 @@
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ esac
++hardcode_libdir_flag_spec_CXX=
+ ;;
+ lynxos*)
+ # FIXME: insert proper C++ library support
+--- Osi/configure
++++ Osi/configure
+@@ -12453,6 +12453,7 @@
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ esac
++hardcode_libdir_flag_spec_CXX=
+ ;;
+ lynxos*)
+ # FIXME: insert proper C++ library support
diff --git a/external/libetonyek/ExternalProject_libetonyek.mk b/external/libetonyek/ExternalProject_libetonyek.mk
index 23cc2f184537..96d07513b3e5 100644
--- a/external/libetonyek/ExternalProject_libetonyek.mk
+++ b/external/libetonyek/ExternalProject_libetonyek.mk
@@ -40,6 +40,9 @@ $(call gb_ExternalProject_get_state_target,libetonyek,build) :
--without-tools \
$(if $(filter WNT,$(OS_FOR_BUILD)),MKDIR_P="$(shell cygpath -m /usr/bin/mkdir) -p") \
$(if $(VERBOSE)$(verbose),--disable-silent-rules,--enable-silent-rules) \
+ $(if $(filter LINUX,$(OS)), \
+ 'LDFLAGS=-Wl$(COMMA)-z$(COMMA)origin \
+ -Wl$(COMMA)-rpath$(COMMA)\$$$$ORIGIN') \
BOOST_CFLAGS="$(if $(SYSTEM_BOOST),$(BOOST_CPPFLAGS),-I$(call gb_UnpackedTarball_get_dir,boost))" \
XML_CFLAGS="$(LIBXML_CFLAGS)" \
XML_LIBS="$(LIBXML_LIBS)" \
diff --git a/external/libetonyek/UnpackedTarball_libetonyek.mk b/external/libetonyek/UnpackedTarball_libetonyek.mk
index 24167e51d0a3..327852a70d3d 100644
--- a/external/libetonyek/UnpackedTarball_libetonyek.mk
+++ b/external/libetonyek/UnpackedTarball_libetonyek.mk
@@ -20,6 +20,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,libetonyek,\
external/libetonyek/ubsan.patch \
external/libetonyek/0001-add-missing-breaks.patch.1 \
external/libetonyek/0002-remove-surplus-breaks.patch.1 \
+ external/libetonyek/rpath.patch \
))
ifeq ($(COM_GCC_IS_CLANG),TRUE)
diff --git a/external/libetonyek/rpath.patch b/external/libetonyek/rpath.patch
new file mode 100644
index 000000000000..3a6280597ad6
--- /dev/null
+++ b/external/libetonyek/rpath.patch
@@ -0,0 +1,10 @@
+--- configure
++++ configure
+@@ -14451,6 +14451,7 @@
+ esac
+ ;;
+ esac
++hardcode_libdir_flag_spec_CXX=
+ ;;
+
+ lynxos*)
diff --git a/external/libmwaw/ExternalProject_libmwaw.mk b/external/libmwaw/ExternalProject_libmwaw.mk
index 75c926086701..d1f05d328afd 100644
--- a/external/libmwaw/ExternalProject_libmwaw.mk
+++ b/external/libmwaw/ExternalProject_libmwaw.mk
@@ -39,6 +39,9 @@ $(call gb_ExternalProject_get_state_target,libmwaw,build) :
CXXFLAGS="$(if $(SYSTEM_BOOST),$(BOOST_CPPFLAGS),\
$(if $(COM_GCC_IS_CLANG),-Qunused-arguments) \
-I$(call gb_UnpackedTarball_get_dir,boost))" \
+ $(if $(filter LINUX,$(OS)),$(if $(SYSTEM_REVENGE),, \
+ 'LDFLAGS=-Wl$(COMMA)-z$(COMMA)origin \
+ -Wl$(COMMA)-rpath$(COMMA)\$$$$ORIGIN')) \
$(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
$(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
&& (cd $(EXTERNAL_WORKDIR)/src/lib && \
diff --git a/external/libmwaw/UnpackedTarball_libmwaw.mk b/external/libmwaw/UnpackedTarball_libmwaw.mk
index 26492dff1f1d..4ba779ae44bd 100644
--- a/external/libmwaw/UnpackedTarball_libmwaw.mk
+++ b/external/libmwaw/UnpackedTarball_libmwaw.mk
@@ -21,4 +21,10 @@ $(eval $(call gb_UnpackedTarball_add_patches,libmwaw, \
endif
endif
+ifeq ($(SYSTEM_REVENGE),)
+$(eval $(call gb_UnpackedTarball_add_patches,libmwaw, \
+ external/libmwaw/rpath.patch \
+))
+endif
+
# vim: set noet sw=4 ts=4:
diff --git a/external/libmwaw/rpath.patch b/external/libmwaw/rpath.patch
new file mode 100644
index 000000000000..a73d8ae223f9
--- /dev/null
+++ b/external/libmwaw/rpath.patch
@@ -0,0 +1,10 @@
+--- configure
++++ configure
+@@ -15353,6 +15353,7 @@
+ esac
+ ;;
+ esac
++hardcode_libdir_flag_spec_CXX=
+ ;;
+
+ lynxos*)
diff --git a/external/libodfgen/ExternalProject_libodfgen.mk b/external/libodfgen/ExternalProject_libodfgen.mk
index 066ea8662988..2ad5a155b064 100644
--- a/external/libodfgen/ExternalProject_libodfgen.mk
+++ b/external/libodfgen/ExternalProject_libodfgen.mk
@@ -36,6 +36,9 @@ $(call gb_ExternalProject_get_state_target,libodfgen,build) :
--without-docs \
$(if $(VERBOSE)$(verbose),--disable-silent-rules,--enable-silent-rules) \
CXXFLAGS="$(if $(SYSTEM_BOOST),$(BOOST_CPPFLAGS),-I$(call gb_UnpackedTarball_get_dir,boost)) $(if $(SYSTEM_REVENGE),,$(if $(filter-out MSC,$(COM)),-DLIBREVENGE_VISIBILITY))" \
+ $(if $(filter LINUX,$(OS)),$(if $(SYSTEM_REVENGE),, \
+ 'LDFLAGS=-Wl$(COMMA)-z$(COMMA)origin \
+ -Wl$(COMMA)-rpath$(COMMA)\$$$$ORIGIN')) \
$(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
$(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
&& $(MAKE) \
diff --git a/external/libodfgen/UnpackedTarball_libodfgen.mk b/external/libodfgen/UnpackedTarball_libodfgen.mk
index 85a14b3e961b..32c8b366a33b 100644
--- a/external/libodfgen/UnpackedTarball_libodfgen.mk
+++ b/external/libodfgen/UnpackedTarball_libodfgen.mk
@@ -21,4 +21,10 @@ $(eval $(call gb_UnpackedTarball_add_patches,libodfgen, \
endif
endif
+ifeq ($(SYSTEM_REVENGE),)
+$(eval $(call gb_UnpackedTarball_add_patches,libodfgen, \
+ external/libodfgen/rpath.patch \
+))
+endif
+
# vim: set noet sw=4 ts=4:
diff --git a/external/libodfgen/rpath.patch b/external/libodfgen/rpath.patch
new file mode 100644
index 000000000000..698cf5dca241
--- /dev/null
+++ b/external/libodfgen/rpath.patch
@@ -0,0 +1,10 @@
+--- configure
++++ configure
+@@ -13940,6 +13940,7 @@
+ esac
+ ;;
+ esac
++hardcode_libdir_flag_spec_CXX=
+ ;;
+
+ lynxos*)
diff --git a/external/libwpd/ExternalProject_libwpd.mk b/external/libwpd/ExternalProject_libwpd.mk
index 69c4cc5e8b55..286e502c7d3d 100644
--- a/external/libwpd/ExternalProject_libwpd.mk
+++ b/external/libwpd/ExternalProject_libwpd.mk
@@ -35,6 +35,9 @@ $(call gb_ExternalProject_get_state_target,libwpd,build) :
--prefix=/@.__________________________________________________OOO) \
$(if $(VERBOSE)$(verbose),--disable-silent-rules,--enable-silent-rules) \
$(if $(filter TRUE,$(DISABLE_DYNLOADING)),CFLAGS="$(CFLAGS) $(gb_VISIBILITY_FLAGS) $(gb_COMPILEROPTFLAGS)" CXXFLAGS="$(CXXFLAGS) $(gb_VISIBILITY_FLAGS) $(gb_VISIBILITY_FLAGS_CXX) $(gb_COMPILEROPTFLAGS)") \
+ $(if $(filter LINUX,$(OS)),$(if $(SYSTEM_REVENGE),, \
+ 'LDFLAGS=-Wl$(COMMA)-z$(COMMA)origin \
+ -Wl$(COMMA)-rpath$(COMMA)\$$$$ORIGIN')) \
$(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
&& $(MAKE) \
$(if $(filter MACOSX,$(OS)),\
diff --git a/external/libwpd/UnpackedTarball_libwpd.mk b/external/libwpd/UnpackedTarball_libwpd.mk
index e8abb60d1551..9610dfb32a1a 100644
--- a/external/libwpd/UnpackedTarball_libwpd.mk
+++ b/external/libwpd/UnpackedTarball_libwpd.mk
@@ -11,8 +11,11 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,libwpd))
$(eval $(call gb_UnpackedTarball_set_tarball,libwpd,$(WPD_TARBALL)))
+$(eval $(call gb_UnpackedTarball_set_patchlevel,libwpd,0))
+
$(eval $(call gb_UnpackedTarball_add_patches,libwpd,\
external/libwpd/libwpd-vs2013.patch.1 \
+ $(if $(SYSTEM_REVENGE),,external/libwpd/rpath.patch) \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/libwpd/rpath.patch b/external/libwpd/rpath.patch
new file mode 100644
index 000000000000..fb3deaa81083
--- /dev/null
+++ b/external/libwpd/rpath.patch
@@ -0,0 +1,10 @@
+--- configure
++++ configure
+@@ -13850,6 +13850,7 @@
+ esac
+ ;;
+ esac
++hardcode_libdir_flag_spec_CXX=
+ ;;
+
+ lynxos*)
diff --git a/external/libwpg/ExternalProject_libwpg.mk b/external/libwpg/ExternalProject_libwpg.mk
index 22ed09aa1de9..e65e2acc4c5d 100644
--- a/external/libwpg/ExternalProject_libwpg.mk
+++ b/external/libwpg/ExternalProject_libwpg.mk
@@ -35,6 +35,9 @@ $(call gb_ExternalProject_get_state_target,libwpg,build) :
$(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
$(if $(VERBOSE)$(verbose),--disable-silent-rules,--enable-silent-rules) \
$(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
+ $(if $(filter LINUX,$(OS)), \
+ 'LDFLAGS=-Wl$(COMMA)-z$(COMMA)origin \
+ -Wl$(COMMA)-rpath$(COMMA)\$$$$ORIGIN') \
&& $(MAKE) \
$(if $(filter MACOSX,$(OS)),\
&& $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
diff --git a/external/libwpg/UnpackedTarball_libwpg.mk b/external/libwpg/UnpackedTarball_libwpg.mk
index 03be2064afba..d0b1e9979d48 100644
--- a/external/libwpg/UnpackedTarball_libwpg.mk
+++ b/external/libwpg/UnpackedTarball_libwpg.mk
@@ -11,4 +11,10 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,libwpg))
$(eval $(call gb_UnpackedTarball_set_tarball,libwpg,$(WPG_TARBALL)))
+$(eval $(call gb_UnpackedTarball_set_patchlevel,libwpg,0))
+
+$(eval $(call gb_UnpackedTarball_add_patches,libwpg, \
+ external/libwpg/rpath.patch \
+))
+
# vim: set noet sw=4 ts=4:
diff --git a/external/libwpg/rpath.patch b/external/libwpg/rpath.patch
new file mode 100644
index 000000000000..5a8f56105509
--- /dev/null
+++ b/external/libwpg/rpath.patch
@@ -0,0 +1,10 @@
+--- configure
++++ configure
+@@ -13858,6 +13858,7 @@
+ esac
+ ;;
+ esac
++hardcode_libdir_flag_spec_CXX=
+ ;;
+
+ lynxos*)
diff --git a/external/libwps/ExternalProject_libwps.mk b/external/libwps/ExternalProject_libwps.mk
index df0d02027d99..10b39b3750a4 100644
--- a/external/libwps/ExternalProject_libwps.mk
+++ b/external/libwps/ExternalProject_libwps.mk
@@ -36,6 +36,9 @@ $(call gb_ExternalProject_get_state_target,libwps,build) :
--disable-werror \
$(if $(VERBOSE)$(verbose),--disable-silent-rules,--enable-silent-rules) \
CXXFLAGS="$(if $(SYSTEM_BOOST),$(BOOST_CPPFLAGS),-I$(call gb_UnpackedTarball_get_dir,boost)) $(gb_VISIBILITY_FLAGS) $(gb_VISIBILITY_FLAGS_CXX)" \
+ $(if $(filter LINUX,$(OS)),$(if $(SYSTEM_REVENGE),, \
+ 'LDFLAGS=-Wl$(COMMA)-z$(COMMA)origin \
+ -Wl$(COMMA)-rpath$(COMMA)\$$$$ORIGIN')) \
$(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
$(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
&& $(MAKE) \
diff --git a/external/libwps/UnpackedTarball_libwps.mk b/external/libwps/UnpackedTarball_libwps.mk
index 39f4e6d9b376..a87224bdc88c 100644
--- a/external/libwps/UnpackedTarball_libwps.mk
+++ b/external/libwps/UnpackedTarball_libwps.mk
@@ -16,6 +16,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libwps,1))
$(eval $(call gb_UnpackedTarball_add_patches,libwps,\
external/libwps/0001-QuattroPro-parser-correct-a-mistake-when-reading-neg.patch \
external/libwps/0001-error-C2065-M_PI-undeclared-identifier.patch \
+ $(if $(SYSTEM_REVENGE),,external/libwps/rpath.patch.0) \
))
ifeq ($(COM_GCC_IS_CLANG),TRUE)
diff --git a/external/libwps/rpath.patch.0 b/external/libwps/rpath.patch.0
new file mode 100644
index 000000000000..600cc3d34c2c
--- /dev/null
+++ b/external/libwps/rpath.patch.0
@@ -0,0 +1,10 @@
+--- configure
++++ configure
+@@ -14306,6 +14306,7 @@
+ esac
+ ;;
+ esac
++hardcode_libdir_flag_spec_CXX=
+ ;;
+
+ lynxos*)
diff --git a/external/libxslt/UnpackedTarball_xslt.mk b/external/libxslt/UnpackedTarball_xslt.mk
index 5ed086030f48..b81cd1d7a1c2 100644
--- a/external/libxslt/UnpackedTarball_xslt.mk
+++ b/external/libxslt/UnpackedTarball_xslt.mk
@@ -20,6 +20,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,xslt,\
external/libxslt/libxslt-1.1.26-memdump.patch \
$(if $(filter ANDROID,$(OS)),external/libxslt/libxslt-android.patch) \
external/libxslt/libxslt-config-guess.patch.0 \
+ external/libxslt/rpath.patch.0 \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/libxslt/rpath.patch.0 b/external/libxslt/rpath.patch.0
new file mode 100644
index 000000000000..78c4859251df
--- /dev/null
+++ b/external/libxslt/rpath.patch.0
@@ -0,0 +1,10 @@
+--- configure
++++ configure
+@@ -10196,6 +10196,7 @@
+ else
+ ld_shlibs=no
+ fi
++hardcode_libdir_flag_spec=
+ ;;
+
+ netbsd*)
diff --git a/external/redland/UnpackedTarball_raptor.mk b/external/redland/UnpackedTarball_raptor.mk
index f1949d14cea7..752b41c3181c 100644
--- a/external/redland/UnpackedTarball_raptor.mk
+++ b/external/redland/UnpackedTarball_raptor.mk
@@ -23,6 +23,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,raptor,\
$(if $(filter-out WNT,$(OS)),external/redland/raptor/raptor-bundled-soname.patch.1) \
$(if $(filter ANDROID,$(OS)),external/redland/raptor/raptor-android.patch.1) \
external/redland/raptor/ubsan.patch \
+ $(if $(SYSTEM_LIBXML),,external/redland/raptor/rpath.patch) \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/redland/UnpackedTarball_rasqal.mk b/external/redland/UnpackedTarball_rasqal.mk
index d49f47dbcff6..92571dd4ca73 100644
--- a/external/redland/UnpackedTarball_rasqal.mk
+++ b/external/redland/UnpackedTarball_rasqal.mk
@@ -14,6 +14,8 @@ $(eval $(call gb_UnpackedTarball_set_tarball,rasqal,$(RASQAL_TARBALL),,redland))
# configure generated files for MSVC
$(eval $(call gb_UnpackedTarball_add_file,rasqal,src/rasqal.h,external/redland/rasqal/rasqal.h))
+$(eval $(call gb_UnpackedTarball_set_patchlevel,rasqal,0))
+
$(eval $(call gb_UnpackedTarball_add_patches,rasqal,\
external/redland/rasqal/rasqal-pkgconfig.patch.1 \
external/redland/rasqal/rasqal-freebsd.patch.1 \
@@ -23,6 +25,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,rasqal,\
$(if $(filter ANDROID,$(OS)),external/redland/rasqal/rasqal-android.patch.1) \
$(if $(filter WNTGCC,$(OS)$(COM)),external/redland/rasqal/rasqal-mingw.patch.1) \
$(if $(CROSS_COMPILING),external/redland/rasqal/rasqal-xcompile.patch.1) \
+ external/redland/rasqal/rpath.patch \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/redland/UnpackedTarball_redland.mk b/external/redland/UnpackedTarball_redland.mk
index 440be1f8ffa5..d28e0dd0ecaf 100644
--- a/external/redland/UnpackedTarball_redland.mk
+++ b/external/redland/UnpackedTarball_redland.mk
@@ -14,6 +14,8 @@ $(eval $(call gb_UnpackedTarball_set_tarball,redland,$(REDLAND_TARBALL),,redland
# configure generated files for MSVC
$(eval $(call gb_UnpackedTarball_add_file,redland,src/librdf.h,external/redland/redland/librdf.h))
+$(eval $(call gb_UnpackedTarball_set_patchlevel,redland,0))
+
# redland-format.patch.0 sent upstream as
# <https://github.com/dajobe/librdf/pull/6>
$(eval $(call gb_UnpackedTarball_add_patches,redland,\
@@ -26,6 +28,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,redland,\
$(if $(filter WNTGCC,$(OS)$(COM)),external/redland/redland/redland-mingw.patch.1) \
$(if $(CROSS_COMPILING),external/redland/redland/redland-xcompile.patch.1) \
external/redland/redland/redland-format.patch.0 \
+ external/redland/redland/rpath.patch \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/redland/raptor/rpath.patch b/external/redland/raptor/rpath.patch
new file mode 100644
index 000000000000..7863f61cd9ac
--- /dev/null
+++ b/external/redland/raptor/rpath.patch
@@ -0,0 +1,21 @@
+--- configure
++++ configure
+@@ -9892,6 +9892,7 @@
+ else
+ ld_shlibs=no
+ fi
++hardcode_libdir_flag_spec=
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+--- utils/Makefile.in
++++ utils/Makefile.in
+@@ -343,7 +343,7 @@
+ rapper_LDADD = $(top_builddir)/src/libraptor2.la
+ rdfdiff_SOURCES = rdfdiff.c $(am__append_2)
+ rdfdiff_LDADD = $(top_builddir)/src/libraptor2.la
+-all: all-am
++all:
+
+ .SUFFIXES:
+ .SUFFIXES: .c .lo .o .obj
diff --git a/external/redland/rasqal/rpath.patch b/external/redland/rasqal/rpath.patch
new file mode 100644
index 000000000000..c0eed772578e
--- /dev/null
+++ b/external/redland/rasqal/rpath.patch
@@ -0,0 +1,21 @@
+--- configure
++++ configure
+@@ -9843,6 +9843,7 @@
+ else
+ ld_shlibs=no
+ fi
++hardcode_libdir_flag_spec=
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+--- utils/Makefile.in
++++ utils/Makefile.in
+@@ -373,7 +373,7 @@
+ $(man_MANS) \
+ roqet.html
+
+-all: all-am
++all:
+
+ .SUFFIXES:
+ .SUFFIXES: .c .lo .o .obj
diff --git a/external/redland/redland/rpath.patch b/external/redland/redland/rpath.patch
new file mode 100644
index 000000000000..ec8c765d53dc
--- /dev/null
+++ b/external/redland/redland/rpath.patch
@@ -0,0 +1,10 @@
+--- configure
++++ configure
+@@ -10308,6 +10308,7 @@
+ else
+ ld_shlibs=no
+ fi
++hardcode_libdir_flag_spec=
+ ;;
+
+ netbsd* | netbsdelf*-gnu)