X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=configure;h=ab7e1610a0c58c83f942bb5754c14b2657384657;hp=ed7c22800530669ca88ef9ab5d6b7c4d71b7de0c;hb=8dcc38ce85ce084d3f0f3cbeac7e4a768e651614;hpb=807a9cb8aa897462e247993a1cdfa96377aa20e4 diff --git a/configure b/configure index ed7c2280..ab7e1610 100755 --- a/configure +++ b/configure @@ -40,10 +40,6 @@ if [ "$srcdir" != "." ]; then cp "$srcdir"/"$dir"/Makefile "$dir" done - # Easiest way to get the test suite to work is to just copy the - # whole thing into the build directory. - cp -a "$srcdir"/test/* test - # Emacs only likes to generate compiled files next to the .el files # by default so copy these as well (which is not ideal). cp -a "$srcdir"/emacs/*.el emacs @@ -66,6 +62,7 @@ CXXFLAGS=${CXXFLAGS:-\$(CFLAGS)} LDFLAGS=${LDFLAGS:-} XAPIAN_CONFIG=${XAPIAN_CONFIG:-} PYTHON=${PYTHON:-} +RUBY=${RUBY:-ruby} # 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 @@ -122,6 +119,8 @@ Other environment variables can be used to control configure itself, library. [$XAPIAN_CONFIG] PYTHON Name of python command to use in configure and the test suite. + RUBY Name of ruby command to use in + configure and the test suite. Additionally, various options can be specified on the configure command line. @@ -140,6 +139,7 @@ Fine tuning of some installation directories is available: --libdir=DIR Install libraries to DIR [PREFIX/lib] --includedir=DIR Install header files to DIR [PREFIX/include] --mandir=DIR Install man pages to DIR [PREFIX/share/man] + --infodir=DIR Install man pages to DIR [PREFIX/share/man] --sysconfdir=DIR Read-only single-machine data [PREFIX/etc] --emacslispdir=DIR Emacs code [PREFIX/share/emacs/site-lisp] --emacsetcdir=DIR Emacs miscellaneous files [PREFIX/share/emacs/site-lisp] @@ -163,7 +163,6 @@ configure-script calling conventions, but don't do anything yet: --build=-- Currently ignored --host=-- Currently ignored - --infodir=DIR Currently ignored --datadir=DIR Currently ignored --localstatedir=DIR Currently ignored --libexecdir=DIR Currently ignored @@ -186,6 +185,8 @@ for option; do INCLUDEDIR="${option#*=}" elif [ "${option%%=*}" = '--mandir' ] ; then MANDIR="${option#*=}" + elif [ "${option%%=*}" = '--infodir' ] ; then + INFODIR="${option#*=}" elif [ "${option%%=*}" = '--sysconfdir' ] ; then SYSCONFDIR="${option#*=}" elif [ "${option%%=*}" = '--emacslispdir' ] ; then @@ -266,8 +267,6 @@ for option; do true elif [ "${option%%=*}" = '--host' ] ; then true - elif [ "${option%%=*}" = '--infodir' ] ; then - true elif [ "${option%%=*}" = '--datadir' ] ; then true elif [ "${option%%=*}" = '--localstatedir' ] ; then @@ -482,15 +481,30 @@ fi # we need to have a version >= 2.6.5 to avoid a crypto bug. We need # 2.6.7 for permissive "From " header handling. GMIME_MINVER=2.6.7 +GMIME3_MINVER=3.0.3 printf "Checking for GMime development files... " -if pkg-config --exists "gmime-2.6 >= $GMIME_MINVER"; then - printf "Yes.\n" +if pkg-config --exists "gmime-3.0 > $GMIME3_MINVER"; then + printf "Yes (3.0).\n" + have_gmime=1 + gmime_cflags=$(pkg-config --cflags gmime-3.0) + gmime_ldflags=$(pkg-config --libs gmime-3.0) + gmime_major=3 + have_gmime_session_keys=1 +elif pkg-config --exists "gmime-2.6 >= $GMIME_MINVER"; then + printf "Yes (2.6).\n" have_gmime=1 gmime_cflags=$(pkg-config --cflags gmime-2.6) gmime_ldflags=$(pkg-config --libs gmime-2.6) + gmime_major=2 + if pkg-config --exists "gmime-2.6 >= 2.6.21"; then + have_gmime_session_keys=1 + else + have_gmime_session_keys=0 + fi else have_gmime=0 + have_gmime_session_keys=0 printf "No.\n" errors=$((errors + 1)) fi @@ -546,7 +560,7 @@ fi printf "Checking for python... " have_python=0 -for name in ${PYTHON} python python2 python3; do +for name in ${PYTHON} python3 python python2; do if command -v $name > /dev/null; then have_python=1 python=$name @@ -610,7 +624,7 @@ fi have_ruby_dev=0 if [ $WITH_RUBY = "1" ] ; then printf "Checking for ruby development files... " - if ruby -e "require 'mkmf'"> /dev/null 2>&1; then + if ${RUBY} -e "require 'mkmf'"> /dev/null 2>&1; then printf "Yes.\n" have_ruby_dev=1 else @@ -619,6 +633,8 @@ if [ $WITH_RUBY = "1" ] ; then fi have_sphinx=0 +have_makeinfo=0 +have_install_info=0 if [ $WITH_DOCS = "1" ] ; then printf "Checking if sphinx is available and supports nroff output... " if command -v sphinx-build > /dev/null && ${python} -m sphinx.writers.manpage > /dev/null 2>&1 ; then @@ -627,6 +643,20 @@ if [ $WITH_DOCS = "1" ] ; then else printf "No (so will not install man pages).\n" fi + printf "Checking if makeinfo is available... " + if command -v makeinfo > /dev/null; then + printf "Yes.\n" + have_makeinfo=1 + else + printf "No (so will not build info pages).\n" + fi + printf "Checking if install-info is available... " + if command -v install-info > /dev/null; then + printf "Yes.\n" + have_install_info=1 + else + printf "No (so will not install info pages).\n" + fi fi if [ $WITH_DESKTOP = "1" ]; then @@ -639,6 +669,15 @@ if [ $WITH_DESKTOP = "1" ]; then fi fi +printf "Checking for cppcheck... " +if command -v cppcheck > /dev/null; then + have_cppcheck=1 + printf "Yes.\n" +else + have_cppcheck=0 + printf "No.\n" +fi + libdir_in_ldconfig=0 printf "Checking which platform we are on... " @@ -676,7 +715,7 @@ elif [ $uname = "Linux" ] || [ $uname = "GNU" ] ; then IFS=" " for path in $ldconfig_paths; do - if [ "$path" = "$libdir_expanded" ]; then + if [ "$path" -ef "$libdir_expanded" ]; then libdir_in_ldconfig=1 fi done @@ -714,18 +753,18 @@ EOF fi if [ $have_zlib -eq 0 ]; then echo " zlib library (>= version 1.2.5.2, including development files such as headers)" - echo " http://zlib.net/" + echo " https://zlib.net/" echo fi if [ $have_gmime -eq 0 ]; then echo " GMime 2.6 library >= $GMIME_MINVER" echo " (including development files such as headers)" - echo " http://spruce.sourceforge.net/gmime/" + echo " https://github.com/jstedfast/gmime/" echo fi if [ $have_glib -eq 0 ]; then echo " Glib library >= 2.22 (including development files such as headers)" - echo " http://ftp.gnome.org/pub/gnome/sources/glib/" + echo " https://ftp.gnome.org/pub/gnome/sources/glib/" echo fi if [ $have_talloc -eq 0 ]; then @@ -1007,6 +1046,9 @@ WARN_CFLAGS=${WARN_CFLAGS} # Name of python interpreter PYTHON = ${python} +# Name of ruby interpreter +RUBY = ${RUBY} + # The prefix to which notmuch should be installed # Note: If you change this value here, be sure to ensure that the # LIBDIR_IN_LDCONFIG value below is still set correctly. @@ -1026,6 +1068,9 @@ includedir = ${INCLUDEDIR:=\$(prefix)/include} # The directory to which man pages should be installed mandir = ${MANDIR:=\$(prefix)/share/man} +# The directory to which man pages should be installed +infodir = ${INFODIR:=\$(prefix)/share/info} + # The directory to which read-only (configuration) files should be installed sysconfdir = ${SYSCONFDIR:=\$(prefix)/etc} @@ -1042,6 +1087,12 @@ HAVE_EMACS = ${have_emacs} # Whether there's a sphinx-build binary available for building documentation HAVE_SPHINX=${have_sphinx} +# Whether there's a makeinfo binary available for building info format documentation +HAVE_MAKEINFO=${have_makeinfo} + +# Whether there's an install-info binary available for installing info format documentation +HAVE_INSTALL_INFO=${have_install_info} + # Whether there's a doxygen binary available for building api documentation HAVE_DOXYGEN=${have_doxygen} @@ -1058,6 +1109,9 @@ zsh_completion_dir = ${ZSHCOMLETIONDIR:=\$(prefix)/share/zsh/functions/Completio # build its own version) HAVE_CANONICALIZE_FILE_NAME = ${have_canonicalize_file_name} +# Whether the cppcheck static checker is available +HAVE_CPPCHECK = ${have_cppcheck} + # Whether the getline function is available (if not, then notmuch will # build its own version) HAVE_GETLINE = ${have_getline} @@ -1081,6 +1135,9 @@ HAVE_TIMEGM = ${have_timegm} # Whether struct dirent has d_type (if not, then notmuch will use stat) HAVE_D_TYPE = ${have_d_type} +# Whether the GMime version can handle extraction and reuse of session keys +HAVE_GMIME_SESSION_KEYS = ${have_gmime_session_keys} + # Whether the Xapian version in use supports compaction HAVE_XAPIAN_COMPACT = ${have_xapian_compact} @@ -1159,6 +1216,7 @@ COMMON_CONFIGURE_CFLAGS = \\ \$(GMIME_CFLAGS) \$(TALLOC_CFLAGS) \$(ZLIB_CFLAGS) \\ -DHAVE_VALGRIND=\$(HAVE_VALGRIND) \$(VALGRIND_CFLAGS) \\ -DHAVE_GETLINE=\$(HAVE_GETLINE) \\ + -DWITH_EMACS=\$(WITH_EMACS) \\ -DHAVE_CANONICALIZE_FILE_NAME=\$(HAVE_CANONICALIZE_FILE_NAME) \\ -DHAVE_STRCASESTR=\$(HAVE_STRCASESTR) \\ -DHAVE_STRSEP=\$(HAVE_STRSEP) \\ @@ -1166,6 +1224,7 @@ COMMON_CONFIGURE_CFLAGS = \\ -DHAVE_D_TYPE=\$(HAVE_D_TYPE) \\ -DSTD_GETPWUID=\$(STD_GETPWUID) \\ -DSTD_ASCTIME=\$(STD_ASCTIME) \\ + -DHAVE_GMIME_SESSION_KEYS=\$(HAVE_GMIME_SESSION_KEYS) \\ -DHAVE_XAPIAN_COMPACT=\$(HAVE_XAPIAN_COMPACT) \\ -DSILENCE_XAPIAN_DEPRECATION_WARNINGS \\ -DHAVE_XAPIAN_FIELD_PROCESSOR=\$(HAVE_XAPIAN_FIELD_PROCESSOR) \\ @@ -1194,6 +1253,9 @@ NOTMUCH_HAVE_XAPIAN_FIELD_PROCESSOR=${have_xapian_field_processor} # Whether the Xapian version in use supports lock retry NOTMUCH_HAVE_XAPIAN_DB_RETRY_LOCK=${have_xapian_db_retry_lock} +# Whether the GMime version can handle extraction and reuse of session keys +NOTMUCH_HAVE_GMIME_SESSION_KEYS=${have_gmime_session_keys} + # Which backend will Xapian use by default? NOTMUCH_DEFAULT_XAPIAN_BACKEND=${default_xapian_backend} @@ -1203,10 +1265,16 @@ NOTMUCH_HAVE_MAN=$((have_sphinx)) # Name of python interpreter NOTMUCH_PYTHON=${python} +# Name of ruby interpreter +NOTMUCH_RUBY=${RUBY} + # Are the ruby development files (and ruby) available? If not skip # building/testing ruby bindings. NOTMUCH_HAVE_RUBY_DEV=${have_ruby_dev} +# Major version of gmime +NOTMUCH_GMIME_MAJOR=${gmime_major} + # Platform we are run on PLATFORM=${platform} EOF