configure: Test for flag to set rpath

This is better than the previous approach which had a hardcoded Linux-specific
value in the Makefile.
This commit is contained in:
Carl Worth 2010-10-30 12:55:09 -07:00
parent b802c18d3b
commit 8753b9defa
2 changed files with 13 additions and 3 deletions

View file

@ -37,10 +37,8 @@ ifneq ($(LINKER_RESOLVES_LIBRARY_DEPENDENCIES),1)
FINAL_NOTMUCH_LDFLAGS += $(CONFIGURE_LDFLAGS) FINAL_NOTMUCH_LDFLAGS += $(CONFIGURE_LDFLAGS)
FINAL_NOTMUCH_LINKER = CXX FINAL_NOTMUCH_LINKER = CXX
endif endif
ifeq ($(PLATFORM),LINUX)
ifeq ($(LIBDIR_IN_LDCONFIG),0) ifeq ($(LIBDIR_IN_LDCONFIG),0)
FINAL_NOTMUCH_LDFLAGS += -Wl,--enable-new-dtags -Wl,-rpath,$(libdir) FINAL_NOTMUCH_LDFLAGS += $(RPATH_LDFLAGS)
endif
endif endif
FINAL_LIBNOTMUCH_LDFLAGS = $(LDFLAGS) $(CONFIGURE_LDFLAGS) FINAL_LIBNOTMUCH_LDFLAGS = $(LDFLAGS) $(CONFIGURE_LDFLAGS)

12
configure vendored
View file

@ -393,6 +393,15 @@ rm -f compat/have_strcasestr
printf "int main(void){return 0;}\n" > minimal.c 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="" WARN_CXXFLAGS=""
printf "Checking for available C++ compiler warning flags... " printf "Checking for available C++ compiler warning flags... "
for flag in -Wall -Wextra -Wwrite-strings -Wswitch-enum; do for flag in -Wall -Wextra -Wwrite-strings -Wswitch-enum; do
@ -523,6 +532,9 @@ GMIME_LDFLAGS = ${gmime_ldflags}
TALLOC_CFLAGS = ${talloc_cflags} TALLOC_CFLAGS = ${talloc_cflags}
TALLOC_LDFLAGS = ${talloc_ldflags} TALLOC_LDFLAGS = ${talloc_ldflags}
# Flags needed to have linker set rpath attribute
RPATH_LDFLAGS = ${rpath_ldflags}
# Whether valgrind header files are available # Whether valgrind header files are available
HAVE_VALGRIND = ${have_valgrind} HAVE_VALGRIND = ${have_valgrind}