This last week or so I have been working on a software project whose
sole purpose is to build software in an automated way for systems with
access to at least a minimal set of Unix development tools.  For
example, MSYS/Windows (and also a normal Linux or Mac OS X development
environment) qualify as platforms for this project.

The motivation for this project was I was fed up with building all the
PLplot prerequisites by hand on the Wine version of Windows.  My goal
with this script is for users to to launch it and forget it until it
is done building, testing, and installing everything they need on
MSYS. This build script may also have some usefulness on Linux and Mac
OS X, although normally for those platforms, distributions are
available to provide the same installed libraries and executables in a
more convenient way.

I looked briefly at jhbuild (used to build GTK+ and its prerequisites)
and emerge (used to build Qt4 and its prerequisites).  But in both
cases the documentation was too GNOME or KDE/QT specific so instead I
decided to base the project on CMake's ExternalProject module which
provides the means to download, check, configure (both with cmake or
any other build configuration tool), build, test, and install a
software project in a very general way.

So far, I have built shapelib this way (starting from scratch with the
source code download) both on Linux and MinGW/MSYS/Wine.  In the
process I have learned a lot about ExternalProject and made a lot of
decisions about how everything will be organized.  Thus, adding
ExternalProject configuration to build additional software projects
should be much faster than for shapelib.

The builds require the build system implementations already in
cmake/external/* so I plan to rename that area to cmake/build_projects
and add the additional files there to make that into one coherent
"build projects" project.

My immediate plan is to complete the ExternalProject build
configurations for libagg, libharu, libqhull, and ndiff as well as
PLplot itself. Each project will have its own independent subdirectory
containing the build configuration information so there is no
cross-talk between project build configurations other than the known
dependencies between them.  My long-term plans is to get access to our
best set of device drivers (cairo and qt) on MSYS so I plan to add
directories for pango and cairo build configuration (probably using
jhbuild), directories for configuring the build of their
prerequisites, and also a directory for configuring the build of Qt4
(probably using emerge).

If nobody objects I also plan to add build configurations for some
other projects of interest to me, and I will encourage others to do
the same.  Of course, if this idea for an overall MSYS (or Linux or
Mac OS X) build script catches on with many people contributing
additional build configurations beyond PLplot and its prerequisites,
then I plan move this "build projects" project to its own separate
SourceForge project.  But for now, I think cmake/project_builds in the
PLplot source tree is the most suitable location for this project.

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); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); 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
__________________________

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to