FWIW iostreams uses zlib so that may be a place to start.
I have read the tried to understand their way of including zlib. I think they make it themselves a little too easy and not so easy for a potential user. For instance a user who wants to compile four different sets of libraries ( you know the usual: x86, x64, debug, release config ) would have to redefine the ZLIB_BINARY for each configuration. And how can a user set compiler symbols that are relevant for zlib? What I like to achieve with gil::io is that 3rd party libs are compiled before the test cases. Here are a few points that I like to have: * have the user set compiler symbols that are relevant for 3rd party libs * have the user set basic library information depending on current architecture configuration, like DEBUG x64, etc. * some users might want to compile zlib and other libs as c++ code. Inside gil::io users can set some compiler symbols so the 3rd party header are included appropriately. I hope the boost community can help me out setting up my jam files accordingly! Regards, Christian