417
edits
(→Building FlightGear: download_and_compile.sh now also processes CARES and PLIB when no explicit list of components is specified) |
(→Updating FlightGear: Update due to $WHATTOBUILDALL being bigger now; also mention the -I option) |
||
Line 200: | Line 200: | ||
| text = FGData | | text = FGData | ||
}} and [[OpenSceneGraph|OSG]], simply execute this: | }} and [[OpenSceneGraph|OSG]], simply execute this: | ||
$ download_and_compile.sh -pn -j$(nproc) SIMGEAR FGFS DATA OSG | $ download_and_compile.sh -I -pn -j$(nproc) SIMGEAR FGFS DATA OSG | ||
The <code>-j$(nproc)</code> option is not necessary, but is likely to save you a lot of time; with it, all available CPU cores will be used when compiling—see [[#Multicore acceleration| Multicore acceleration]]. | The <code>-I</code> option tells <tt>download_and_compile.sh</tt> to ignore inter-component dependencies (which are there mostly to help beginners). The <code>-j$(nproc)</code> option is not necessary, but is likely to save you a lot of time; with it, all available CPU cores will be used when compiling—see [[#Multicore acceleration| Multicore acceleration]]. | ||
<tt>SIMGEAR</tt>, <tt>FGFS</tt>, <tt>DATA</tt> and <tt>OSG</tt> are called ''components'' in <tt>download_and_compile.sh</tt> terminology. A component generally corresponds to a software repository, or something close. | |||
Now about | Now about the <code>-pn</code>. It is equivalent to <code>-p n</code> and means “don't try to install or update packages from my (Linux) distribution” (<code>y</code> means ''yes, please install or update'', <code>n</code> means ''no, please don't''). In case you forgot that, simply run: | ||
$ download_and_compile.sh --help | $ download_and_compile.sh --help | ||
What does it imply to pass <code>-pn</code>? This tells <tt>download_and_compile.sh</tt> to completely skip the step where it checks for needed packages from your distribution and installs them, by default using <tt>apt-get</tt>. It thus goes straight to the following steps: | What does it imply to pass <code>-pn</code>? This tells <tt>download_and_compile.sh</tt> to completely skip the step where it checks for needed packages from your distribution and installs/updates them, by default using <tt>apt-get</tt>. It thus goes straight to the following steps: | ||
* update each repository corresponding to one of the selected components (<tt>SIMGEAR</tt>, <tt>FGFS</tt>, <tt>DATA</tt> and <tt>OSG</tt> in our example); | * update each repository corresponding to one of the selected components (<tt>SIMGEAR</tt>, <tt>FGFS</tt>, <tt>DATA</tt> and <tt>OSG</tt> in our example); | ||
* compile each selected component that requires compilation; | * compile each selected component that requires compilation; | ||
Line 217: | Line 217: | ||
Routine update: | Routine update: | ||
$ download_and_compile.sh -pn -j$(nproc) ''COMPONENT...'' | $ download_and_compile.sh -pn -j$(nproc) ''COMPONENT...'' | ||
In case this fails, first update <tt>download_and_compile.sh</tt> (see [[#getting-download-and-compile-sh-using-an-fgmeta-clone|above]]), then run | (add <code>-I</code> if you don't want inter-component dependencies to pull other components). In case this fails, first update <tt>download_and_compile.sh</tt> (see [[#getting-download-and-compile-sh-using-an-fgmeta-clone|above]]), then run | ||
$ download_and_compile.sh --cleanup | $ download_and_compile.sh --cleanup | ||
$ download_and_compile.sh -j$(nproc) ''COMPONENT...'' | $ download_and_compile.sh -j$(nproc) ''COMPONENT...'' | ||
where ''COMPONENT...'' stands for the space-separated list of | where ''COMPONENT...'' stands for the space-separated list of components you want <tt>download_and_compile.sh</tt> to process. | ||
=== <span id="examining-download-and-compile-sh-history"></span> Examining the history of <tt>download_and_compile.sh</tt> === | === <span id="examining-download-and-compile-sh-history"></span> Examining the history of <tt>download_and_compile.sh</tt> === |
edits