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:
mufus.rz.tu-harburg.de (134.28.200.99) in /anton/ATARI/gnuempfehlen. Dort gibts auch immer die aktuelle Version der GNU-Shell.
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 |