]> git.notmuchmail.org Git - notmuch/commitdiff
configure: Add a check for the -Wl,--as-needed flag.
authorCarl Worth <cworth@cworth.org>
Sat, 30 Oct 2010 20:20:33 +0000 (13:20 -0700)
committerCarl Worth <cworth@cworth.org>
Sat, 30 Oct 2010 20:20:33 +0000 (13:20 -0700)
This fits with our general build philosophy of checking at configure
time for desired support, (rather than putting platform-specific
conditionals into our Makefiles).

Makefile.local
configure

index ef3a354478e736f82a5edfd074f146081d7a2712..490265b085530d38c4f0ffceae5b40b3096de12a 100644 (file)
@@ -31,11 +31,9 @@ GPG_FILE=$(SHA1_FILE).asc
 # Smash together user's values with our extra values
 FINAL_CFLAGS = -DNOTMUCH_VERSION=$(VERSION) $(CFLAGS) $(WARN_CFLAGS) $(CONFIGURE_CFLAGS) $(extra_cflags)
 FINAL_CXXFLAGS = $(CXXFLAGS) $(WARN_CXXFLAGS) $(CONFIGURE_CXXFLAGS) $(extra_cflags) $(extra_cxxflags)
-FINAL_NOTMUCH_LDFLAGS = $(LDFLAGS) -Llib -lnotmuch $(GMIME_LDFLAGS) $(TALLOC_LDFLAGS)
+FINAL_NOTMUCH_LDFLAGS = $(LDFLAGS) -Llib -lnotmuch $(GMIME_LDFLAGS) $(TALLOC_LDFLAGS) $(AS_NEEDED_LDFLAGS)
 FINAL_NOTMUCH_LINKER = CC
-ifeq ($(LINKER_RESOLVES_LIBRARY_DEPENDENCIES),1)
-FINAL_NOTMUCH_LDFLAGS += -Wl,--as-needed
-else
+ifneq ($(LINKER_RESOLVES_LIBRARY_DEPENDENCIES),1)
 FINAL_NOTMUCH_LDFLAGS += $(CONFIGURE_LDFLAGS)
 FINAL_NOTMUCH_LINKER = CXX
 endif
index 1d93b2e4f20e2930b10018d3eab5e551b92ccdd7..bab25016a1162ecadf3e965a083d37594ac179d5 100755 (executable)
--- a/configure
+++ b/configure
@@ -402,6 +402,16 @@ else
     rpath_ldflags=""
 fi
 
+printf "Checking for -Wl,--as-needed... "
+if ${CC} -Wl,--as-needed -o minimal minimal.c >/dev/null 2>&1
+then
+    printf "Yes.\n"
+    as_needed_ldflags="-Wl,--as-needed"
+else
+    printf "No (nothing to worry about).\n"
+    as_needed_ldflags=""
+fi
+
 WARN_CXXFLAGS=""
 printf "Checking for available C++ compiler warning flags... "
 for flag in -Wall -Wextra -Wwrite-strings -Wswitch-enum; do
@@ -535,6 +545,9 @@ TALLOC_LDFLAGS = ${talloc_ldflags}
 # Flags needed to have linker set rpath attribute
 RPATH_LDFLAGS = ${rpath_ldflags}
 
+# Flags needed to have linker link only to necessary libraries
+AS_NEEDED_LDFLAGS = ${as_needed_ldflags}
+
 # Whether valgrind header files are available
 HAVE_VALGRIND = ${have_valgrind}