aboutsummaryrefslogtreecommitdiff
path: root/configure
AgeCommit message (Collapse)Author
2017-02-27Revert "configure: add test for gpgconf --create-socketdir"David Bremner
This reverts commit 12f7d4e61d30fb9a5c99e128ab1aab0bf069cdb4. Since we're not using gpgconf anymore, drop the unneeded test in configure.
2017-02-21configure: add test for gpgconf --create-socketdirDavid Bremner
This is primarily intended for use in the test suite (since notmuch builds fine without gnupg installed). Thus we only write the variable to sh.config.
2017-01-01configure: fix $prefix expansion for libdir_expandedTomi Ollila
Since the sed expansion line which did $prefix expansion for libdir_expanded was changed from the legacy `...` format to the new $(...) expression, the subtle backslash expansion change went unnoticed -- \\$ which used to escape '$' now escapes '\' and the following '$prefix' was attempted to expand as a variable. So changing \\$ to \$ fixes this. Also, replaced echo with printf %s -- echo does expansions of its own. While at it, the following 2 inconsistencies were fixed: 1) the /g flag was removed from first expression; second didn't have it 2) first expression did not end with /, so "dropped" it from second configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2016-10-06require xapian >= 1.2.6David Bremner
It seems that no-one tried to compile without Xapian compact support since March of 2015, since that's when I introduced a syntax error in that branch of the ifdef. Given the choice of maintaining this underused branch of code, or bumping the Xapian dependency to a version from 2011, it seems reasonable to do the latter.
2016-09-30configure: set platform variables also when `uname` is unrecognizedTomi Ollila
Since commit 124a67e96ecab5495c0f17b6875d53dfd67ff137: configure: add set -u all variables must be set before their expansion are attempted. These 2 variables: "platform" and "linker_resolves_library_dependencies" were not given value in the final 'else' branch when platform check failed due to unrecognized kernel name (output of `uname`). Now those two are given reasonable non-empty values.
2016-08-11configure: add --without-api-docs optionMikhail
Add option to explicitly disable API man page build even if doxygen binary is available. --without-docs also implies not building API manpage. This change intended to add more distinctness into build system and allow user not to build unwanted man pages.
2016-06-29Use the Xapian::DB_RETRY_LOCK flag when availableIstvan Marko
Xapian 1.3 has introduced the DB_RETRY_LOCK flag (Xapian bug 275). Detect it in configure and optionally use it. With this flag commands that need the write lock will wait for their turn instead of aborting when it's not immediately available. Amended by db: allow disabling in configure
2016-06-05Use https instead of http where possibleDaniel Kahn Gillmor
Many of the external links found in the notmuch source can be resolved using https instead of http. This changeset addresses as many as i could find, without touching the e-mail corpus or expected outputs found in tests.
2016-05-19configure: combine common parts of CONFIGURE_C{,XX}FLAGSTomi Ollila
By combining the common parts of CONFIGURE_CFLAGS and CONFIGURE_CXXFLAGS to a separate make variable and using that as part of their definitions makes setting of these easier, DRYer and less error prone (especially as we cannot check potential typing errors there).
2016-05-13configure: check directly for xapian compaction APIDavid Bremner
This is consistent with the check for FieldProcessor, and probably a bit more robust.
2016-05-08configure: detect Xapian:FieldProcessorDavid Bremner
Rather than check versions, it seems more robust to do a test compile.
2016-05-07configure: add set -uTomi Ollila
In case of any unset variable, make ./configure exit with nonzero value; an attempt to expand an unset variable is a bug in the script (usually a spelling mistake) and those should not pass through unnoticed.
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.