So, first off ... if HAVE_STDBOOL_H is being defined and we are including
stdbool.h, then I guess I am wondering what the contents of stdbool.h are.
Also, I don't know who is supposed to be adding the preprocessor symbol
_BOOL. I think some time spent with the -E option (or whatever does the
similar thing on Solaris) and looking at stdbool.h could puzzle this out.
Undefined first referenced
symbol in file
Solaris 10 doesn't have those three functions, says Gnulib.
http://austingroupbugs.net/view.php?id=1061 suggests POSIX are adding
memmem(). stpcpy() and strnlen() are in POSIX.1-2008.
We try to conform to POSIX; I did not realize memmem() was NOT POSIX,
but to be fair this is the first I've heard of it and I didn't realize
we used it. Looking where it is used, I understand why we use it.
I forget what we do in this situation?
I guess our official answer is: ¯\_(ツ)_/¯
In a perfect world, we'd offer function replacements for at least the
non-POSIX functions we use via autoconf, and possibly for other functions.
And I don't want to actively make Solaris not work ... but I'm PERSONALLY
not interested in spending the time to make that work, especially since
I haven't had access to any Solaris systems in a long time and Solaris
has become a "challenging" system to develop for in recent years.
I guess the answers are: change the code to use other functions or install
Gnulib and use that (note: that might be a bit of a challenge since gnulib
is really designed to be used as source, not a library you link against),
or find some other library that has these functions and link against it.
Or, really, write some trivial replacements for those functions because
I think you could do them all as one-liners. Maybe not memmem(), but that
one would only be a few lines.