When building with something like "USE_LOCAL_HEADERS=0 USE_INTERNAL_ZLIB=0 make", compilation fails. The "OF()" macro used in several places in ioquake3 has been renamed to "_Z_OF()" in newer zlib versions >=1.2.5 (see zconf.h). I don't have a patch ready, as there are basically two ways; - #ifdef the macro usage only - update the OF() usage and the zlib copy in ioquake3/code/zlib/
Meh, seems like I was a little too quick on this. The renamed macro is currently Gentoo-specific, see https://bugs.gentoo.org/show_bug.cgi?id=383179
It sounds as though OF() is meant to be private to zlib itself (i.e. not public API), but is used by unzip.[ch] and ioapi.[ch] anyway. The easiest solution is probably to expand OF() to its ISO C definition (replace OF((foo)) with (foo)) throughout code/qcommon. ioquake3 uses ISO C prototypes elsewhere anyway, so it won't (and shouldn't!) compile on ancient K&R C compilers.
Well, I don't feel like messing with zlib code or anything in this direction.