]> git.notmuchmail.org Git - notmuch/blobdiff - configure
configure: Generate some documentation into Makefile.config.
[notmuch] / configure
index b1ac741d32d6361aaec4643bc21508ff39104aa3..92b6710fdef8ff020954e9e01709fca1efb23ee0 100755 (executable)
--- a/configure
+++ b/configure
@@ -28,39 +28,57 @@ else
     have_pkg_config=0
 fi
 
+printf "Checking for Xapian development files... "
 if xapian-config --version > /dev/null 2>&1; then
-    echo "Checking for Xapian development files... Yes."
+    printf "Yes.\n"
     have_xapian=1
+    cxxflags="${cxxflags} $(xapian-config --cxxflags)"
+    ldflags="${ldflags} $(xapian-config --libs)"
 else
-    echo "Checking for Xapian development files... No."
+    printf "No.\n"
     have_xapian=0
     errors=$((errors + 1))
 fi
 
+printf "Checking for GMime 2.4 development files... "
 if pkg-config --modversion gmime-2.4 > /dev/null 2>&1; then
-    echo "Checking for GMime 2.4 development files... Yes."
+    printf "Yes.\n"
     have_gmime=1
+    cflags="${cflags} $(pkg-config --cflags gmime-2.4)"
+    ldflags="${ldflags} $(pkg-config --libs gmime-2.4)"
 else
-    echo "Checking for GMime 2.4 development files... No."
+    printf "No.\n"
     have_gmime=0
     errors=$((errors + 1))
 fi
 
+printf "Checking for talloc development files... "
 if pkg-config --modversion talloc > /dev/null 2>&1; then
-    echo "Checking for talloc development files... Yes."
+    printf "Yes.\n"
     have_talloc=1
+    cflags="${cflags} $(pkg-config --cflags talloc)"
+    ldflags="${ldflags} $(pkg-config --libs talloc)"
 else
-    echo "Checking for talloc development files... No."
+    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
-    echo "Checking for valgrind development files... Yes."
-    have_valgrind=-DHAVE_VALGRIND
+    printf "Yes.\n"
+    have_valgrind=1
+    cflags="${cflags} $(pkg-config --cflags valgrind)"
 else
-    echo "Checking for valgrind development files... No."
-    have_valgrind=
+    printf "No (but that's fine).\n"
+    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
@@ -106,8 +124,8 @@ with a command such as:
        sudo apt-get install pkg-config
 
 But if pkg-config is not available for your system, then you will need
-to manually edit the notmuch Makefile to set NOTMUCH_CFLAGS and
-NOTMUCH_LDFLAGS to the correct values without calling pkg-config.
+to manually edit the notmuch Makefile to set the variables such as
+CFLAGS and LDFLAGS to the correct values without calling pkg-config.
 
 EOF
     fi
@@ -120,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
@@ -132,7 +161,26 @@ EOF
 
 # construct the Makefile.config
 cat > Makefile.config <<EOF
+# This Makefile.config was automatically generated by the ./configure
+# script of notmuch. If the configure script identified anything
+# incorrectly, then you can edit this file to try to correct things,
+# but be warned that if configure is run again it will destroy your
+# changes, (and this could happen by simply calling "make" if the
+# configure script is updated).
+
+# The prefix to which notmuch should be installed
 prefix = /usr/local
-bash_completion_dir = /etc/bash_completion.d
-CFLAGS += ${have_valgrind}
+
+# The directory to which emacs lisp files should be installed
+emacs_lispdir=${emacs_lispdir}
+
+# Whether the getline function is available (if not, then notmuch will
+# build its own version)
+HAVE_GETLINE = ${have_getline}
+
+# Various flags needed to compile and link against the dependencies of
+# notmuch.
+override CFLAGS += ${cflags} -DHAVE_VALGRIND=${have_valgrind} -DHAVE_GETLINE=\$(HAVE_GETLINE)
+override CXXFLAGS += ${cflags} ${cxxflags}
+override LDFLAGS += ${ldflags}
 EOF