982
edits
(Rebuilt team clone. next is now the unapproved script, master is the approved script. Ready to push these to the main repository after testing.) |
No edit summary |
||
| Line 242: | Line 242: | ||
== Building while downloading == | == Building while downloading == | ||
for better use of bandwidth, it would make sense to also download while compiling (i.e. when building plib and osg, download simgear, when building simgear, download flightgear - and the fgdata checkout/update can also be initiated early). It might make sense to turn the shell script into a conventional makefile that supports dependency resolution and parallel steps, so that network-bound tasks like downloading (fgdata!) can be interleaved with the build process. The run_FOO scripts could then become conventional make targets. | for better use of bandwidth, it would make sense to also download while compiling (i.e. when building plib and osg, download simgear, when building simgear, download flightgear - and the fgdata checkout/update can also be initiated early). It might make sense to turn the shell script into a conventional makefile that supports dependency resolution and parallel steps, so that network-bound tasks like downloading (fgdata!) can be interleaved with the build process. The run_FOO scripts could then become conventional make targets. | ||
=== General Thoughts on download_and_compile.sh === | |||
A build system has set-up steps that can be met as either pre-requisites (steps before the build process) or as requirements of the build system itself. The approach taken in download_and_compile.sh is to include the set-up steps as part of the process. This greatly simplifies the user interface in the easiest build cases: stable (one option needed) or next (no options needed). | |||
So what are the set-up steps in addition to building: | |||
* install pre-requisite packages (default option -p y) | |||
* get the sources (default option -d y) | |||
The build for each component steps are: | |||
* configure (default option -r y and not UPDATE | |||
* make & make install (default option -c y) | |||
note that the UPDATE is not an option, but a parameter | |||
The description above is how the steps are implemented as of script version 1.9.12 | |||
Lets rethink some of this in slightly more detail: | |||
the script needs to deal with the following steps in order: | |||
* installing or updating pre-requisite development packages | |||
then for each component: | |||
* getting copies of sources or updating copies from upstream | |||
* ensuring flightgear package sources are on the desired branch or version for the build in progress | |||
* configuring the packages for building | |||
* compiling | |||
* installing | |||
* reporting results | |||
<references/> | <references/> | ||
edits