CXX=${CXX:-g++}
CFLAGS=${CFLAGS:--O2}
CXXFLAGS=${CXXFLAGS:-\$(CFLAGS)}
+XAPIAN_CONFIG=${XAPIAN_CONFIG:-xapian-config-1.1 xapian-config}
+
+# We don't allow the EMACS or GZIP Makefile variables inherit values
+# from the environment as we do with CC and CXX above. The reason is
+# that these names as environment variables have existing uses other
+# than the program name that we want. (EMACS is set to 't' when a
+# shell is running within emacs and GZIP specifies arguments to pass
+# on the gzip command line).
# Set the defaults for values the user can specify with command-line
# options.
PREFIX=/usr/local
+LIBDIR=
usage ()
{
Each of these values can further be controlled by specifying them
later on the "make" command line.
+Other environment variables can be used to control configure itself,
+(and for which there is no equivalent build-time control):
+
+ XAPIAN_CONFIG The program to use to determine flags for
+ compiling and linking against the Xapian
+ library. [$XAPIAN_CONFIG]
+
Additionally, various options can be specified on the configure
command line.
--prefix=PREFIX Install files in PREFIX [$PREFIX]
By default, "make install" will install the resulting program to
-$PREFIX/bin, documentation to $PREFIX/share, etc. You can
+$PREFIX/bin, documentation to $PREFIX/man, etc. You can
specify an installation prefix other than $PREFIX using
--prefix, for instance:
./configure --prefix=\$HOME
+Fine tuning of some installation directories is available:
+
+ --libdir=DIR Install libraries in LIBDIR [PREFIX/lib]
+
EOF
}
exit 0
elif [ "${option%%=*}" = '--prefix' ] ; then
PREFIX="${option#*=}"
+ elif [ "${option%%=*}" = '--libdir' ] ; then
+ LIBDIR="${option#*=}"
else
echo "Unrecognized option: ${option}."
echo "See:"
fi
printf "Checking for Xapian development files... "
-if xapian-config --version > /dev/null 2>&1; then
- printf "Yes.\n"
- have_xapian=1
- xapian_cxxflags=$(xapian-config --cxxflags)
- xapian_ldflags=$(xapian-config --libs)
-else
+have_xapian=0
+for xapian_config in ${XAPIAN_CONFIG}; do
+ if ${xapian_config} --version > /dev/null 2>&1; then
+ printf "Yes.\n"
+ have_xapian=1
+ xapian_cxxflags=$(${xapian_config} --cxxflags)
+ xapian_ldflags=$(${xapian_config} --libs)
+ break
+ fi
+done
+if [ ${have_xapian} = "0" ]; then
printf "No.\n"
- have_xapian=0
errors=$((errors + 1))
fi
# The C++ compiler to use
CXX = ${CXX}
+# Command to execute emacs from Makefiles
+EMACS = emacs --quick
+
+# Command to execute gzip from Makefiles
+gzip = gzip
+
# Default FLAGS for C compiler (can be overridden by user such as "make CFLAGS=-g")
CFLAGS = ${CFLAGS}
# Default FLAGS for C++ compiler (can be overridden by user such as "make CXXFLAGS=-g")
CXXFLAGS = ${CXXFLAGS}
+# Flags to enable warnings when using the C++ compiler
+WARN_CXXFLAGS=-Wall -Wextra -Wwrite-strings -Wswitch-enum
+
+# Flags to enable warnings when using the C compiler
+WARN_CFLAGS=\$(WARN_CXXFLAGS) -Wmissing-declarations
+
# The prefix to which notmuch should be installed
prefix = ${PREFIX}
+# The directory to which notmuch libraries should be installed
+libdir = ${LIBDIR:=$PREFIX/lib}
+
# The directory to which emacs lisp files should be installed
emacs_lispdir=${emacs_lispdir}
+# The directory to which desktop files should be installed
+desktop_dir = \${prefix}/share/applications
+
+# The directory to which bash completions files should be installed
+bash_completion_dir = /etc/bash_completion.d
+
+# The directory to which zsh completions files should be installed
+zsh_completion_dir = ${PREFIX}/share/zsh/functions/Completion/Unix
+
# Whether the getline function is available (if not, then notmuch will
# build its own version)
HAVE_GETLINE = ${have_getline}