]> git.notmuchmail.org Git - notmuch/blobdiff - configure
Add some text to configure on how to install dependencies with yum.
[notmuch] / configure
index 65411956f0ebd35c8a5958f6aa685c9af0247586..7180e5e725e4a0d9bc9233915db558532e9e8d5a 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,8 @@
 #! /bin/sh
 
+CC=${CC:-gcc}
+CXX=${CXX:-g++}
+
 cat <<EOF
 Welcome to Notmuch, a system for indexing, searching and tagging your email.
 
@@ -32,8 +35,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)"
+    xapian_cxxflags=$(xapian-config --cxxflags)
+    xapian_ldflags=$(xapian-config --libs)
 else
     printf "No.\n"
     have_xapian=0
@@ -44,8 +47,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)"
+    gmime_cflags=$(pkg-config --cflags gmime-2.4)
+    gmime_ldflags=$(pkg-config --libs gmime-2.4)
 else
     printf "No.\n"
     have_gmime=0
@@ -56,8 +59,8 @@ 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)"
+    talloc_cflags=$(pkg-config --cflags talloc)
+    talloc_ldflags=$(pkg-config --libs talloc)
 else
     printf "No.\n"
     have_talloc=0
@@ -69,7 +72,7 @@ printf "Checking for valgrind development files... "
 if pkg-config --modversion valgrind > /dev/null 2>&1; then
     printf "Yes.\n"
     have_valgrind=1
-    cflags="${cflags} $(pkg-config --cflags valgrind)"
+    valgrind_cflags=$(pkg-config --cflags valgrind)
 else
     printf "No (but that's fine).\n"
     have_valgrind=0
@@ -109,6 +112,10 @@ line:
 
        sudo apt-get install libxapian-dev libgmime-2.4-dev libtalloc-dev
 
+Or on Fedora or other RPM-based systems:
+
+       sudo yum install xapian-core-devel gmime-devel libtalloc-devel
+
 On other systems, a similar command can be used, but the details of the 
 package names may be different, (such as "devel" in place of "dev").
 
@@ -122,6 +129,9 @@ to install pkg-config with a command such as:
 
        sudo apt-get install pkg-config
 
+Or:
+       sudo yum install pkgconfig
+
 But if pkg-config is not available for your system, then you will need
 to modify the configure script to manually set the cflags and ldflags
 variables to the correct values to link against each library in each
@@ -139,7 +149,7 @@ EOF
 fi
 
 printf "Checking for getline... "
-if gcc -o config/have_getline config/have_getline.c > /dev/null 2>&1
+if ${CC} -o config/have_getline config/have_getline.c > /dev/null 2>&1
 then
     printf "Yes.\n"
     have_getline=1
@@ -168,6 +178,12 @@ cat > Makefile.config <<EOF
 # changes, (and this could happen by simply calling "make" if the
 # configure script is updated).
 
+# The C compiler to use
+CC = ${CC}
+
+# The C++ compiler to use
+CXX = ${CXX}
+
 # The prefix to which notmuch should be installed
 prefix = /usr/local
 
@@ -178,9 +194,30 @@ emacs_lispdir=${emacs_lispdir}
 # 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}
+# Flags needed to compile and link against Xapian
+XAPIAN_CXXFLAGS = ${xapian_cxxflags}
+XAPIAN_LDFLAGS = ${xapian_ldflags}
+
+# Flags needed to compile and link against GMime-2.4
+GMIME_CFLAGS = ${gmime_cflags}
+GMIME_LDFLAGS = ${gmime_ldflags}
+
+# Flags needed to compile and linke against talloc
+TALLOC_CFLAGS = ${talloc_cflags}
+TALLOC_LDFLAGS = ${talloc_ldflags}
+
+# Whether valgrind header files are available
+HAVE_VALGRIND = ${have_valgrind}
+
+# And if so, flags needed at compile time for valgrind macros
+VALGRIND_CFLAGS = ${valgrind_cflags}
+
+# Combined flags for compiling and linking against all of the above
+override CFLAGS += -DHAVE_GETLINE=\$(HAVE_GETLINE) \$(GMIME_CFLAGS)      \\
+                  \$(TALLOC_CFLAGS) -DHAVE_VALGRIND=\$(HAVE_VALGRIND)   \\
+                  \$(VALGRIND_CFLAGS)
+override CXXFLAGS += -DHAVE_GETLINE=\$(HAVE_GETLINE) \$(GMIME_CFLAGS)    \\
+                    \$(TALLOC_CFLAGS) -DHAVE_VALGRIND=\$(HAVE_VALGRIND) \\
+                    \$(VALGRIND_CFLAGS) \$(XAPIAN_CXXFLAGS)
+override LDFLAGS += \$(GMIME_LDFLAGS) \$(TALLOC_LDFLAGS) \$(XAPIAN_LDFLAGS)
 EOF