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
