aboutsummaryrefslogtreecommitdiffhomepage
path: root/configure
Commit message (Collapse)AuthorAge
* configure: add debug flags by default.Gravatar David Bremner2014-10-05
| | | | | | This makes development (in particular the test suite) easier. Those concerned about the extra diskspace can override the default or use strip.
* build: generate sh.config for feeding configure results to shell scriptsGravatar Jani Nikula2014-07-13
| | | | | | | | | Only include the relevant information. Amended by David Bremner: Use a prefix NOTMUCH_ to minimize collisions with other variables.
* doc: build and install doxygen api docsGravatar David Bremner2014-07-09
| | | | | In order to support out of tree builds and avoid hardcoding version number, generate `doc/config.dox` from configure.
* configure: use cc/c++ instead of gcc/g++Gravatar Fraser Tweedale2014-07-04
| | | | | | Some systems (e.g. FreeBSD 10) do not ship with the GNU Compiler Collection. Use generic cc/c++ instead of gcc/g++ (unless the CC/CXX environment variables are used).
* configure: add workaround for systems without zlib.pcGravatar Felipe Contreras2014-06-21
| | | | | | | | Some systems (e.g. FreeBSD) might not have installed the appropriate pkg-config file as they should. We can workaround the issue by creating the .pc file they should have distributed. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
* configure: fix comment, pass HAVE_CANONICALIZE_FILE_NAME to buildGravatar David Bremner2014-04-19
| | | | | Apparently omitting it is not fatal, but let's be consistent with the other compat functions.
* configure: add $(ZLIB_CFLAGS) to CONFIGURE_CFLAGSGravatar Tomi Ollila2014-04-13
| | | | As it is defined in CONFIGURE_CXXFLAGS.
* dump: support gzipped and atomic outputGravatar David Bremner2014-04-12
| | | | | | | | | | | | | The main goal is to support gzipped output for future internal calls (e.g. from notmuch-new) to notmuch_database_dump. The additional dependency is not very heavy since xapian already pulls in zlib. We want the dump to be "atomic", in the sense that after running the dump file is either present and complete, or not present. This avoids certain classes of mishaps involving overwriting a good backup with a bad or partial one.
* compat: add canonicalize_file_nameGravatar David Bremner2014-04-08
| | | | | | | | the POSIX 2008 behaviour of realpath is not available everywhere so we provide a simple wrapper function. We use (and provide) the gnu extension canonicalize_file_name to make it cleaner to test for the feature we need; otherwise we have to rely on realpath segfaulting if the second argument is null.
* doc: fix out-of-tree buildGravatar David Bremner2014-03-25
| | | | | | | | The subtle part is adding .rst and .py files to vpath so they can be used as dependencies without prefixing with $(srcdir) We also change the interface to mkbuildeps.py: rather than getting the containing directory from the conf file path, we go the other way.
* build: move canonical list of subdirectories to configure scriptGravatar David Bremner2014-03-25
| | | | | The configure script needs this list for out of tree builds. Grabbing it from the Makefile via sed was fragile and broken.
* doc: configure detection of sphinx and rst2manGravatar David Bremner2014-03-18
| | | | | | | | | Because sphinx-build does not provide a convenient way of listing which builders exist, and some people actually have pre 1.0 sphinx, we try loading a relevant python module. Currently the assumption is that no python in path -> no sphinx-build in path.
* new: Detect dirent.d_type support at configure timeGravatar Austin Clements2014-02-14
| | | | | | | | Support for dirent.d_type is OS-specific. Previously, we used _DIRENT_HAVE_D_TYPE to detect support for this, but this is apparently a glic-ism (FreeBSD, for example, supports d_type, but does not define this). Since there's no cross-platform way to detect support for dirent.d_type, detect it using a test compile at configure time.
* configure: only install bash completion if supportedGravatar Jani Nikula2014-02-03
| | | | | Our bash completion depends on bash-completion 1.90 or later. Only install where available.
* util: detect byte orderGravatar David Bremner2013-11-27
| | | | | | | | Unfortunately old versions of GCC and clang do not provide byte order macros, so we re-invent them. If UTIL_BYTE_ORDER is not defined or defined to 0, we fall back to macros supported by recent versions of GCC and clang
* 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.