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