aboutsummaryrefslogtreecommitdiff
path: root/configure
AgeCommit message (Collapse)Author
2012-04-05configure: change gmime version in help message to 2.6David Bremner
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.
2012-04-05configure: print info about required gmime 2.4 or 2.6 versionsTomi Ollila
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).
2012-04-05configure: add empty line after each missing component messageTomi Ollila
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.
2012-03-20Allow selecting which version of gmime is used to build notmuch.Tomi Ollila
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"
2012-03-20configure: store $IFS to $DEFAULT_IFS readonly variableTomi Ollila
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.
2012-03-20Do not try to parse the options for --build and --host argumentsJustus Winter
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>
2012-03-20Add GNU as a valid platformJustus Winter
Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
2012-03-11build: Require gmime >= 2.6.7Thomas Jost
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"
2012-03-10Fix configure script to properly detect gmime-2.6 if available.Jameson Graef Rollins
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.
2012-02-03configure: update explicit check for glib : >= 2.22Pieter Praet
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"
2011-10-28Separate Emacs misc. files dir. from Emacs code dir.Amadeusz Żołnowski
New option --emacsetcdir was added, but it's set default to the same value as --emacslispdir for backward compatibility.
2011-06-23fix sum moar typos [build scripts, Makefiles]Pieter Praet
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.
2011-06-01configure: Fix detection of libdir in ldconfig configurationCarl Worth
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.
2011-03-10build: Save configure options and re-use them for automatic runs of configureCarl Worth
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.
2011-03-09build: Add support for non-source-directory builds.Carl Worth
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.
2011-01-26configure: Drop global setting of IFS (without space in it).Michal Sojka
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.
2011-01-26configure: add options to disable emacs/zsh/bash and choose install dir.Cédric Cabessa
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
2010-11-16configure: Add explicit check for glib >= 2.14Carl Worth
For cases where GMime is present, but happy with glib 2.12, for example.
2010-11-16configure: Use pkg-config --exists rather than --modversionCarl Worth
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.
2010-10-30configure: Add a check for the -Wl,--as-needed flag.Carl Worth
This fits with our general build philosophy of checking at configure time for desired support, (rather than putting platform-specific conditionals into our Makefiles).
2010-10-30fixupCarl Worth
2010-10-30configure: Remove a debugging print message.Carl Worth
This was never intended to be committed.
2010-10-30configure: Test for flag to set rpathCarl Worth
This is better than the previous approach which had a hardcoded Linux-specific value in the Makefile.
2010-10-30configure: Test for each compiler warning before enabling it.Carl Worth
This should allow the build to be much more automatically portable to compilers with different sets of warning options.
2010-10-29configure: Set XAPIAN_CONFIG to only "xapian-config" by default.Carl Worth
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.
2010-10-29configure: optimize uname finding a bitFelipe Contreras
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2010-06-04make install: Run ldconfig or install a DT_RUNPATH in binary as appropriate.Carl Worth
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).
2010-06-04configure: Remove space from IFS (using tab as necessary)Carl Worth
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.
2010-06-03Add support for the Solaris platformTomas Carnecky
Like on Mac OS X, the linker doesn't automatically resolve dependencies. Signed-off-by: Tomas Carnecky <tom@dbservice.com>
2010-06-03configure: Respect LDFLAGS from the environment.Tomas Carnecky
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.]
2010-04-26configure: add ignored options for compatibility.Cédric Cabessa
gentoo's ebuild script expects 2 more options for configure: --host (same format as --build) --datadir
2010-04-21configure: Print version of Xapian found during configure check.Carl Worth
This might be handy to know, (since there are important performance considerations that depend on the Xapian version).
2010-04-21configure: Generalize the GMime configure checks.Carl Worth
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.
2010-04-21configure: Add support for GMime 2.6Adrien Bustany
Notmuch compiles just fine with GMime 2.6, so accept it in the configure script.
2010-04-15configure: Fix syntax error (spaces in assignment).Gregor Hoffleit
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.
2010-04-14Makefile: Fix final linking of notmuch binary for OS X.Carl Worth
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.
2010-04-14Add infrastructure for building shared library on OS X.Aaron Ecay
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>
2010-04-14Add simplistic reimplementation of strcasestr to compat libraryDirk Hohndel
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)
2010-04-07Fix the default value for --includedir.Mike Kelly
2010-04-07Makefile: Install emacs code to site-lisp, not site-lisp/notmuchCarl Worth
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.
2010-04-06Install emacs lisp files into a notmuch sub-directory of site-lisp.Carl Worth
Now that we have multiple emacs-lisp source files, it's just more polite this way.
2010-04-06configure: Ignore more options that debhelper expects.Carl Worth
These include: --infodir=DIR --localstatedir=DIR --libexecdir=DIR --disable-maintainer-mode --disable-dependency-tracking
2010-04-06configure: Add a --sysconfdir option.Carl Worth
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.
2010-04-06configure: Add support for a --mandir optionCarl Worth
Again, nothing tricky here.
2010-04-06configure: Add support for a --includedir optionCarl Worth
Very similar to the existing --libdir option.
2010-04-06configure: Avoid printing '.' at the end of error message.Carl Worth
Since we're emitting the user's input back, let's leave it pristine and not confuse the issue by adding a final period.
2010-04-06configure: Add stub support for --build=<cpu>-<vendor>-<host> option.Carl Worth
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.
2010-04-06Move "config" test programs to "compat".Carl Worth
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).
2010-04-06Makefile: Eliminate the "make install-emacs" target.Carl Worth
Instead, simply byte-compile the emacs source files as part of "make" and install them as part of "make install". The byte compilation is made conditional on the configure script finding the emacs binary. That way, "make; make install" will still work for someone that doesn't have emacs installed, (which was the only reason we had made a separate "make install-emacs" target in the first place).
2010-04-06Makefiles: Eliminate the useless quiet_* functions.Carl Worth
With the original quiet function, there's an actual purpose (hiding excessively long compiler command lines so that warnings and errors from the compiler can be seen). But with things like quiet_symlink there's nothing quieter. In fact "SYMLINK" is longer than "ln -sf". So all this is doing is hiding the actual command from the user for no real benefit. The only actual reason we implemented the quiet_* functions was to be able to neatly right-align the command name and left-align the arguments. Let's give up on that, and just left-align everything, simplifying the Makefiles considerably. Now, the only instances of a captialized command name in the output is if there's some actually shortening of the command itself.