On 2009-07-23 20:06-0400 Hazen Babcock wrote:

>
> I'd like to start offering a Windows binary and/or an installer along
> with our source releases. I now have access to a Windows box which I can
> put pretty much anything on to, i.e. Qt, WxWidgets, Cairo(?), etc... so
> I'm volunteering myself to generate whatever binaries needs to be
> generated to make this happen. This has come up several times in the
> past and then died off so I'm not really sure where things stand. So, to
> start, what needs to be done to provide a minimalist version of PLplot
> with the basic windows drivers (wingcc?) with working C examples? Do we
> need to provide both MinGW and Visual Studio versions of the dlls?

Thanks for resurrecting this good idea.

Note, binary distributions of PLplot were problematic for CPack (an empty
tarball was produced) when I tried that capability several years ago.  There
was a workaround for the problem at that time, but I cannot remember the
details.  That issue may be fixed now, but before you get too far into
planning this you should try some experiments with cpack to make sure it
works the way you expect (i.e., it packages up the install tree).  There are
a number of cpack articles in the cmake wiki which should be a big help to
you in learning how to use cpack to create a binary release. You can find
those articles by using the search box of the wiki to look for everything
related to "cpack".  (That's how I found the list of CPack binary package
formats discussed below.)

Also note that my new CMake-based build system for the installed examples
_should_ work on Windows (unlike the traditional Makefile+pkg-config
approach) so it should be quite useful for Windows users of your planned
binary package.  But as far as I know, it hasn't been tested yet by our
developers with access to a Windows box so it may need some additional work
for that platform.

>
> I think an official looking Windows installer might be a nice feature
> and I was looking at WiX (http://wix.sourceforge.net/) as one option.
> Any suggestions here? Or is what we are installing simple enough so that
> a .zip file is sufficient and we shouldn't bother with an installer?

To start, I would just go with what CPack provides.  See
http://www.cmake.org/Wiki/CMake:CPackPackageGenerators.  Wix is not on that
list of binary package formats, but if you do a google for wix and cpack you
will see there is quite a bit of interest so I assume eventually it will be
available as a cpack option (or you might want to create that option
yourself with the appropriate CMake scripts for cpack).

Note, that CPack simply packages what is in the install tree.  That is the
normal approach used for Linux binary packages, and I think we should stick
with that approach. You may get some call to include external libraries
which the PLplot core library or the PLplot device drivers depend upon, but
I would suggest you will want to resist that pressure because it would make
the binary release of PLplot enormous!  If you just take the qt/lib part of
the Qt4 SDK download, that requires 351M (!), and I assume the pango/cairo
stack of libraries has a similar size. I haven't tried it, but I believe if
you went with a pure static library build, then our libraries and device
drivers would only have the subset of Qt4 code we need embedded, but there
would be much duplication of that (and lots of other library) code so that
approach is unlikely to give you a net benefit in terms of size.

This binary packaging issue has long since been settled for Linux
distributions; shared library builds are the defacto standard to save on
size, and furthermore, the user is expected to install the (shared)
libraries he needs to make your shared libraries and shared objects (dynamic
device drivers) work. I think that is the right way to go (assuming you
educate Windows users about this binary packaging perspective by giving them
good directions about exactly what libraries a binary release of PLplot
needs, and where those libraries can be found), but those with actual
Windows experience may have a quite different perspective than mine. :-)

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to