mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 01:14:53 +01:00
Makefile: Fix final linking of notmuch binary for OS X.
Apparently the OS X linker can't resolve symbols when linking a program (notmuch) against a library (libnotmuch) when the library depends on another library (libgmime) that the program doesn't depend on directly. For this case, we need to link the program directly against both libraries, but we don't want to do this on Linux, where the linker can do this on its own and the explicit, unneeded link would cause problems.
This commit is contained in:
parent
72ea1b71c6
commit
3d7af74ce5
2 changed files with 10 additions and 0 deletions
|
@ -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
|
||||
|
|
7
configure
vendored
7
configure
vendored
|
@ -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}
|
||||
|
|
Loading…
Reference in a new issue