aboutsummaryrefslogtreecommitdiffhomepage
path: root/configure
Commit message (Collapse)AuthorAge
* 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>
* Add simplistic reimplementation of strcasestr to compat libraryGravatar Dirk Hohndel2010-04-14
| | | | | | | | | | While all systems that I have access to support strcasestr, it is in fact not part of POSIX. So here's a fallback reimplementation based on POSIX functions. Signed-off-by: Dirk Hohndel <hohndel@infradead.org> Tested-by: Tomas Carnecky <tom@dbservice.com> (on OpenSolaris snv_134)
* Fix the default value for --includedir.Gravatar Mike Kelly2010-04-07
|
* Makefile: Install emacs code to site-lisp, not site-lisp/notmuchGravatar Carl Worth2010-04-07
| | | | | | And just make the Debian packaging request site-lisp/notmuch like it wants. Otherwise, the installed files won't appear on the load-path so won't be found by emacs.
* Install emacs lisp files into a notmuch sub-directory of site-lisp.Gravatar Carl Worth2010-04-06
| | | | | Now that we have multiple emacs-lisp source files, it's just more polite this way.
* configure: Ignore more options that debhelper expects.Gravatar Carl Worth2010-04-06
| | | | | | | | | | These include: --infodir=DIR --localstatedir=DIR --libexecdir=DIR --disable-maintainer-mode --disable-dependency-tracking
* configure: Add a --sysconfdir option.Gravatar Carl Worth2010-04-06
| | | | | | Which means that the bash completion script will now install to ${prefix}/etc by default (unless configured with --syconfdir=/etc) which is probably the right thing to do.
* configure: Add support for a --mandir optionGravatar Carl Worth2010-04-06
| | | | Again, nothing tricky here.
* configure: Add support for a --includedir optionGravatar Carl Worth2010-04-06
| | | | Very similar to the existing --libdir option.
* configure: Avoid printing '.' at the end of error message.Gravatar Carl Worth2010-04-06
| | | | | Since we're emitting the user's input back, let's leave it pristine and not confuse the issue by adding a final period.
* configure: Add stub support for --build=<cpu>-<vendor>-<host> option.Gravatar Carl Worth2010-04-06
| | | | | | I'm not sure that this option would actually be useful for anything, but debhelper at least expects our configure script to support it. So we'll accept it and ignore it.
* Move "config" test programs to "compat".Gravatar Carl Worth2010-04-06
| | | | | | | | It makes sense to me to have the little tests for functionality right next to the comptability implementations of that same functionality. But also, this means I can now tab-complete ./configure from the three initial characters (rather than the seven required previously).