]> git.notmuchmail.org Git - notmuch/blobdiff - configure
configure: Resolve all pkg-config flags at configure time.
[notmuch] / configure
index 2ceda74bc65c3d237ab3449340533b495a086d49..97ee606fd3cf51c818e18d97ec1f5e4c8f01e572 100755 (executable)
--- 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,19 +56,29 @@ 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
 
 printf "Checking for valgrind development files... "
 if pkg-config --modversion valgrind > /dev/null 2>&1; then
     printf "Yes.\n"
-    have_valgrind=-DHAVE_VALGRIND
+    have_valgrind=1
+    cflags="${cflags} $(pkg-config --cflags valgrind)"
 else
     printf "No (but that's fine).\n"
-    have_valgrind=
+    have_valgrind=0
+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
@@ -124,6 +138,17 @@ EOF
     exit 1
 fi
 
+printf "Checking for getline... "
+if gcc -o config/have_getline config/have_getline.c > /dev/null 2>&1
+then
+    printf "Yes.\n"
+    have_getline=1
+else
+    printf "No (will use our own instead).\n"
+    have_getline=0
+fi
+rm -f config/have_getline
+
 cat <<EOF
 
 All required packages were found. You may now run the following
@@ -137,5 +162,9 @@ EOF
 # construct the Makefile.config
 cat > Makefile.config <<EOF
 prefix = /usr/local
-CFLAGS += ${have_valgrind}
+emacs_lispdir=${emacs_lispdir}
+HAVE_GETLINE = ${have_getline}
+override CFLAGS += ${cflags} -DHAVE_VALGRIND=${have_valgrind} -DHAVE_GETLINE=\$(HAVE_GETLINE)
+override CXXFLAGS += ${cflags} ${cxxflags}
+override LDFLAGS += ${ldflags}
 EOF