From 8753b9defa14bdc320ccb3b57b01a4ee7b81df00 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Sat, 30 Oct 2010 12:55:09 -0700 Subject: [PATCH] configure: Test for flag to set rpath This is better than the previous approach which had a hardcoded Linux-specific value in the Makefile. --- Makefile.local | 4 +--- configure | 12 ++++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Makefile.local b/Makefile.local index 971ddd52..cbc0e077 100644 --- a/Makefile.local +++ b/Makefile.local @@ -37,10 +37,8 @@ ifneq ($(LINKER_RESOLVES_LIBRARY_DEPENDENCIES),1) FINAL_NOTMUCH_LDFLAGS += $(CONFIGURE_LDFLAGS) FINAL_NOTMUCH_LINKER = CXX endif -ifeq ($(PLATFORM),LINUX) ifeq ($(LIBDIR_IN_LDCONFIG),0) -FINAL_NOTMUCH_LDFLAGS += -Wl,--enable-new-dtags -Wl,-rpath,$(libdir) -endif +FINAL_NOTMUCH_LDFLAGS += $(RPATH_LDFLAGS) endif FINAL_LIBNOTMUCH_LDFLAGS = $(LDFLAGS) $(CONFIGURE_LDFLAGS) diff --git a/configure b/configure index c5bcd071..6f0bfeac 100755 --- a/configure +++ b/configure @@ -393,6 +393,15 @@ rm -f compat/have_strcasestr printf "int main(void){return 0;}\n" > minimal.c +printf "Checking for rpath support... " +if ${CC} -Wl,--enable-new-dtags -Wl,-rpath,/tmp/ -o minimal minimal.c >/dev/null 2>&1 +then + printf "Yes.\n" + rpath_ldflags="-Wl,--enable-new-dtags -Wl,-rpath,\$(libdir)" +else + printf "No (nothing to worry about).\n" +fi + WARN_CXXFLAGS="" printf "Checking for available C++ compiler warning flags... " for flag in -Wall -Wextra -Wwrite-strings -Wswitch-enum; do @@ -523,6 +532,9 @@ GMIME_LDFLAGS = ${gmime_ldflags} TALLOC_CFLAGS = ${talloc_cflags} TALLOC_LDFLAGS = ${talloc_ldflags} +# Flags needed to have linker set rpath attribute +RPATH_LDFLAGS = ${rpath_ldflags} + # Whether valgrind header files are available HAVE_VALGRIND = ${have_valgrind}