Apple removed support for gcov in the default gcc compiler chain,
when they moved to llvm. This can be circumvented in XCode 4.2 by
using the gcc chain with gcc-4.2. This patch allows setting
GCC_CLASSIC to the name of a real gcc executable (e.g. "gcc-4.2")
to allow coverage testing.
Previously ./configure would use any output on stderr as an indication
that the compilation failed. However if some compiler wrapper uses
stderr for some other purpose, e.g. distcc for nodes going down, then
./configure would not properly configure the build. This problem was
noted by Mike Frysinger. For backwards compatibility, ./configure
will revert to the old way, i.e. checking for anything on stderr, if
when it deliberately runs the compiler with an error, a zero exit
status is returned.
This adds the -fprofile-arcs and -ftest-coverage options when compiling
the source code for the static library. Those same options must then be
used when linking the static library into an executable. This updates
Makefile.in to remove and .gitignore to ignore the files generated when
testing coverage.
A common request has been the ability to compile zlib to require no
other libraries. This --solo option provides that ability. The price
is that the gz*, compress*, and uncompress functions are eliminated,
and that the user must provide memory allocation and free routines to
deflate and inflate when initializing.