aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Makefile.local4
-rwxr-xr-xconfigure12
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}