mirror of
https://git.notmuchmail.org/git/notmuch
synced 2025-01-02 23:01:43 +01:00
configure: Resolve all pkg-config flags at configure time.
Previously, we were resolving these within the Makefile. This had the problem that if pkg-config was not present, the Makefile would still invoke it resulting in ugly errors before the configure script was even run, (which would finally present a kind error message about pkg-config not being present).
This commit is contained in:
parent
e93520f109
commit
222ee87dfe
2 changed files with 21 additions and 18 deletions
18
Makefile
18
Makefile
|
@ -10,30 +10,18 @@ EMACS ?= emacs
|
||||||
# arguments to gzip.
|
# arguments to gzip.
|
||||||
gzip = gzip
|
gzip = gzip
|
||||||
|
|
||||||
# Additional flags that we will append to whatever the user set.
|
|
||||||
# These aren't intended for the user to manipulate.
|
|
||||||
extra_cflags := $(shell pkg-config --cflags glib-2.0 gmime-2.4 talloc)
|
|
||||||
extra_cxxflags := $(shell xapian-config --cxxflags)
|
|
||||||
|
|
||||||
emacs_lispdir := $(shell pkg-config emacs --variable sitepkglispdir)
|
|
||||||
# Hard-code if this system doesn't have an emacs.pc file
|
|
||||||
ifeq ($(emacs_lispdir),)
|
|
||||||
emacs_lispdir = $(prefix)/share/emacs/site-lisp
|
|
||||||
endif
|
|
||||||
|
|
||||||
bash_completion_dir = /etc/bash_completion.d
|
bash_completion_dir = /etc/bash_completion.d
|
||||||
|
|
||||||
all_deps = Makefile Makefile.local Makefile.config \
|
all_deps = Makefile Makefile.local Makefile.config \
|
||||||
lib/Makefile lib/Makefile.local
|
lib/Makefile lib/Makefile.local
|
||||||
|
|
||||||
|
extra_cflags :=
|
||||||
|
extra_cxxflags :=
|
||||||
|
|
||||||
# Now smash together user's values with our extra values
|
# Now smash together user's values with our extra values
|
||||||
override CFLAGS += $(WARN_CFLAGS) $(extra_cflags)
|
override CFLAGS += $(WARN_CFLAGS) $(extra_cflags)
|
||||||
override CXXFLAGS += $(WARN_CXXFLAGS) $(extra_cflags) $(extra_cxxflags)
|
override CXXFLAGS += $(WARN_CXXFLAGS) $(extra_cflags) $(extra_cxxflags)
|
||||||
|
|
||||||
override LDFLAGS += \
|
|
||||||
$(shell pkg-config --libs glib-2.0 gmime-2.4 talloc) \
|
|
||||||
$(shell xapian-config --libs)
|
|
||||||
|
|
||||||
all: notmuch notmuch.1.gz
|
all: notmuch notmuch.1.gz
|
||||||
|
|
||||||
# Before including any other Makefile fragments, get settings from the
|
# Before including any other Makefile fragments, get settings from the
|
||||||
|
|
21
configure
vendored
21
configure
vendored
|
@ -32,6 +32,8 @@ printf "Checking for Xapian development files... "
|
||||||
if xapian-config --version > /dev/null 2>&1; then
|
if xapian-config --version > /dev/null 2>&1; then
|
||||||
printf "Yes.\n"
|
printf "Yes.\n"
|
||||||
have_xapian=1
|
have_xapian=1
|
||||||
|
cxxflags="${cxxflags} $(xapian-config --cxxflags)"
|
||||||
|
ldflags="${ldflags} $(xapian-config --libs)"
|
||||||
else
|
else
|
||||||
printf "No.\n"
|
printf "No.\n"
|
||||||
have_xapian=0
|
have_xapian=0
|
||||||
|
@ -42,6 +44,8 @@ printf "Checking for GMime 2.4 development files... "
|
||||||
if pkg-config --modversion gmime-2.4 > /dev/null 2>&1; then
|
if pkg-config --modversion gmime-2.4 > /dev/null 2>&1; then
|
||||||
printf "Yes.\n"
|
printf "Yes.\n"
|
||||||
have_gmime=1
|
have_gmime=1
|
||||||
|
cflags="${cflags} $(pkg-config --cflags gmime-2.4)"
|
||||||
|
ldflags="${ldflags} $(pkg-config --libs gmime-2.4)"
|
||||||
else
|
else
|
||||||
printf "No.\n"
|
printf "No.\n"
|
||||||
have_gmime=0
|
have_gmime=0
|
||||||
|
@ -52,9 +56,12 @@ printf "Checking for talloc development files... "
|
||||||
if pkg-config --modversion talloc > /dev/null 2>&1; then
|
if pkg-config --modversion talloc > /dev/null 2>&1; then
|
||||||
printf "Yes.\n"
|
printf "Yes.\n"
|
||||||
have_talloc=1
|
have_talloc=1
|
||||||
|
cflags="${cflags} $(pkg-config --cflags talloc)"
|
||||||
|
ldflags="${ldflags} $(pkg-config --libs talloc)"
|
||||||
else
|
else
|
||||||
printf "No.\n"
|
printf "No.\n"
|
||||||
have_talloc=0
|
have_talloc=0
|
||||||
|
talloc_cflags=
|
||||||
errors=$((errors + 1))
|
errors=$((errors + 1))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -62,11 +69,16 @@ printf "Checking for valgrind development files... "
|
||||||
if pkg-config --modversion valgrind > /dev/null 2>&1; then
|
if pkg-config --modversion valgrind > /dev/null 2>&1; then
|
||||||
printf "Yes.\n"
|
printf "Yes.\n"
|
||||||
have_valgrind=1
|
have_valgrind=1
|
||||||
valgrind_flags=$(pkg-config --cflags valgrind)
|
cflags="${cflags} $(pkg-config --cflags valgrind)"
|
||||||
else
|
else
|
||||||
printf "No (but that's fine).\n"
|
printf "No (but that's fine).\n"
|
||||||
have_valgrind=0
|
have_valgrind=0
|
||||||
valgrind_flags=
|
fi
|
||||||
|
|
||||||
|
if pkg-config --modversion emacs > /dev/null 2>&1; then
|
||||||
|
emacs_lispdir=$(pkg-config emacs --variable sitepkglispdir)
|
||||||
|
else
|
||||||
|
emacs_lispdir='$(prefix)/share/emacs/site-lisp'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $errors -gt 0 ]; then
|
if [ $errors -gt 0 ]; then
|
||||||
|
@ -150,6 +162,9 @@ EOF
|
||||||
# construct the Makefile.config
|
# construct the Makefile.config
|
||||||
cat > Makefile.config <<EOF
|
cat > Makefile.config <<EOF
|
||||||
prefix = /usr/local
|
prefix = /usr/local
|
||||||
|
emacs_lispdir=${emacs_lispdir}
|
||||||
HAVE_GETLINE = ${have_getline}
|
HAVE_GETLINE = ${have_getline}
|
||||||
override CFLAGS += -DHAVE_VALGRIND=${have_valgrind} ${valgrind_flags} -DHAVE_GETLINE=\$(HAVE_GETLINE)
|
override CFLAGS += ${cflags} -DHAVE_VALGRIND=${have_valgrind} -DHAVE_GETLINE=\$(HAVE_GETLINE)
|
||||||
|
override CXXFLAGS += ${cflags} ${cxxflags}
|
||||||
|
override LDFLAGS += ${ldflags}
|
||||||
EOF
|
EOF
|
||||||
|
|
Loading…
Reference in a new issue