Talk:Scripted Compilation on Linux Debian/Ubuntu: Difference between revisions

Jump to navigation Jump to search
no edit summary
(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/>
982

edits

Navigation menu