From: <ai...@us...> - 2014-03-14 17:24:52
|
Revision: 13056 http://sourceforge.net/p/plplot/code/13056 Author: airwin Date: 2014-03-14 17:24:49 +0000 (Fri, 14 Mar 2014) Log Message: ----------- Add some extra introductory paragraphs explaining the purpose of epa_build. Modified Paths: -------------- trunk/cmake/epa_build/README Modified: trunk/cmake/epa_build/README =================================================================== --- trunk/cmake/epa_build/README 2014-03-14 04:38:18 UTC (rev 13055) +++ trunk/cmake/epa_build/README 2014-03-14 17:24:49 UTC (rev 13056) @@ -2,6 +2,63 @@ interested in helping to develop that project, you should look at README.developers as well. +The epa_build project provides a coherent and internally consistent +method for building software packages on Windows and Unix (including +Linux and Mac OS X). The epa_build is implemented in the CMake +language and is fundamentally based on CMake's ExternalProject_Add +command. The fundamental advantage of this extra layer of indirection +for building software is it makes it easy to implement software +package dependencies (so that packages that depend on other packages +will be built after those other packages) and to establish the correct +software package configurations (e.g., locations of dependent +packages) so the set of built packages work well together. The extra +layer of indirection is quite light and there are no limitations on +the tools and build systems that can be used to build packages. +Therefore, if you already know how to build a software package (i.e., +by downloading, and optionally checking the download, updating the +download (e.g., by applying patches) and configuring, building, +testing, and installing the software package represented by that +download) it is extremely straightforward to do exactly the same thing +with epa_build while at the same time taking advantage of the +epa_build advantages listed above. + +The epa_build project has two fundamental modes of operation with +-DBUILD_THE_BUILDTOOLS=ON or OFF (see the details below). The two +cases have completely independent dependency chains and completely +independent build and install locations. When that variable is ON, +epa_build configures the build of buildtools (e.g., swig, and +pkg-config) that are useful for building the software dependency chain +that is available when that variable is OFF. The decision about classifying +a given software package as a buildtool or an ordinary package is somewhat +arbitrary. For example, I have decided that software packages that +implement computer languages (e.g., all the Tcl-related software packages) +are classified as part of the buildtools dependency chain. + +From the description above it is obvious that the epa_build idea could +be used to bootstrap the build of essentially any free software +package starting with just a C compiler. So it could be used as the +basis of a source-based distribution of an extremely comprehensive set +of free software on _any_ platform. But currently that is just a dream +for the future, and for now the epa_build project is focussed just on +building and testing PLplot _and_ its fairly comprehensive set of +software package dependencies. + +The advantage of using epa_build on Linux and Mac OS X is it gives +PLplot developers and users access to the latest versions of dependent +software that might not be available yet for their platform. This +Unix advantage is especially important for users of enterprise class +Linux distributions which often are missing important PLplot +dependencies or which have such ancient versions of PLplot +dependencies, that PLplot does not work correctly with them. + +The advantage of using epa_build on Windows is it gives PLplot +developers and users access to the free software dependencies of +PLplot which are normally not installed on Windows. This allows +Windows users of PLplot to take advantage of the extra PLplot +capabilities that become available when all (soft) PLplot dependencies +are built and installed which in turn implies Windows users are no +longer second-class citizens of the PLplot empire. :-) + The epa_build project should work out of the box for Linux or Mac OS X systems with a full development tool-chain installed including relevant compilers (gcc, g++, gfortran, Ada in the suite of gcc This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |