diff --git a/Makefile.local b/Makefile.local index 79ac50d4..4a8142f0 100644 --- a/Makefile.local +++ b/Makefile.local @@ -23,6 +23,9 @@ GPG_FILE=$(SHA1_FILE).asc 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 +ifneq ($(LINKER_RESOLVES_LIBRARY_DEPENDENCIES),1) +FINAL_NOTMUCH_LDFLAGS += $(CONFIGURE_LDFLAGS) +endif FINAL_LIBNOTMUCH_LDFLAGS = $(LDFLAGS) $(CONFIGURE_LDFLAGS) .PHONY: all diff --git a/configure b/configure index 8af3dc9e..eebe0751 100755 --- a/configure +++ b/configure @@ -238,9 +238,11 @@ printf "Checking for Mac OS X (for shared library)... " if [ `uname` = "Darwin" ] ; then printf "Yes.\n" mac_os_x=1 + linker_resolves_library_dependencies = 0 else printf "No.\n" mac_os_x=0 + linker_resolves_library_dependencies = 1 fi if [ $errors -gt 0 ]; then @@ -412,6 +414,11 @@ HAVE_STRCASESTR = ${have_strcasestr} # shared library. MAC_OS_X = ${mac_os_x} +# Whether the linker will automatically resolve the dependency of one +# library on another (if not, then linking a binary requires linking +# directly against both) +LINKER_RESOLVES_LIBRARY_DEPENDENCIES = ${linker_resolves_library_dependencies} + # Flags needed to compile and link against Xapian XAPIAN_CXXFLAGS = ${xapian_cxxflags} XAPIAN_LDFLAGS = ${xapian_ldflags}