summaryrefslogtreecommitdiffstats
path: root/configure.ac
AgeCommit message (Collapse)Author
2021-01-03Replace AC_HELP_STRING with AS_HELP_STRING.Kevin McCarthy
2021-01-03Update deprecated AC_CHECK_TYPE usage.Kevin McCarthy
2020-12-29Update header cache checking order and --with options.Kevin McCarthy
Automatically scan in the order: kyotocabinet, tokyocabinet, lmdb, qdbm, gdbm, bdb. Turn all the backend options into '--with' options and add a dir parameter. Specifying a single --with option declares the desired backend, turning off scanning. Specifying --without skips scanning for a backend. Update the INSTALL file to make that clear. This actually wasn't even clear to me until I studied it now, and for years I've been using an obfuscated combination of --without and --with to specify the backend, when I just needed to use --with.
2020-12-28Add non-zero length for gdbm and lmdb configure tests.Kevin McCarthy
In $db_requested=auto mode, the variables may be unset.
2020-12-28Simplify BDB configure.ac check.Kevin McCarthy
Remove the long list of directory and library names to scan, and just look for -ldb and db.h. Use $with_bdb to search an alternative directory, just as the other header cache library searches do. If someone screams, we can enhance a *little* bit, but I think this is sufficient, and more important, maintainable.
2020-12-25Merge branch 'stable'Kevin McCarthy
2020-12-25Fix header cache BDB version checking.Kevin McCarthy
Update BDB versions up to 6.2. The scheme used here is, as Oswald nicely puts it, "totally insane", and seems to come straight from the initial header cache commit in c11667eaa3. For a stable release, I'm just going to add a few more Jenga pieces to the top. However, going forward this is unmaintainable. Oswald reports using a simple check for "db.h" and "-ldb" for about two decades with no issues. I will make that change in master later this week.
2020-11-23Add configure error if C compiler doesn't support C99.Kevin McCarthy
We added the test, but did not check to ensure it was found. Thanks to Oswald Buddenhagen for pointing out the missing check. He suggested the AC_PROG_CC might be redundant, but the info page seems to indicate AC_PROG_CC_C99 checks the properties of an already located compiler, so I'm leaving AC_PROG_CC in. Also, remove the $U check just below. Commit 64b1460a removed the call to AM_C_PROTOTYPES, but forgot to remove the $U check too.
2020-06-03Add check for sqlite3_prepare_v3() in configure.acKevin McCarthy
I didn't realize the function was added so recently: sqlite 3.20.0 (2017-08-01). Thanks to isdtor for pointing out the problem.
2020-05-29Remove support for OpenSSL <0.9.5Remco Rijnders
The current code provides a workaround for the absence of RAND_status in OpenSSL versions before 0.9.5. The comments in the code indicate these versions have to be supported, but as these versions are now more than 20 years old, this no longer applies. Removing this support simplifies the code and on the small chance that anyone is still using such old versions, breaking their build will actually be doing them a favor given the known issues with these OpenSSL versions.
2020-01-09Convert hcachever.sh.in to hcachever.pl.Kevin McCarthy
Use Digest::MD5 to remove build-time dependency on mutt_md5, for cross-compilation support.
2019-11-30Fixes and cleanup for imap deflate patch.Kevin McCarthy
Rework mutt_zstrm_read(): - Pass along the error if conn_read() returns < 0. - Separate out conn_eof and stream_eof flags so they can be dealt with differently. - Don't use Z_FINISH on conn_eof, because the passed in buf might not be big enough to hold the decompressed output. Instead continue looping until either Z_STREAM_END or Z_BUF_ERROR. - Remove recursive calls to retry, instead goto 'retry' target. - Remove op statements in malloc/free. - Bail on other rcs. Mutt doesn't check errno on a read error, so lump all other error codes into a -1 return value. Use default so we handle other weird stuff such as Z_NEED_DICT or Z_STREAM_ERROR too. Convert $imap_deflate to boolean, default unset. Configure.ac fixes: - Fix indentation - Remove unneeded AM_CONDITIONAL. - Don't restore LDFLAGS and CPPFLAGS. Save and restore LIBS instead. imap_conn_find() fixes: - Don't queue CAPABILITY command. (This mistake has been in there since UTF-8 and QRESYNC were added.). - Check imap_exec() returns 0 before wrapping. Even with FAIL_OK set, the imap_exec() can still return -1 on some errors.
2019-11-30imap: add support for COMPRESS=DEFLATE, RFC 4978Fabian Groffen
- added mutt_zstrm which allows wrapping an existing connection with deflate/inflate (zlib compression) - call mutt_zstrm_wrap_conn when setting up an IMAP connection if the server supports COMPRESSION=DEFLATE and imap_deflate evaluates to yes - add config quad-option imap_deflate enable/disable use of (de)compression for IMAP connections, defaulting to yes - add configure check for zlib, --with-zlib to detect if mutt_zstrm can (or should) be built Tested against a Dovecot IMAP server, observed easily 7x compression rates on received data, and 5x on sent data for a normal session. Rates can be observed when the connection is closed on debug level 4 and higher. Bug: https://gitlab.com/muttmua/mutt/issues/92
2019-09-09Merge branch 'stable'Kevin McCarthy
2019-09-01add fallback for inotify_init1Gero Treuner
2019-08-28Merge branch 'stable'Kevin McCarthy
2019-08-28Fix inotify configure test.Kevin McCarthy
AC_CHECK_FUNCS executes "action-if-found" or "action-if-not-found" for each function in the list. If a system has some but not all of the functions, both will end up being executed. This caused a build failure on an older system with exactly that situation. Change to only define USE_INOTIFY if all functions exist.
2019-08-20Fix --with-sqlite3 test for autocrypt.Kevin McCarthy
Since $with_sqlite3 can contain a path, we want to check if it is "no", not that it isn't "yes".
2019-08-03Start autocrypt gpgme.Kevin McCarthy
Add a basic init function. Bump up the required gpgme version to 1.8.0 if autocrypt is enabled.
2019-08-03Initial autoconf and makefile setup for autocrypt.Kevin McCarthy
2019-06-06Check for GNU Make to allow version.h FORCE target.Kevin McCarthy
If we're using GNU Make, the FORCE target allows automatically updating the version number after each commit. See commit 22c6df82
2019-05-27Rename --with-regex to --with-bundled-regex.Kevin McCarthy
This makes the configuration option purpose clearer. Previously, some distros enabled the option thinking it turned on a "regex" option that should be enabled. Closes #89.
2019-05-19Adjust docbook2texi program search.Kevin McCarthy
Look for db2x_docbook2texi first, because Fedora/Red Hat has their own version of "docbook2texi": db2x_docbook2texi. I'm not sure what to do if they have don't have that installed but have docbook2texi installed, since this is a terrible name collision. Thanks to Moritz Barsnick for pointing out the different binary (and package) names on Fedora.
2019-05-19Update gpgme and gpg-error automake checks.Kevin McCarthy
Pull updated autoconf files from the GPGME 1.13.0 release and use those new macros. Add a call to AM_PATH_GPG_ERROR() and include $(GPG_ERROR_LIBS) in the libraries. Thanks to Eike Rathke for finding the build problem, and for his patch fixing the issue. I opted for just grabbing the newest autoconf files from gpgme instead, but his fixed worked great too.
2019-04-21Fix unistring library configure test.Kevin McCarthy
The "action-if-found" argument of AC_SEARCH_LIBS is run even if the result is "none required" (i.e. the test function is already in LIBS, in this case -lidn2). This was causing "-lunistring" to be appended on a system without the library installed, generating a build error. Fix the test to not append the library for the "none required" case. Thanks to Fabrice Fontaine for reporting this issue and helping me test the fix.
2019-04-14configure.ac: fix static build with idn2 and unistringFabrice Fontaine
Commit 78db40f25c6479b14da5a73adf7207bfbec5ccc5 did not fix static build failure AC_SEARCH_LIBS prepends the library to LIBS as a result -lunistring is added before -lidn2. To fix static build, we must set -lunistring after -lidn2 Fixes: - http://autobuild.buildroot.org/results/c9544b4f1a0252e260a2ed19218fa950f4dc2d2d Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2019-04-11Generate version string during make not configureAaron Schrab
Switch to generating the version string during make process rather than at configure time. This makes it easier to keep the detailed version string accurate when doing development which doesn't require that the configure script be rerun.
2019-02-23Add additional search names for docbook texi conversion program.Kevin McCarthy
On Arch, it is called docbook2text
2018-12-04Always use the gpgme_new wrapper in crypt-gpgme.Werner Koch
The wrapper is much more convenient and there is no need to sometimes use gpgme_new directly. The perceived advantage on not bailing out in an out-of-core condition is not realistic because other small amounts of memory are allocated all over mutt anyway and thus function will terminate the process as well. This patch also changes the minimum version of gpgme to 1.4.0. This is so that we can always pass NULL to functions like gpgme_release. Further 1.4.0 has new functions which we may soon like to use.
2018-12-04Require GPGME version 1.2.0 and drop useless HAVE macros.Werner Koch
GPGME 1.2.0 was released nearly 10 years ago and thus we can really demand this version. For various reasons it would be advisable to require a decent version but that is a different thing and needs to be done in a separate patch. HAVE_GPGME_OP_EXPORT_KEYS and HAVE_GPGME_PKA_TRUST are not anymore needed because they are supported by that GPGME version. Signed-off-by: Werner Koch <wk@gnupg.org>
2018-10-04Build info file documentation.Kevin McCarthy
If docbook2x-texi and makeinfo are installed, convert the docbook file to info and install as another source for the manual.
2018-09-27Add regfree to configure regex test.Kevin McCarthy
This allows to run the system regex lib even when compiling with ASAN. Previously, ASAN would report the regex_t leak and change the exit code.
2018-08-29Rename pgpring to mutt_pgpring.Kevin McCarthy
pgpring is used by another common package, signing-party. At the request of ArchLinux, I am renaming our version to be prefixed by "mutt_" in order to remove a naming conflict. This is a minor inconvenience for pgp2, pgp5, and pgp6 users, but I believe this constitutes an extremely small number of users at this point. I am keeping pgpewrap as-is because it is also used by GnuPG, and has no such naming conflict.
2018-08-28new Finnish translationTommi A Pirinen
2018-08-21Merge branch 'stable'Kevin McCarthy
2018-08-21Add autoconf check for libunistring when checking for idn2.Kevin McCarthy
-lunistring is only explicitly needed when compiling statically, so add a AC_SEARCH_LIBS to add it to LIBS if it is found. Thanks to Fabrice Fontaine for the heads-up about the problem and the merge request.
2018-06-18Convert context and buffy to use nanosecond timestamps.Kevin McCarthy
The inotify interface has an unfortunate side effect of making Mutt react too quickly to new mail. Sometimes, the mail is only half-delivered when the mailbox is checked. Because Mutt is using the stat mtime - seconds resolution - this means it won't realize there are more messages delivered during the same second. Nanosecond resolution fields were standardized in POSIX.1-2008, so check for and use those if they are available.
2018-06-03add feature file monitoring with Linux inotifyGT
2018-05-08Add declaration checks for libidn2.Kevin McCarthy
The libidn compatibilty layer was only added in version 2.0.0 (2017-03-29). idn2.h defines macros, so use AC_CHECK_DECL instead of AC_CHECK_FUNC. $with_idn2 doesn't have an "auto" state, so remove a few unneeded copy/paste checks from idn.
2018-04-15Add libidn2 supportMatej Muzila
2018-04-02Merge branch 'stable'Kevin McCarthy
2018-04-02configure: check for tinfo matching ncursesKevin McCarthy
When we selected ncursesw, look for tinfow as well. Since ncurses-6.1 the binary compatibility between tinfo and tinfow disappeared, resulting in crashes and other odd behaviour. This change checks for tinfo or tinfow based on which ncurses we found to continue with. https://bugs.gentoo.org/651552 [Thanks to Fabian Groffen for the patch. I made a minor modification to fall back to tinfo because pre-6.1 systems may not have a tinfow but still need tinfo to compile.]
2018-01-17Merge branch 'stable'Kevin McCarthy
2018-01-17Remove muttbug and flea.Kevin McCarthy
We have pretty much transitioned over to gitlab.com.
2017-12-17manually touch atime when reading a mbox fileAdam Borowski
The only common use of atime left is local mail agents leaving a mark on mbox file after the mail has been read. And, since POSIX-2008, it is possible to use futimens() to alter atime even on filesystems mounted with noatime. There's no extra cost for doing this on when atime updates are enabled: the inode will be dirty already.
2017-11-08Use fgets_unlocked and fgetc_unlocked if available.David Wilson
Since mutt does not use threads, there is no reason it should use the locked variants of the FILE* IO functions. This checks if the unlocked functions are available, and if so enables them globally via mutt.h. Cuts load time for a 56k message, 1.8GB /var/mail mailbox from 14 seconds to ~6 seconds, since we avoid acquiring and releasing a mutex for every character of input read. Before: 0m14.376s 74.98% mutt libc-2.18.so [.] _IO_getc 11.87% mutt mutt [.] mbox_parse_mailbox 0.94% mutt [kernel.kallsyms] [k] copy_user_generic_string 0.83% mutt libc-2.18.so [.] __strchr_sse2 0.53% mutt libc-2.18.so [.] __memcpy_sse2 0.44% mutt libc-2.18.so [.] _int_malloc After: 6 seconds 68.92% mutt mutt [.] mbox_parse_mailbox 2.25% mutt [kernel.kallsyms] [k] copy_user_generic_string 1.73% mutt libc-2.18.so [.] __strchr_sse2 1.24% mutt libc-2.18.so [.] __memcpy_sse2 1.17% mutt libc-2.18.so [.] _int_malloc 0.87% mutt libc-2.18.so [.] __strspn_sse42
2017-07-28Convert raw_socket_poll() to use gettimeofday().Kevin McCarthy
As long as gettimeofday() is supported, it's better to be consistent within mutt and ensure greater portability. Change the raw_socket_poll() wait timer to count milliseconds, like the mutt_progess_update() code. Thanks to Vincent Lefèvre for his, as always, invaluable advice.
2017-07-24Add autoconf search for clock_gettime.Kevin McCarthy
It appears to be specified in POSIX.1-2001, so just abort if it's not found. Add a missing time.h include in mutt_socket.c
2017-06-06Restore setenv function.Kevin McCarthy
Partially revert fa1192803257, restoring setenv. It turns out we still need the function.
2017-04-30Convert all exec calls to use mutt_envlist(), remove setenv function.Vincent Lefevre
The documentation implies that all children processes will be affected by the setenv command, so convert all the exec calls to use mutt_envlist(). The setenv("GPG_TTY") call is no longer needed so remove it. With that removed, there are no other setenv calls in mutt, so remove the autoconf check and replacement function.