X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=configure;h=6c782e16d5a63a746e3b49691bcc398fcb7f63cd;hp=46063b5d2eeffabe893c70639ed74f754e5e0ed8;hb=f0d06c8ca3fce15c9e264445485bd93a6de8d25e;hpb=12f7d4e61d30fb9a5c99e128ab1aab0bf069cdb4 diff --git a/configure b/configure index 46063b5d..6c782e16 100755 --- a/configure +++ b/configure @@ -19,7 +19,12 @@ To work around this problem you may try to execute: # Store original IFS value so it can be changed (and restored) in many places. readonly DEFAULT_IFS="$IFS" +# The top-level directory for the source. This ./configure and all Makefiles +# are good with ${srcdir} usually being relative. Some components (e.g. tests) +# are executed in subdirectories and for those it is simpler to use +# ${NOTMUCH_SRCDIR} which holds absolute path to the source. srcdir=$(dirname "$0") +NOTMUCH_SRCDIR=$(cd "$srcdir" && pwd) subdirs="util compat lib parse-time-string completion doc emacs" subdirs="${subdirs} performance-test test test/test-databases" @@ -42,6 +47,12 @@ if [ "$srcdir" != "." ]; then # 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 + + # We were not able to create fully working Makefile using ruby mkmf.rb + # so ruby bindings source files are copied as well (ditto -- not ideal). + mkdir bindings/ruby + cp -a "$srcdir"/bindings/ruby/*.[ch] bindings/ruby + cp -a "$srcdir"/bindings/ruby/extconf.rb bindings/ruby fi # Set several defaults (optionally specified by the user in @@ -70,6 +81,7 @@ LIBDIR= WITH_DOCS=1 WITH_API_DOCS=1 WITH_EMACS=1 +WITH_DESKTOP=1 WITH_BASH=1 WITH_RUBY=1 WITH_ZSH=1 @@ -141,6 +153,7 @@ Some features can be disabled (--with-feature=no is equivalent to --without-docs Do not install documentation --without-api-docs Do not install API man page --without-emacs Do not install lisp file + --without-desktop Do not install desktop file --without-ruby Do not install ruby bindings --without-zsh-completion Do not install zsh completions files --without-retry-lock Do not use blocking xapian opens, even if available @@ -209,6 +222,14 @@ for option; do fi elif [ "${option}" = '--without-emacs' ] ; then WITH_EMACS=0 + elif [ "${option%%=*}" = '--with-desktop' ]; then + if [ "${option#*=}" = 'no' ]; then + WITH_DESKTOP=0 + else + WITH_DESKTOP=1 + fi + elif [ "${option}" = '--without-desktop' ] ; then + WITH_DESKTOP=0 elif [ "${option%%=*}" = '--with-bash-completion' ]; then if [ "${option#*=}" = 'no' ]; then WITH_BASH=0 @@ -342,8 +363,8 @@ int main(void) { return 0; } EOF -if ${CC} ${CFLAGS} _libversion.c -o _libversion > /dev/null 2>&1 && \ - ./_libversion > _libversion.sh && . ./_libversion.sh +if ${CC} ${CFLAGS} -I"$srcdir" _libversion.c -o _libversion > /dev/null 2>&1 \ + && ./_libversion > _libversion.sh && . ./_libversion.sh then printf "OK.\n" else @@ -483,8 +504,7 @@ else fi if ! pkg-config --exists zlib; then - ${CC} ${zlib_cflags} -o compat/gen_zlib_pc \ - "$srcdir"/compat/gen_zlib_pc.c ${zlib_ldflags} > /dev/null 2>&1 && + ${CC} -o compat/gen_zlib_pc "$srcdir"/compat/gen_zlib_pc.c >/dev/null 2>&1 && compat/gen_zlib_pc > compat/zlib.pc && PKG_CONFIG_PATH="$PKG_CONFIG_PATH":compat && export PKG_CONFIG_PATH @@ -602,17 +622,14 @@ if [ $WITH_DOCS = "1" ] ; then fi fi -have_gpgconf_socketdir=0 -printf "Checking for gpgconf --{create,remove}-socketdir... " -if gpgconf --dump-options > /dev/null ; then - if gpgconf --dump-options | grep -q create-socketdir ; then +if [ $WITH_DESKTOP = "1" ]; then + printf "Checking if desktop-file-install is available... " + if command -v desktop-file-install > /dev/null; then printf "Yes.\n" - have_gpgconf_socketdir=1 else - printf "No.\n" + printf "No (so will not install .desktop file).\n" + WITH_DESKTOP=0 fi -else - printf "No. (missing or broken gpgconf?)\n" fi libdir_in_ldconfig=0 @@ -673,19 +690,6 @@ else EOF fi -printf "Checking byte order... " -cat> _byteorder.c < -#include -uint32_t test = 0x34333231; -int main() { printf("%.4s\n", (const char*)&test); return 0; } -EOF -${CC} ${CFLAGS} _byteorder.c -o _byteorder > /dev/null 2>&1 -util_byte_order=$(./_byteorder) -echo $util_byte_order - -rm -f _byteorder _byteorder.c - if [ $errors -gt 0 ]; then cat < Makefile.config < sh.config <