Experimental Windows binaries available; please test!

Benjamin Gilbert bgilbert at cs.cmu.edu
Thu Aug 2 03:00:48 EDT 2012


I am pleased to announce openslide-winbuild, a new unified build system 
for OpenSlide on Windows:

     https://github.com/openslide/openslide-winbuild

This is a single bash script which fetches and builds OpenSlide plus all 
of its dependencies in both 32-bit and 64-bit variants.  MinGW-w64 is 
the compiler.  The script can run under Cygwin on Windows, or natively 
on Linux for cross builds.  (Due to the nature of Cygwin, 
cross-compiling from Linux is much, much faster.)  The resulting 
binaries do not require Cygwin to run.

32-bit and 64-bit test builds are available from the downloads page:

     https://github.com/openslide/openslide-winbuild/downloads

*Please* test thoroughly -- both the binaries and, if it's important to 
you, the build system itself.  Once any problems have been resolved, I 
will make an official Windows binary release -- and then break the other 
methods for building for Windows.  (See below.)


Cleaning up OpenSlide's Windows support
---------------------------------------

Unless someone has a very good reason to do otherwise, I intend to drop 
support for building OpenSlide with MSVC, CMake, and mingw32, as each of 
these tools complicates our Windows support.  This will make 
Autotools/mingw-w64 the *only* mechanism for building OpenSlide for Windows.

Rationale:

- MSVC is a C++ compiler, not a C compiler, and doesn't support C99 
syntax.  This limits OpenSlide to the common subset of C and C++ and 
prevents us from using nice C99 features such as tagged initialization.

- Pursuant to MSVC support, we have two independent build systems: GNU 
Autotools and CMake.  The CMake scripts can create binaries on Linux but 
are really only intended for use with MSVC.  They are also not nearly as 
complete as the Autotools infrastructure, and the two are continually 
out of sync.  (For example, on Linux the two systems build OpenSlide 
with different compiler flags.)  For better or worse, Autotools is the 
standard build system on Linux.

- mingw32 is going to become harder and harder to test as distributions 
switch to mingw-w64.

Windows is not our primary platform, so supporting it needs to be as 
painless as possible.  The current setup requires too much effort to 
maintain and tends to cause periodic breakage of Windows builds.

I expect that in practice most people will use openslide-winbuild or 
download precompiled binaries, so very few will need to care about this. 
  Nonetheless: objections?

--Benjamin Gilbert



More information about the openslide-users mailing list