aboutsummaryrefslogtreecommitdiff
path: root/configure
AgeCommit message (Collapse)Author
2016-05-07configure: replace ${CXXLAGS} with ${CXXFLAGS_for_sh}Tomi Ollila
Variable CXXLAGS expands to nothing, CXXFLAGS something unusable here; CXXFLAGS_for_sh expands to what we expect here.
2016-05-01configure: SC2016: Expressions don't expand in single quotesJani Nikula
Fix shellcheck warnings. Use double quotes but escape $ to make it look more intentional.
2016-05-01configure: SC2034: glib_cflags and glib_ldflags appear unused.Jani Nikula
Fix shellcheck warnings.
2016-05-01configure: SC2059: Don't use variables in the printf format string.Jani Nikula
Fix shellcheck warnings. Use printf "..%s.." "$foo".
2016-05-01configure: SC2006: Use $(..) instead of legacy `..`Jani Nikula
Fix shellcheck warnings.
2016-04-12configure: add test for default xapian backendDavid Bremner
This is mainly for the test suite. We already expect the tests to be run in the same environment as configure was run, at least to get the name of the python interpreter. So we are not really imposing a new restriction.
2016-04-01configure: autodetect xapian-1.3David Bremner
Mimic the handling of python2 versus python3. In particular if both xapian-config and xapian-config-1.3 are found, use xapian-config
2016-02-13configure: pass HAVE_TIMEGM to buildTomi Ollila
Checking the existence of timegm() function and setting configure internal variable ${have_timegm} was done, but actually defining HAVE_TIMEGM in build was not done -- meaning that compat timegm() was always part of final notmuch binaries.
2015-12-06configure: drop use of "pkg-config emacs"David Bremner
This does not play well with --prefix. As Tomi notes in id:m2k2p2rwth.fsf@guru.guru-group.fi, people still have the option of e.g. % ./configure ---emacslispdir=`pkg-config emacs --variable sitepkglispdir`
2015-08-26cli/lib: remove support for GMime 2.4David Bremner
It's becoming a maintenance burden to do anything things with the crypto glue code twice, once for 2.4 and once for 2.6. I don't have any 2.4 version available to test on my development machine anymore, so the 2.4 specific code paths are likely not very well tested.
2015-08-10configure: clean up messages around reading libnotmuch versionJani Nikula
Clean up punctuation for consistency, and add newline for clean configure output.
2015-08-10build: extract library versions from notmuch.hDavid Bremner
- Make lib/notmuch.h the canonical location for the library versioning information. - Since the release-check should never fail now, remove it to reduce complexity. - Make the version numbers in notmuch.h consistent with the (now deleted) ones in lib/Makefile.local
2015-08-04test: use the python interpreter in sh.configDavid Bremner
The configure script chooses "python" if both python and python{2,3} exist exists, so this could change the version of python used to run the test suite. The checking for ${NOTMUCH_PYTHON} in the test suite is arguably over-engineering, since the configure step will fail if it can't find it.
2015-07-30configure: support --without-rubyDavid Bremner
Apparently some ruby installs are broken in ways that prevent the ruby bindings from building.
2015-07-30configure: support --with-docs=noDavid Bremner
Since we promise --with-foo=no is equivalent to --without-foo
2015-07-30configure: alphabetize --without helpDavid Bremner
Now that the "without" options seem to be multiplying, try to make it easier for people to find the one they want.
2015-07-30configure: fix typo in commentDavid Bremner
Some lazy person, probably me, forgot to press shift.
2015-07-28configure: whitespace cleanupDavid Bremner
This is the result of running M-x whitespace-cleanup in emacs. In particular this replaces some spaces at the beginning of lines with tabs.
2015-07-27configure: add --without-docs switchMikhail
Previously documentation was build automatically if sphinx/doxygen executable were found. The switch is used to unconditionally disable sphinx/doxygen detection and therefor, building of documentation (including man pages).
2015-06-13lib, ruby: make use of -Wl,--no-undefined configurableDavid Bremner
In particular this is supposed to help build on systems (presumably using a non-gnu ld) where this flag is not available.
2015-06-12build: integrate building ruby bindings into notmuch build processDavid Bremner
Because ruby generates a Makefile, we have to use recursive make. Because mkmf.rb hardcodes the name Makefile, put our Makefile{.local} in the parent directory.
2015-06-08configure: add ability to force python version via environmentDavid Bremner
This is makes it a bit easier to run our test suite under alternative python versions.
2015-05-23configure: Add sanity checking for environment variablesDavid Bremner
Passing in environment variables incompatible with the compiler may cause other parts of the configure script to fail in hard to understand ways, so we abort early.
2015-02-19configure: consistent command -v usageTomi Ollila
When the shell builtin `command -v` operates normally, it either prints the path of the arg given to it and returns zero -- or it returns nonzero and prints nothing. In abnormal situations something might be printed to stderr and in that case we want to know about it; therefore the used command -v stderr redirections to /dev/null have been removed. The `hash` (builtin) command in ksh returns zero even the arg given to is is not found in path. For that and for consistency the one appearance of it has been converted to `command -v`.
2015-01-22doc: remove support for rst2manDavid Bremner
It was becoming increasingly complicated to support rst2man, and there were apparently not many people that relied on it.
2015-01-03configure: add check for python interepreter nameDavid Bremner
Currently we hardcode "python" in several places. This makes things hard for people who have only commands called python3 and/or python2. We also add the name to sh.config to eventually replace the current workaround in the test suite.
2014-11-02configure: move make {,install} instructions to the endTomi Ollila
There was theorical possibility that writing the config files could have skipped (by interruption) after the instructions how to make notmuch was printed out.
2014-10-05configure: add debug flags by default.David Bremner
This makes development (in particular the test suite) easier. Those concerned about the extra diskspace can override the default or use strip.
2014-07-13build: generate sh.config for feeding configure results to shell scriptsJani Nikula
Only include the relevant information. Amended by David Bremner: Use a prefix NOTMUCH_ to minimize collisions with other variables.
2014-07-09doc: build and install doxygen api docsDavid Bremner
In order to support out of tree builds and avoid hardcoding version number, generate `doc/config.dox` from configure.
2014-07-04configure: use cc/c++ instead of gcc/g++Fraser Tweedale
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).
2014-06-21configure: add workaround for systems without zlib.pcFelipe Contreras
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>
2014-04-19configure: fix comment, pass HAVE_CANONICALIZE_FILE_NAME to buildDavid Bremner
Apparently omitting it is not fatal, but let's be consistent with the other compat functions.
2014-04-13configure: add $(ZLIB_CFLAGS) to CONFIGURE_CFLAGSTomi Ollila
As it is defined in CONFIGURE_CXXFLAGS.
2014-04-12dump: support gzipped and atomic outputDavid Bremner
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.
2014-04-08compat: add canonicalize_file_nameDavid Bremner
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.
2014-03-25doc: fix out-of-tree buildDavid Bremner
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.
2014-03-25build: move canonical list of subdirectories to configure scriptDavid Bremner
The configure script needs this list for out of tree builds. Grabbing it from the Makefile via sed was fragile and broken.
2014-03-18doc: configure detection of sphinx and rst2manDavid Bremner
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.
2014-02-14new: Detect dirent.d_type support at configure timeAustin Clements
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.
2014-02-03configure: only install bash completion if supportedJani Nikula
Our bash completion depends on bash-completion 1.90 or later. Only install where available.
2013-11-27util: detect byte orderDavid Bremner
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
2013-10-09database: Add notmuch_database_compact_closeBen Gamari
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>
2013-08-23timegm: add portable implementation (Solaris support)Blake Jones
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>
2013-08-23strsep: check for availability (Solaris support)Blake Jones
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>
2013-08-23asctime: check for standards compliance (Solaris support)Vladimir Marek
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>
2013-08-23getpwuid: check for standards compliance (Solaris support)Blake Jones
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>
2013-06-02configure: grab CPPFLAGS from the environment.David Bremner
This is needed in particular for hardening flags.
2012-12-01configure: really expand libdir_expandedDavid Bremner
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.
2012-10-31build: drop the -Wswitch-enum warningJani Nikula
-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.