summaryrefslogtreecommitdiff
path: root/configure
AgeCommit message (Collapse)Author
2017-05-31test: define GMime version dependant breakageDavid Bremner
We have some tests where the gmime 3 behaviour seems like a bug fix, others where it's less clear, so we allow both possibilities.
2017-05-31configure: add optional support for gmime-3.0David Bremner
This is only the changes to make configure work; it won't compile with gmime-3.0 yet.
2017-04-14configure: Be more verbose when compiler sanity checks failTomi Ollila
When configure could not get past initial compiler sanity check the user was left with no explanation why this happened (usually the reason is that compilers are not installed). By printing the executed command line and re-executing it without output redirection user gets better information how to proceed (or ask for help) to resolve this problem. The shell builtin 'printf' is used to print the executed command line to ensure verbatim output.
2017-03-25configure: change default bash completion location to /usr/shareDavid Bremner
At least Fedora and Debian now use /usr/share/bash-completion/completions now. Apparently /etc/bash_completion.d will be phased out at some point in the future.
2017-03-25tests: add compatibility layerMikhail
Make test-lib-common.sh load test-lib-<$PLATFORM>.sh to create additional shim for platform specifics. Use test-lib-FREEBSD.sh to call GNU utilities instead of native ones. - amended by db following Tomi's suggestions
2017-03-12fix out of tree buildTomi Ollila
In addition to use ${srcdir} and deliver ${NOTMUCH_SRCDIR} where needed, source from ruby bindings had to be copied to the out-of-tree target directory -- if the source files in source directory were referenced in build and there were also built object files there, those could have been considered as target files (and then not found when attempting to create bindings/ruby/notmuch.so).
2017-03-12configure: add ${NOTMUCH_SRCDIR} -- absolute path to notmuch sourceTomi Ollila
The ${srcdir} -- usually relative path to notmuch source -- works fine in current ./configure and all makefiles. To have simple access to notmuch source in tests and out of tree builds holding absolute path to the source directory is useful.
2017-03-09configure: removed $zlib_(cflags|ldflags) from compat code buildTomi Ollila
When pkg-config does not find configure, a compat version of the zlib.pc is created. In creation of that configure attempted to read values of $zlib_cflags and $zlib_ldflags. In the usual case those were undefined, and with `set -a` now in the beginning of configure, configure broke. Even if $zlib_cflags and $zlib_ldflags had values which were used to create zlib.pc, the values were overwritten (with static content) a few lines later in next pkg-config --cflags and --libs run. These values would not be different and probably useless -- the following boild would probably fail. But instead of using those, CPATH and LIBRARY_PATH environment variables can be used successfully (both while configuring and building).
2017-02-28Merge branch 'release'David Bremner
Second gnugpg test suite fix
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-21Merge branch 'release'David Bremner
Merge changes to use gpgconf --create-socketdir
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-09configure: remove leftover byte order test cleanupJani Nikula
Removing the removal of byteorder configure test files was overlooked in commit 5a957c3f33e6 ("build & util: drop byte order configure check and endian util header"). Finish the job.
2017-01-08build & util: drop byte order configure check and endian util headerJani Nikula
With the removal of the embedded libsha1, we lost the first and last user of the platform byte order checks. Remove them from configure, and remove the endian util header.
2017-01-08Merge branch 'release'David Bremner
These are the (tentative) changes for 0.23.5
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-11-28build: install notmuch-emacs-mua.desktop file with emacsJani Nikula
There is really no need to have a separate install target for the desktop file. Just install the desktop file with emacs, with a configure option to opt out.
2016-11-15lib: optionally silence Xapian deprecation warningsDavid Bremner
This is not ideal, but the new API is not available in Xapian 1.2.x, and it seems to soon to depend on Xapian >= 1.4
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.