This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

ZooLib app framework builds under CygWin

I have gotten ZooLib to build under CygWin.  It doesn't run yet, but I expect a
day or two of debugging will take care of that.

ZooLib is an open source cross-platform application framework, written by Andy
Green of the Electric Magic Company and his clients Learning in Motion.  It is
available under the MIT License.

With ZooLib, one can build native executable multithreaded applications for
Win32, BeOS, Linux and Mac OS (both classic Mac OS as well as Carbon, which
allows for them to work on Mac OS X) from a single C++ source base with little
or no need for platform-specific client code.  Besides GUI, it provides
platform-independent TCP networking and single-file database file format, as
well as extensive debugging support.

It is available at

With ZooLib now building on CygWin, one can build applications with Free tools
on Windows, BeOS Intel, and Linux.  I expect it will be straightforward to build
ZooLib with the gcc that is provided on Mac OS X, so I will be giving that a try
in the near future.

I discussed what it took to get ZooLib building in a post just now to the mailing list.  My post hasn't shown up in the
archive yet but pretty soon you should be able to see it at:

If you're interested in working with ZooLib under CygWin, I encourage you to
join the zoolib-dev mailing list, subscription information can be found here:

The people who make CygWin may be interested in providing ZooLib as an install
option with CygWin.  I'd certainly encourage that and expect ZooLib's author
Andy Green would as well, however, we do not yet support building ZooLib as a
shared library or dll.  Instead, one compiles in the whole library from source. 
We provide a system of makefiles to make this easy, so one doesn't have to know
much about fancy makefiles to do this.  

It's not an autoconf system.  It's also designed to keep the ZooLib sources and
your applications sources in different places but on a fileserver, so you can
build them readily from all the supported compilers without having to copy any
of the source files - this eases cross-platform development.

The reason for building in the source is that ZooLib can be built with a lot of
different configuration options (for such things as debug level), and the best
way we've found to ensure that it is compatible with the application it's linked
with is to build both ZooLib and one's app from the same configuration header

That doesn't mean it can't be built as a shared library, but we don't provide
that in our makefiles.

Also, the ZooLib API is not yet frozen in stone; Andy is still making small
binary-incompatible changes to the API and we don't want to deal with library
versioning yet.  I wouldn't worry too much about this, as his changes have been
quite small each release - it's never taken me more than an hour or so to update
my application to build with an updated API.


Mike Crawford
Michael D. Crawford
GoingWare Inc. - Expert Software Development and Consulting

  Tilting at Windmills for a Better Tomorrow.

Unsubscribe info:
Bug reporting:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]