Installation des GNU-Systems

Um die GNU-Shell benutzen zu k”nnen, ben”tigt man natrlich den GNU Compiler ! Dieses ist ein Paket aus mehreren Disketten, daž man auf verschiedenen Wegen bekommen kann:

Nun dazu, was man alles ben”tigt. Die hier verwendeten Archivnamen sind natrlich nicht allgemeingltig, aber normalerweise werden „hnliche benutzt. Bei den Zahlen im Namen handelt es sich um Versionsnummern, die sich natrlich „ndern k”nnen.

Archiv Inhalt Beschreibung
gcc245p1.zoo gcc.ttp Treiber-Programm
  gcc-cpp.ttp C-Pr„prozessor
  gcc-cc1.ttp der eigentliche C-Compiler
gpp245p1.zoo gcc-cc1plus.ttp C++ Compiler
gas138p4.zoo gcc-as.ttp Assembler
util37b.zoo gcc-ar.ttp Library-Manager
  gcc-ld.ttp Linker
  sym-ld.ttp Symbollinker fr GDB
  gcc-nm.ttp Anzeigen von Symbolen
  cnm.ttp Symboltabelle des Programms
  fixstk.ttp Setzt Stacksize
  printstk.ttp Zeigt Stackize
  size68.ttp Gr”že von TEXT/DATA/BSS
  gcc-size.ttp ?
  toglclr.ttp Setzten der Programmbits
  xstrip.ttp Entfernt die Symboltabelle
make363b.zoo make.ttp Make
gdb36p3.zoo gdb.ttp Debugger
libolb93.zoo crt0.o StartUp-Code, normal
  gcrt0.o StartUp-Code, debugging
  gnu.olb Standard C-Library
  gnu16.olb  
  iio.olb Integer-IO
  iio16.olb  
includ93.zoo *.h Headerfiles fr Standard-C
mntlib34.zoo mcrt0.o StartUp-Code, normal
  mgcrt0.o StartUp-Code, debugging
  mint.olb MiNT-Lib, s.u.
  mint16.olb  
  miio.olb Integer-IO
  miio16.olb  
mntinc34.zoo *.h Headerfiles fr MiNT-Lib
gemolb30.zoo gem.olb GEM-Funktionen
  gem16.olb  
pmlolb22.zoo pml.olb Portable Math Library
  pml16.olb  
crsolb16.zoo curses.olb BSD Curses und Termcap
  curses16.olb  
gppolb20.zoo g++.olb C++ Library
gppinc20.zoo *.h Headerfiles fr C++
gempp15.zoo gem++.olb C++ Klassen fr GEM
  *.h Headerfiles

Die 16 und 32 im Namen zeigen an, wieviele Bits der Typ 'int` umfažt. Aužerdem sind in den Archiven machnmal noch Libs, deren Namen mit einem 'b` beginnen. Dieses Libs sind mit der Compiler-Option '-mbaserel` erzeugt worden und untersttzen unter MiNT ab Version 0.96 das SharedMemory-Konzept.

Noch etwas zur MiNT-Lib: Sie ist als kompletter Ersatz fr die GNU-Lib gedacht, beinhaltet alle neuen GEMDOS-Calls unter MiNT und ist teilweise kompatibler zu echten UNIX-Libraries. Aužerdem ist sie PD, imgegensatz zur GNU-Lib, die unter der GNU Public Licence vertrieben wird.

Wenn man beide Libs benutzen m”chte, muž die MiNT-Lib unter dem Namen 'mint.olb` vorliegen und die Startup-Codes mit 'm` (mcrt0.o und mgcrt0.o) beginnen. Dann kann man den Compiler mit der Option '-mint` dazu veranlassen, diese zu benutzen. Wenn man nur die MiNT-Lib nutzen m”chte, nennt man die Dateien einfach in die Standardnamen (wie die der GNU-Lib) um.

Zun„chst mssen alle Archive ausgepackt werden. Es bietet sich dazu folgende Verzeichnisstruktur an:


   gnu -
       |
       - bin
       |
       - lib
       |
       - include -
                 |
                 - g++
                 |
                 - sys

Nach 'bin` alle *.TTP, nach 'lib` alle *.OLB und *.O und nach 'include` alle *.h kopieren. Nun noch in der GNU-Shell unter 'Environment...' Pfade anmelden und es kann losgehen.

Fr alle, die nicht mit der GNU-Shell arbeiten wollen (gibts daž ? :-)), hier eine kurze Erkl„rung der zu setzenden Environmentvariablen:

PATH 'bin`-Ordner mit eintragen
GCCEXEC Pr„fix der GNU-Programme (z.B. g:/gnu/bin/gcc-)
GNUINC Include-Verzeichnis
GXXINC Verzeichnis der C++-Headerfiles
GNULIB Verzeichnis der Libraries
TEMP oder Tempor„r-Verzeichnis
TMPDIR oder  
TMP