aboutsummaryrefslogtreecommitdiffhomepage
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure123
1 files changed, 123 insertions, 0 deletions
diff --git a/configure b/configure
new file mode 100755
index 00000000..fe46c8e3
--- /dev/null
+++ b/configure
@@ -0,0 +1,123 @@
+#! /bin/sh
+
+cat <<EOF
+Welcome to Notmuch, a system for indexing, searching and tagging your email.
+
+We hope that the process of building and installing notmuch is quick
+and smooth so that you can soon be reading and processing your email
+more efficiently than ever.
+
+If anything goes wrong in this process, please do as much as you can
+to figure out what could be different on your machine compared to
+those of the notmuch developers. Then, please email those details to
+Carl Worth <cworth@cworth.org> so that we can hopefully make future
+versions of notmuch easier for you to use.
+
+We'll now investigate your system to find verify that various software
+components that notmuch relies on are available.
+
+EOF
+
+errors=0
+
+if pkg-config --version > /dev/null 2>&1; then
+ have_pkg_config=1
+else
+ have_pkg_config=0
+fi
+
+if xapian-config --version > /dev/null 2>&1; then
+ echo "Checking for Xapian development files... Yes."
+ have_xapian=1
+else
+ echo "Checking for Xapian development files... No."
+ have_xapian=0
+ errors=$((errors + 1))
+fi
+
+if pkg-config --modversion gmime-2.4 > /dev/null 2>&1; then
+ echo "Checking for GMime 2.4 development files... Yes."
+ have_gmime=1
+else
+ echo "Checking for GMime 2.4 development files... No."
+ have_gmime=0
+ errors=$((errors + 1))
+fi
+
+if pkg-config --modversion talloc > /dev/null 2>&1; then
+ echo "Checking for talloc development files... Yes."
+ have_talloc=1
+else
+ echo "Checking for talloc development files... No."
+ have_talloc=0
+ errors=$((errors + 1))
+fi
+
+if [ $errors -gt 0 ]; then
+ cat <<EOF
+
+*** Error: The dependencies of notmuch could not be satisfied. You will
+need to install the following packages before being able to compile
+notmuch:
+
+EOF
+ if [ $have_xapian -eq 0 ]; then
+ echo " Xapian library (including development files such as headers)"
+ echo " http://xapian.org/"
+ fi
+ if [ $have_gmime -eq 0 ]; then
+ echo " GMime 2.4 library (including development files such as headers)"
+ echo " http://spruce.sourceforge.net/gmime/"
+ fi
+ if [ $have_talloc -eq 0 ]; then
+ echo " The talloc library (including development files such as headers)"
+ echo " http://talloc.samba.org/"
+ fi
+ cat <<EOF
+
+On a modern, package-based operating system such as Debian, you can
+install all of the dependencies with the following simple command
+line:
+
+ sudo apt-get install libxapian-dev libgmime-2.4-dev libtalloc-dev
+
+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").
+
+EOF
+ if [ $have_pkg_config -eq 0 ]; then
+cat <<EOF
+Note: the pkg-config program is not available. Both this configure
+script and the Makefile of notmuch use pkg-config to find the
+compilation flags required to link against the various libraries
+needed by notmuch. It's possible you simply need to install pkg-config
+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.
+
+EOF
+ fi
+cat <<EOF
+When you have installed the necessary dependencies, you can run
+configure again to ensure the packages can be found, or simply run
+"make" to compile notmuch.
+
+EOF
+ exit 1
+else
+cat <<EOF
+
+All required packages were found. You may now run the following
+commands to compile and install notmuch:
+
+ make
+ sudo make install
+
+EOF
+ exit 0
+fi
+cat <<EOF