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

k
code -> tt
k (code -> tt)
== 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' <codett><nowiki>http://cygwin.xl-mirror.nl/</nowiki></codett> of een andere site in Nederland.
# Selecteer behalve de reeds geselecteerde packages ook nog de laatste versies van de volgende packages:
## <codett>gcc-core</codett> (in All > Devel)<!-- 3.4.4-999 -->
## <codett>gcc-g++</codett> (in All > Devel)<!-- 3.4.4-999 -->
## <codett>make</codett> (in All > Devel)<!-- 3.81-2 -->
## <codett>flex</codett> (in All > Devel)<!-- 2.5.35-1 -->
## <codett>bison</codett> (in All > Devel)<!-- 2.4.2-1 -->
## <codett>libgmp-devel</codett> (in All > Libs)<!-- 4.3.1-3 -->
## <codett>libmpfr-devel</codett> (in All > Libs)<!-- 2.4.1-4 -->
## <codett>libmpc-devel</codett> (in All > Libs)<!-- 0.8-1 -->
# Voer de laatste stappen van de setup uit.
# Kopieer het setupbestand zelf (<codett>setup.exe</codett>) naar de hoofdmap van Cygwin (bijv. <codett>C:\cygwin</codett>)
 
== 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 <codett>.tar.gz</codett> en <codett>.tar.bz2</codett> extensie zijn gecomprimeerde archieven zoals <codett>.zip</codett>, en worden veel gebruikt op Linux en Unix systemen.
# Download het <codett>gcc-core-x.x.x</codett> archief met de laatste versie van GCC van [http://ftp.gnu.org/gnu/gcc/ ftp.gnu.org]
# Download het <codett>binutils-x.xx</codett> archief met de laatste versie van Binutils van [http://ftp.gnu.org/gnu/binutils/ ftp.gnu.org]<br />
# Pak beide archieven uit in de <codett>/usr/src</codett> map van de Cygwin installatie (bijvoorbeeld in <codett>C:\cygwin\usr\src</codett>).
{{Bericht
|titel=Let op!
|bericht=De versienummering die GNU aanhoudt is als volgt: elke punt in een versienummer scheidt een heel getal. Dus <codett>binutils-2.20</codett> is nieuwer dan <codett>binutils-2.9</codett>. 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 <codett>build-binutils</codett> en <codett>build-gcc</codett> in de <codett>/usr/src</codett> 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 <codett>make all</codett> commando kan meer dan een half uur duren. Merk op dat voor <codett>x.xx</codett> het juiste versienummer moet worden ingevuld.
<pre>
cd /usr/src/build-binutils
{{Bericht
|titel=Tip!
|bericht=Als je <codett>../binutils-</codett> hebt getypt, druk dan op Tab. De shell vult het automatisch aan tot <codett>../binutils-x.xx/</codett> waarbij <codett>x.xx</codett> het juiste versienummer is.
|type=tip}}
 
== GCC compileren ==
Nu kan gcc worden gecompileerd. Voer de volgende commando's uit. Het <codett>make all-gcc</codett> 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 <codett>.bashrc</codett> bestand in je Cygwin home directory (<codett>/home/''Gebruikersnaam''/.bashrc</codett>):
{{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 <codett>i586-elf-</codett> voor, bijvoorbeeld <codett>i586-elf-ld</codett> in plaats van <codett>ld</codett>.
465

bewerkingen

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.