summaryrefslogtreecommitdiffstats
path: root/configure.ac
AgeCommit message (Collapse)Author
2021-04-15Use bkgrndset() as ATTRSET() backend if available.Kevin McCarthy
This function allows more usable color pairs, because it passes the pair parameter separately. The COLOR_PAIR() macro only returns 8-bits for a pair, limiting the total pairs used to 256 despite many systems having much larger COLOR_PAIRS values. In order to do this, separate out the pair and attrs values, instead of combining attr + COLOR_PAIR(pair) into a single value and storing that inside Mutt. For the older calls, bkgdset() and attrset(), we call COLOR_PAIR() at the last minute. Add COLOR_ATTR to header cache sum calculation, since it is used in the HEADER now.
2021-02-21Fix gettext update problems.Kevin McCarthy
The keymap_alldefs.h file was previously generated and scanned inside po/Makefile.in.in as an additional POTFILES files build dependency and step. The file can't be scanned by just adding it to po/POTFILES.in because it's a generated file that will be in the build directory. The next commit will instead add the OPS* files directly to POTFILES.in to be scanned. For this commit, remove the generation of keymap_alldefs.h. Remove the redundant ALL_LINGUAS setting from configure.ac. Reformat the LINGUAS file to be on one line, as the documentation shows. I think it was okay before, but just to be safe. Fix L10N scanning by adding '--add-comments=L10N' to XGETTEXT_OPTIONS in po/Makevars. Set MSGID_BUGS_ADDRESS to silence a warning. Add gettext.h to the Makefile.am EXTRA_DIST list. Remove -Iintl flags from all Makefile.am files, since the intl directory is no longer bundled in Mutt.
2021-02-19Remove the AM_GNU_GETTEXT_VERSION line as it makes autoreconf fail withVincent Lefevre
gettext < 0.21 because autopoint complains that gettext is too old. Using this line with a version smaller than 0.21 makes autopoint itself fail, thus does not solve the problem.
2021-02-19Add AM_GNU_GETTEXT_VERSION line to avoid a warning from autoreconf.Vincent Lefevre
2021-02-18Update gettext to version 0.21.Kevin McCarthy
Run 'gettextize -f --no-changelog' to update to 0.21. This removes the entire intl directory, and relies on an external libintl only. $(INTLLIBS) should now be referred to as $(LIBINTL), so change all references. Unfortunately, some of the gettext m4 files were modified and "mutt customized" in the past. I'm trying to keep them in a pristine state after this upgrade. glibc21.m4, lcmessage.m4, codeset.m4 have also been removed. Manually call AM_ICONV in configure.ac. This was previously called in the modified "MUTT_AM_GNU_GETTEXT" but the result $am_cv_func_iconv is tested just below. locale.h is a standard library defined by C99. The gpgme and pgp code wrapped those includes in HAVE_LOCALE_H checks, but that check was performed inside of gettext.m4. Remove the check inside those files (locale.h is already included unconditionally elsewhere in Mutt). Copy the sample gettext.h file and include that instead, as suggested by the gettext documentation. unistd.h is also a standard posix header, so remove HAVE_UNISTD_H checks inside mutt too. Create po/LINGUAS file listing available languages. Create po/Makevars from the template and customize for Mutt. Set PO_DEPENDS_ON_POT to no to prevent po file rebuilds. According to the gettext manual, with this set, "PO files can be accidentally updated even if a POT file is not updated" when using git.
2021-01-14Remove configure test for va_copy.Kevin McCarthy
Its presence is also dictated by the C99 specification.
2021-01-14Remove snprintf and vsnprintf configure checks.Kevin McCarthy
There was a period of time where C99 was standardized but some systems still didn't include a correctly working version of those two functions. But I think we are long past that point now. Remove the checks and replacement code.
2021-01-03Add configure checks for gssapi library and functions.Kevin McCarthy
rkta on irc reported a build failure because the gss headers were not present. Add explicit checks for the required headers. Also add a check for gss_init_sec_context() when using the output of krb-config to configure flags. Abort configure if the library/header checks don't pass. It would previously continue on, setting USE_GSS and need_gss, which would just result in a build error.
2021-01-03Remove obsolete AC_HEADER_STDC and STDC_HEADERS checks.Kevin McCarthy
The autoconf macro is obsolete in 2.70. Also, we now assume at least C99 so there is no point in checking for ANSI C89 header files. Fix up code to assume STDC_HEADERS is always true, removing the reference to it at the same time.
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