aboutsummaryrefslogtreecommitdiffhomepage
path: root/configure
Commit message (Collapse)AuthorAge
* database: Add notmuch_database_compact_closeGravatar Ben Gamari2013-10-09
| | | | | | | | | This function uses Xapian's Compactor machinery to compact the notmuch database. The compacted database is built in a temporary directory and later moved into place while the original uncompacted database is preserved. Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>
* timegm: add portable implementation (Solaris support)Gravatar Blake Jones2013-08-23
| | | | | | | | | | The timegm(3) function is a non-standard extension to libc which is available in GNU libc and on some BSDs. Although SunOS had this function in its libc, Solaris (unfortunately) removed it. This patch implements a very simple version of timegm() which is good enough for parse-time-string.c. Signed-off-by: Vladimir Marek <vlmarek@volny.cz>
* strsep: check for availability (Solaris support)Gravatar Blake Jones2013-08-23
| | | | | | | | | | Solaris does not ship a version of the strsep() function. This change adds a check to "configure" to see whether notmuch needs to provide its own implementation, and if so, it uses the new version in "compat/strsep.c" (which was copied from Mutt, and apparently before that from glibc). Signed-off-by: Vladimir Marek <vlmarek@volny.cz>
* asctime: check for standards compliance (Solaris support)Gravatar Vladimir Marek2013-08-23
| | | | | | | | | | | | | | Add checks to "configure" to see whether _POSIX_PTHREAD_SEMANTICS needs to be defined to get the right number of arguments in the prototypes for asctime_r(). Solaris' default implementation conforms to POSIX.1c Draft 6, rather than the final POSIX.1c spec. The standards-compliant version can be used by defining _POSIX_PTHREAD_SEMANTICS. This change also adds the file "compat/check_asctime.c", which configure uses to perform its check, and modifies compat/compat.h to define _POSIX_PTHREAD_SEMANTICS if configure detected it was needed. Signed-off-by: Vladimir Marek <vlmarek@volny.cz>
* getpwuid: check for standards compliance (Solaris support)Gravatar Blake Jones2013-08-23
| | | | | | | | | | | | | | Add checks to "configure" to see whether _POSIX_PTHREAD_SEMANTICS needs to be defined to get the right number of arguments in the prototypes for getpwuid_r(). Solaris' default implementation conforms to POSIX.1c Draft 6, rather than the final POSIX.1c spec. The standards-compliant version can be used by defining _POSIX_PTHREAD_SEMANTICS. This change also adds the file "compat/check_getpwuid.c", which configure uses to perform its check, and modifies compat/compat.h to define _POSIX_PTHREAD_SEMANTICS if configure detected it was needed. Signed-off-by: Vladimir Marek <vlmarek@volny.cz>
* configure: grab CPPFLAGS from the environment.Gravatar David Bremner2013-06-02
| | | | This is needed in particular for hardening flags.
* configure: really expand libdir_expandedGravatar David Bremner2012-12-01
| | | | | | | | | It turns out that if people really use configure in autotools style and pass libdir containing '${prefix}/foo' then the ldconfig previously failed. This uses sed for portability (versus bash parameter expansion with substitution) and hopefully a bit more robustness than blindly parameter expanding the string.
* build: drop the -Wswitch-enum warningGravatar Jani Nikula2012-10-31
| | | | | | | | | | | | | | -Wswitch-enum is a bit awkward if a switch statement is intended to handle just some of the named codes of an enumeration especially, and leave the rest to the default label. We already have -Wall, which enables -Wswitch by default, and per GCC documentation, "The only difference between -Wswitch and this option [-Wswitch-enum] is that this option gives a warning about an omitted enumeration code even if there is a default label." Drop -Wswitch-enum to not force listing all named codes of enumerations in switch statements that have a default label.
* Support OpenBSDGravatar Austin Clements2012-10-27
| | | | | | | | OpenBSD's build flags are identical to FreeBSD, except that libraries need to be explicitly linked against libc. No code changes are necessary. From: Cody Cutler <ccutler@csail.mit.edu>
* configure: Add support for FreeBSD.Gravatar Mike Kelly2012-09-01
| | | | | This makes FreeBSD a recognized platform. Follow up patches make it work properly.
* configure: check whether shell is capable of parameter substring processingGravatar Tomi Ollila2012-07-25
| | | | | | | | | | | | | | | 'configure' script uses parameter substring extensively. It is Posix shell feature. Original Bourne shell does not have such features. Some systems still ships such shells as /bin/sh (for compatibility reasons -- shell scripts written on those platforms are expected to work on 1990's systems). Just testing whether parameter substring processing works will make the shell exit due to syntax error if it is not compatible. Therefore the test is executed in a subshell -- subshell exits with nonzero value when the operation in question fails. As 'if ! ...' does not work in Bourne shell, Short-circuiting construct '||' is used to print information message and exit when expected.
* config: add quoting to fix IFS bugGravatar Jameson Graef Rollins2012-06-03
| | | | | | Without proper quoting the DEFAULT_IFS was getting set incorrectly, which was causing problems with the storage of some variables later in the script. Quoting fixes the problem.
* configure: add help note about gmime versionGravatar Jameson Graef Rollins2012-05-25
|
* configure: change gmime version in help message to 2.6Gravatar David Bremner2012-04-05
| | | | | | Since GMime 2.6 is now the stable version upstream, and probably the most tested by notmuch developers, it makes sense to suggest that to users to install.
* configure: print info about required gmime 2.4 or 2.6 versionsGravatar Tomi Ollila2012-04-05
| | | | | In case required gmime (2.4 or 2.6) version if not found print information about both alternatives (and currently minimal 2.6 version that is needed).
* configure: add empty line after each missing component messageGravatar Tomi Ollila2012-04-05
| | | | | | | Currently whenever message about missing GMime, Glib or talloc is printed the message is 2 lines, component info and its http location in next line. In the future the amount of lines will vary. To ease reading in these cases newline is added after each message.
* Allow selecting which version of gmime is used to build notmuch.Gravatar Tomi Ollila2012-03-20
| | | | | | | | This allows for testing against both versions of gmime on a single machine, without having to mess with pkg-config paths. This is rework of Tom Prince's patch submitted in id:"1331402091-15663-1-git-send-email-tom.prince@ualberta.net"
* configure: store $IFS to $DEFAULT_IFS readonly variableGravatar Tomi Ollila2012-03-20
| | | | | | In the future, IFS value needs to be changed in a few places in configure -- and then restored. Store the original value to $DEFAULT_IFS for easy restoration.
* Do not try to parse the options for --build and --host argumentsGravatar Justus Winter2012-03-20
| | | | | | | | | | Formerly the code assumed the arguments to be triples and threw an error if this was not the case. But those arguments are only there for compatibility with autotools and are not used within the build system, so just dropping the code parsing these values makes the build system more robust. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* Add GNU as a valid platformGravatar Justus Winter2012-03-20
| | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* build: Require gmime >= 2.6.7Gravatar Thomas Jost2012-03-11
| | | | | | | | | | | | | | | | | | | | | | | | gmime-2.6 had a bug [1] which made it impossible to tell why a signature verification failed when the signer key was unavailable (empty "sigstatus" field in the JSON output). Since 00b5623d the corresponding test is marked as broken when using gmime-2.6 (2.4 is fine). This bug has been fixed in gmime 2.6.5, which is now the minimal gmime-2.6 version required for building notmuch (gmime-2.4 is still available). As a consequence the version check in test/crypto can be removed. [Added by db] Although less unambigously a bug, Gmime 2.6 prior to 2.6.7 also was more strict about parsing, and rejected messages with initial "From " headers. This restriction is relaxed in [2]. For reasons explained in [3], we want to keep this more relaxed parsing for now. [1] https://bugzilla.gnome.org/show_bug.cgi?id=668085 [2] http://git.gnome.org/browse/gmime/commit/?id=d311f576baf750476e06e9a1367a2dc1793ea7eb [3] id:"1331385931-1610-1-git-send-email-david@tethera.net"
* Fix configure script to properly detect gmime-2.6 if available.Gravatar Jameson Graef Rollins2012-03-10
| | | | | | | Previously, the configure script would appear to detect gmime-2.6 if present. However, the binaries would end up being compiled against gmime-2.4. The addition of a break fixes things so that now gmime-2.6 will be used if available, falling back to gmime-2.4.
* configure: update explicit check for glib : >= 2.22Gravatar Pieter Praet2012-02-03
| | | | | | | | | | | As of commit b3caef1f, we're using g_array_unref() in 'lib/query.cc', which was only introduced in glib 2.22, so update the dependency. Thanks to datapipe@gmail.com for reporting this [1]. Also see commit b88e6abc. [1] id:"alpine.DEB.2.02.1201132130220.21970@ltspubuntu4.int.smq.datapipe.net"
* Separate Emacs misc. files dir. from Emacs code dir.Gravatar Amadeusz Żołnowski2011-10-28
| | | | | New option --emacsetcdir was added, but it's set default to the same value as --emacslispdir for backward compatibility.
* fix sum moar typos [build scripts, Makefiles]Gravatar Pieter Praet2011-06-23
| | | | | | | | Various typo fixes in comments within the Makefile and other build scripts. Signed-off-by: Pieter Praet <pieter@praet.org> Edited-by: Carl Worth <cworth@cworth.org> Restricted to just build files.
* configure: Fix detection of libdir in ldconfig configurationGravatar Carl Worth2011-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | Ever since commit b4b5e9ce4dac62111ec11da6d22b7e618056801f the detection of libdir in the ldconfig configuration has been broken, resulting in RPATH being set when not needed and not wanted. The cause was a change from an IFS setting of: IFS="$(printf '\n\t')" to a new setting of: IFS="$(printf '\n')" That looks desirable since we want to split the output of ldconfig based on newlines, (and not split on any filename that might have an embedded tab in it). The subtle bug in the above is that the shell trims any trailing newlines when performing command substitution so the final statement above was equivalent to: IFS='' which prevented any splitting of the ldconfig output at all. Fix this by avoiding command substitution and just using a literal newline in the source file for setting this variable.
* build: Save configure options and re-use them for automatic runs of configureGravatar Carl Worth2011-03-10
| | | | | | | | | This supports the case of a user running "configure --prefix=/foo" then later updating the soruce (including the configure script) and re-running make. In this case, the make invocation will re-run configure. Before this change, this run of configure would lose the user's carefully chosen prefix. This is now fixed so that configrue is re-run with the user's options.
* build: Add support for non-source-directory builds.Gravatar Carl Worth2011-03-09
| | | | | | | | | | | | | | Such as: mkdir build cd build ../configure make This is implemented by having the configure script set a srcdir variable in Makefile.config, and then sprinkling $(srcdir) into various make rules. We also use vpath directives to convince GNU make to find the source files from the original source directory.
* configure: Drop global setting of IFS (without space in it).Gravatar Michal Sojka2011-01-26
| | | | | | | | | This was originally intended to help support filenames with spaces in them, but this actually breaks things when someone sets a command with a space in it, (such as CC="ccache cc"). Instead, we now only set a custom IFS when acting on the newline-separated list of files from /sbin/ldconfig.
* configure: add options to disable emacs/zsh/bash and choose install dir.Gravatar Cédric Cabessa2011-01-26
| | | | | | | | | | | | | add --bashcompletiondir and --zshcompletiondir (like --emacslispdir) to choose installation dir for bash/zsh completion files Make some features optional: --without-emacs / --with-emacs=no do not install lisp file --without-bash-completion / --with-bash-completion=no do not install bash files --without-zsh-completion / --with-zsh-completion=no do not install zsh files By default, everything is enabled. You can reenable something with --with-feature=yes
* configure: Add explicit check for glib >= 2.14Gravatar Carl Worth2010-11-16
| | | | For cases where GMime is present, but happy with glib 2.12, for example.
* configure: Use pkg-config --exists rather than --modversionGravatar Carl Worth2010-11-16
| | | | | | | | With --modversion we were asking for output that we were just throwing away anyway. The --exists option does just what we want, (no output and communivating only via return value). Also, --exists allows for testing versions of the package as well.
* configure: Add a check for the -Wl,--as-needed flag.Gravatar Carl Worth2010-10-30
| | | | | | This fits with our general build philosophy of checking at configure time for desired support, (rather than putting platform-specific conditionals into our Makefiles).
* fixupGravatar Carl Worth2010-10-30
|
* configure: Remove a debugging print message.Gravatar Carl Worth2010-10-30
| | | | This was never intended to be committed.
* configure: Test for flag to set rpathGravatar Carl Worth2010-10-30
| | | | | This is better than the previous approach which had a hardcoded Linux-specific value in the Makefile.
* configure: Test for each compiler warning before enabling it.Gravatar Carl Worth2010-10-30
| | | | | This should allow the build to be much more automatically portable to compilers with different sets of warning options.
* configure: Set XAPIAN_CONFIG to only "xapian-config" by default.Gravatar Carl Worth2010-10-29
| | | | | | | | | | | | Previously, we preferred a value of "xapian-config-1.1" first. This was convenient for compiling against Xapian 1.1 while Xapian 1.2 was unreleased. But now that Xapian 1.2 is realease, and since it ships a xapian-config, the xapian-config-1.1 value can mask the newer library. Instead of trying to track the latest xapian-config-1.x in our configure script let's simply expect the user to set XAPIAN_CONFIG=xapian-config-1.x in order to compile against an unreleased Xapian.
* configure: optimize uname finding a bitGravatar Felipe Contreras2010-10-29
| | | | Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
* make install: Run ldconfig or install a DT_RUNPATH in binary as appropriate.Gravatar Carl Worth2010-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various users were confused as to why they couldn't run notmuch immediately after "make install", (with linker errors saying that libnotmuch.so could not be found). The errors came from two different causes: 1. The user had installed to a system library directory, but had not yet run ldconfig. 2. The user had installed to some non-system directory, and had not set the LD_LIBRARY_PATH variable. With this change we fix both problems (on Linux) without the user having to do anything additional. We first use ldconfig to find the system library directories. If the user is installing to one of these, then we run ldconfig as part of "make install". For case (2) we use the -rpath and --enable-new-dtags linker options to install a DT_RUNPATH entry in the binary. This entry tells the dynamic linker where to find libnotmuch. Without the --enable-new-dtags option only a DT_RPATH option would be installed, (which has the drawback of not allowing any override with the LD_LIBRARY_PATH variable). Distributions (such as Debian and Fedora) don't want to see binaries packaged with a DT_RPATH or DT_RUNPATH entry. This should be avoided automatically as long as the packages install to standard locations, (such as /usr/lib).
* configure: Remove space from IFS (using tab as necessary)Gravatar Carl Worth2010-06-04
| | | | | | | The idea here is to more easily support filenames with spaces in them in various loops. We're about to add a loop over the paths configured by the dynamic linker. Hopefully, they wouldn't contain spaces, but one never knows so we might as well be prepared.
* Add support for the Solaris platformGravatar Tomas Carnecky2010-06-03
| | | | | | Like on Mac OS X, the linker doesn't automatically resolve dependencies. Signed-off-by: Tomas Carnecky <tom@dbservice.com>
* configure: Respect LDFLAGS from the environment.Gravatar Tomas Carnecky2010-06-03
| | | | | | | | | | The configure usage string documents that it respects LDFLAGS, but currently it doesn't do anything with the configure-time LDFLAGS value. Signed-off-by: Tomas Carnecky <tom@dbservice.com> [Tomas and Nelson sent almost identical patches which I've merged together here.]
* configure: add ignored options for compatibility.Gravatar Cédric Cabessa2010-04-26
| | | | | | gentoo's ebuild script expects 2 more options for configure: --host (same format as --build) --datadir
* configure: Print version of Xapian found during configure check.Gravatar Carl Worth2010-04-21
| | | | | This might be handy to know, (since there are important performance considerations that depend on the Xapian version).
* configure: Generalize the GMime configure checks.Gravatar Carl Worth2010-04-21
| | | | | | This way when GMime 2.8 comes out we can simply add it to the list rather than adding an additional block of conditional code for it. Also GMime 2.6 is now preferred over GMime 2.4.
* configure: Add support for GMime 2.6Gravatar Adrien Bustany2010-04-21
| | | | | Notmuch compiles just fine with GMime 2.6, so accept it in the configure script.
* configure: Fix syntax error (spaces in assignment).Gravatar Gregor Hoffleit2010-04-15
| | | | | | Before and after the assignment operator, no spaces are allowed. I don't know if there are any /bin/sh which allow spaces, but at least in bash, csh and zsh, the former code was no valid assigment.
* Makefile: Fix final linking of notmuch binary for OS X.Gravatar Carl Worth2010-04-14
| | | | | | | | | | | | Apparently the OS X linker can't resolve symbols when linking a program (notmuch) against a library (libnotmuch) when the library depends on another library (libgmime) that the program doesn't depend on directly. For this case, we need to link the program directly against both libraries, but we don't want to do this on Linux, where the linker can do this on its own and the explicit, unneeded link would cause problems.
* Add infrastructure for building shared library on OS X.Gravatar Aaron Ecay2010-04-14
| | | | | | | | This patch adds a configure check for OS X (actually Darwin), and sets up the Makefiles to build a proper shared library on that platform. Signed-off-by: Aaron Ecay <aaronecay@gmail.com>