aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Carl Worth <cworth@cworth.org>2010-10-30 12:55:09 -0700
committerGravatar Carl Worth <cworth@cworth.org>2010-10-30 13:15:00 -0700
commit8753b9defa14bdc320ccb3b57b01a4ee7b81df00 (patch)
tree0a17986231d56894b96a38470c9ceadeb2819da7
parentb802c18d3b9b0a2f5909e4c92ef7d6e7db234825 (diff)
configure: Test for flag to set rpath
This is better than the previous approach which had a hardcoded Linux-specific value in the Makefile.
-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}