Hi,
looks like I have to clearify some things about windows compatiblity of zimlib.
Zimlib is developed on linux but not for linux. It is as far as possible platform indipendent. To compile zimlib you first need to compile cxxtools. Both use autoconf and automake as the build system. This is a platform indipendend build system. The only prerequisites you need is a (bourne- compatible) shell and some simple tools like awk, sed and make. Cxxtools requires a c++-compiler. Zimlib depends on libz and libbz2. All of these are easily installable by your package manager of your operating system.
As you know, windows does not fulfil these simple requirements. It does not have a shell, nor sed or awk. It even does not have a C++-compiler or a package manager. So it is not that easy to just "emerge libz" or "apt-get install zlib-dev" or whatever. This is the main problem in porting zimlib to windows. You have to generate your build stuff on your own and manually install zlib, libbz2 and a c++-compiler. All this is freely availabe.
Ok - there is at least 2 things which won't work out of the box on windows. These are libiconv, which is needed by cxxtools and used in zimreader and opendir/readdir/closedir.
The libiconv stuff is not needed for zimlib. This can be excluded from the build of cxxtools if you write your build system.
Opendir/readdir/closedir is abstracted away by cxxtools. We just need a windows implementation.
Fortunately this opendir/readdir/closedir-stuff is adopted from pt-framework, which has this windows implementation. It is just a matter of adopt this into cxxtools.
Mutexes were used in libzeno but are not any more used in zimlib.
There may be some other problems, which need to be resolved, but I don't think there are real showstoppers. The work just need to be done. Nothing really difficult.
The patches I got from Guillaume mainly copied the pt-framework-directory-stuff into cxxtools. The other thing was to remove the mutex stuff from libzeno. This was really not much work. The main problem is to set up the build environment. This was not done. A Makefile for windows would be helpful, but I haven't got one from Guillaume. Or a document "howto setup my windows environment to compile cxxtools and libzeno".
Tommi