Commit graph

12 commits

Author SHA1 Message Date
Tomas Carnecky
4b193950a9 Wrap the compat header in extern "C" { } when compiling C++ sources
This fixes a build error on OpenSolaris where the final liking of
notmuch fails because the linker can't find strcasestr() referenced
from thread.cc.
(cherry picked from commit aab54b4ce7)
2010-04-27 11:11:11 -07:00
Dirk Hohndel
d09154465a Add simplistic reimplementation of strcasestr to compat library
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-14 11:34:12 -07:00
Aaron Ecay
c10085c77b Fix up Makefile for build.
Must set extra_c(xx)flags before including subdir Makefile.local's,
so that there is a blank slate that the subdirs can add on to.

Must include subdir Makefile.local's before global one, otherwise
the compat sources are not added to the list of those to be
compiled.

Signed-off-by: Aaron Ecay <aaronecay@gmail.com>
2010-04-14 10:46:36 -07:00
Carl Worth
d8192a4d7f Move "config" test programs to "compat".
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-06 14:36:31 -07:00
David Edmondson
d3884a5984 Makefile.local: Automatically use makefile mode
We add a magic line to the beginning of each Makefile.local file to
help the editor know that it should use makefile mode for editing the
file, (even though the filename isn't exactly "Makefile").

Edited-by: Carl Worth <cworth@cworth.org>: Expand treatment from
emacs/Makefile.local to each instance of Makefile.local.
2010-04-03 12:31:49 -07:00
Carl Worth
86232e62ab Makefile: Fix Makefiles to depend on all child Makefile fragments.
We were previously maintaining two lists of the child Makefile
fragments---one for the includes and another for the dependencies. So,
of course, they drifted and the dependency list wasn't up to date.

We fix this by adding a single subdirs variable, and then using GNU
Makefile substitution to generate both the include and the dependency
lists.

Some side effect of this change caused the '=' assignment of the dir
variable to not work anymore. I'm not sure why that is, but using ':='
makes sense here and fixes the problem.
2010-03-10 10:59:57 -08:00
Carl Worth
341d49b061 Makefiles: Use .DEFAULT to support arbitrary targets from sub directories.
Taking advantage of the .DEFAULT construct means that we won't need to
explicitly list targets such as "clean", etc. in each sub-Makefile.
2010-01-06 10:32:06 -08:00
Carl Worth
1466e249e7 getdelim: Silence a (bogus) compiler warning.
Some compilers complain that result might be used uninitialized in
this function. I believe such compilers simply aren't looking hard
enough, but it's easy enough to silence them.
2009-12-01 16:46:21 -08:00
Carl Worth
880b21a097 Makefile: Incorporate getline implementation into the build.
It's unconditional for a very short time. We expect to soon be
building it only if necessary.
2009-12-01 16:33:17 -08:00
Carl Worth
7fd7611b23 compat/getdelim: Silence a warning about mixing of signed/unsigned.
If the length is ever so large as to overflow, then we'll end up
returning a negative value (which indicates an error anyway).
2009-12-01 16:27:35 -08:00
Carl Worth
c04a432ef2 compat: Change includes from config.h to compat.h.
We may switch to using an autoconf-like config.h, but we're not doing
that just yet.
2009-12-01 16:27:29 -08:00
Carl Worth
96c9109d94 compat: Add implementation of getline from gnulib.
These were copied from the gnulib git repository as of:

	commit 563c779682040ed4b89c9b4bbe428dcd8157c90a

They come under the GNU GPL v3 (or later) exactly as notmuch is
licensed.
2009-12-01 14:06:41 -08:00