Hello! Thank you for the great tutorial.
I noticed one small inconsistency. In ex_07, HAVE_ZLIB is used in config.h.in, while HAVE_LIBZ is used in configure.ac.
As a result, this setting may not behave as intended. It might be better to consolidate these into a single variable name.
Thank you for your work!