Ontwerp en bouw een besturingssysteem/Werkomgeving en hulpmiddelen/Toolchain/Cygwin: verschil tussen versies

Lintfouten: Verouderde HTML-elementen
({{sub}})
(Lintfouten: Verouderde HTML-elementen)
 
== Cygwin installeren ==
# Ga naar [http://www.cygwin.com/ cygwin.com] en download de laatste versie van Cygwin<!-- 1.7.7 -->.
# Voer de setup uit en volg de stappen. Kies als 'download site' <ttcode><nowiki>http://cygwin.xl-mirror.nl/</nowiki></ttcode> of een andere site in Nederland.
# Selecteer behalve de reeds geselecteerde packages ook nog de laatste versies van de volgende packages:
## <ttcode>gcc-core</ttcode> (in All > Devel)<!-- 3.4.4-999 -->
## <ttcode>gcc-g++</ttcode> (in All > Devel)<!-- 3.4.4-999 -->
## <ttcode>make</ttcode> (in All > Devel)<!-- 3.81-2 -->
## <ttcode>flex</ttcode> (in All > Devel)<!-- 2.5.35-1 -->
## <ttcode>bison</ttcode> (in All > Devel)<!-- 2.4.2-1 -->
## <ttcode>libgmp-devel</ttcode> (in All > Libs)<!-- 4.3.1-3 -->
## <ttcode>libmpfr-devel</ttcode> (in All > Libs)<!-- 2.4.1-4 -->
## <ttcode>libmpc-devel</ttcode> (in All > Libs)<!-- 0.8-1 -->
# De volgende package is niet nodig voor het cross-compilen, maar wel voor deze tutorial:
## <ttcode>genisoimage</ttcode> (in All > Utils)<!-- 1.1.7.1-1 -->
# Voer de laatste stappen van de setup uit.
# Kopieer het setupbestand zelf (<ttcode>setup.exe</ttcode>) naar de hoofdmap van Cygwin (bijv. <ttcode>C:\cygwin</ttcode>)
 
== Bronbestanden downloaden ==
Om een cross-platform toolchain te maken moeten de oorspronkelijke programma's opnieuw gecompileerd worden. Hiervoor is de oorspronkelijke broncode nodig. Bestanden met een <ttcode>.tar.gz</ttcode> en <ttcode>.tar.bz2</ttcode> extensie zijn gecomprimeerde archieven zoals <ttcode>.zip</ttcode>, en worden veel gebruikt op Linux en Unix systemen.
# Download het <ttcode>gcc-core-x.x.x</ttcode> archief met de laatste versie van GCC van [http://ftp.gnu.org/gnu/gcc/ ftp.gnu.org]
# Download het <ttcode>binutils-x.xx</ttcode> archief met de laatste versie van Binutils van [http://ftp.gnu.org/gnu/binutils/ ftp.gnu.org]<br />
# Pak beide archieven uit in de <ttcode>/usr/src</ttcode> map van de Cygwin installatie (bijvoorbeeld in <ttcode>C:\cygwin\usr\src</ttcode>).
{{Bericht
|titel=Let op!
|bericht=De versienummering die GNU aanhoudt is als volgt: elke punt in een versienummer scheidt een heel getal. Dus <ttcode>binutils-2.20</ttcode> is nieuwer dan <ttcode>binutils-2.9</ttcode>. De bestanden op de websites staan dus ''niet'' van oud naar nieuw gesorteerd; de onderste is ''niet'' persé de nieuwste.
|type=waarschuwing}}
 
== Voorbereiding ==
Er moeten nog wat voorbereiding gedaan worden, zoals het aanmaken van de mappen <ttcode>build-binutils</ttcode> en <ttcode>build-gcc</ttcode> in de <ttcode>/usr/src</ttcode> map. Voer de volgende commando's uit, elke regel gevolgd door een Enter waarna de computer even bezig gaat. Er verschijnt niet altijd een bevestiging.
<pre>
cd /usr/src
 
== Binutils compileren ==
Nu moet eerst binutils worden gecompileerd. Voer de volgende commando's uit. Het <ttcode>make all</ttcode> commando kan meer dan een half uur duren. Merk op dat voor <ttcode>x.xx</ttcode> het juiste versienummer moet worden ingevuld.
<pre>
cd /usr/src/build-binutils
{{Bericht
|titel=Tip!
|bericht=Als je <ttcode>../binutils-</ttcode> hebt getypt, druk dan op Tab. De shell vult het automatisch aan tot <ttcode>../binutils-x.xx/</ttcode> waarbij <ttcode>x.xx</ttcode> het juiste versienummer is.
|type=tip}}
 
== GCC compileren ==
Nu kan gcc worden gecompileerd. Voer de volgende commando's uit. Het <ttcode>make all-gcc</ttcode> commando kan meer dan een uur duren.
<pre>
cd /usr/src/build-gcc
 
== Cygwin configureren ==
Om ervoor te zorgen dat de nieuwe gecompileerde programma's uit de cross-platform toolchain direct kunnen worden aangeroepen, moet je de volgende regel toevoegen aan het begin van het <ttcode>.bashrc</ttcode> bestand in je Cygwin home directory (<ttcode>/home/''Gebruikersnaam''/.bashrc</ttcode>):
{{Code|Titel='''.bashrc'''|Code=<pre>
export PATH=/usr/local/cross/bin:`printenv PATH`
...
</pre>}}
Nu is alles klaar. Om een programma uit de cross-platform toolchain te gebruiken in plaats van de oorspronkelijke versie, zet je er <ttcode>i586-elf-</ttcode> voor, bijvoorbeeld <ttcode>i586-elf-ld</ttcode> in plaats van <ttcode>ld</ttcode>.
 
{{subSub}}
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.