aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Carl Worth <cworth@cworth.org>2009-12-01 17:56:39 -0800
committerGravatar Carl Worth <cworth@cworth.org>2009-12-01 18:03:31 -0800
commit222ee87dfefdd85ddbd7f148d5636746919d4100 (patch)
treee13146a6e865ba1b3366e3b595fd544d721215f8
parente93520f1091ba67bfad317cfa9a75c4097e28db9 (diff)
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).
-rw-r--r--Makefile18
-rwxr-xr-xconfigure21
2 files changed, 21 insertions, 18 deletions
diff --git a/Makefile b/Makefile
index 6a2ecea5..588f8538 100644
--- a/Makefile
+++ b/Makefile
@@ -10,30 +10,18 @@ EMACS ?= emacs
# arguments to 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
all_deps = Makefile Makefile.local Makefile.config \
lib/Makefile lib/Makefile.local
+extra_cflags :=
+extra_cxxflags :=
+
# Now smash together user's values with our extra values
override CFLAGS += $(WARN_CFLAGS) $(extra_cflags)
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
# Before including any other Makefile fragments, get settings from the
diff --git a/configure b/configure
index ef90a8ba..97ee606f 100755
--- a/configure
+++ b/configure
@@ -32,6 +32,8 @@ printf "Checking for Xapian development files... "
if xapian-config --version > /dev/null 2>&1; then
printf "Yes.\n"
have_xapian=1
+ cxxflags="${cxxflags} $(xapian-config --cxxflags)"
+ ldflags="${ldflags} $(xapian-config --libs)"
else
printf "No.\n"
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
printf "Yes.\n"
have_gmime=1
+ cflags="${cflags} $(pkg-config --cflags gmime-2.4)"
+ ldflags="${ldflags} $(pkg-config --libs gmime-2.4)"
else
printf "No.\n"
have_gmime=0
@@ -52,9 +56,12 @@ printf "Checking for talloc development files... "
if pkg-config --modversion talloc > /dev/null 2>&1; then
printf "Yes.\n"
have_talloc=1
+ cflags="${cflags} $(pkg-config --cflags talloc)"
+ ldflags="${ldflags} $(pkg-config --libs talloc)"
else
printf "No.\n"
have_talloc=0
+ talloc_cflags=
errors=$((errors + 1))
fi
@@ -62,11 +69,16 @@ printf "Checking for valgrind development files... "
if pkg-config --modversion valgrind > /dev/null 2>&1; then
printf "Yes.\n"
have_valgrind=1
- valgrind_flags=$(pkg-config --cflags valgrind)
+ cflags="${cflags} $(pkg-config --cflags valgrind)"
else
printf "No (but that's fine).\n"
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
if [ $errors -gt 0 ]; then
@@ -150,6 +162,9 @@ EOF
# construct the Makefile.config
cat > Makefile.config <<EOF
prefix = /usr/local
+emacs_lispdir=${emacs_lispdir}
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