AGNUS - Zusatzinfos zu GNU-C/C++ 2.7.2 bzw. 2.72
Volker Hemsen, 20.09.1996

Ich habe AGNUS an das vom Softwareservice Seidel vertriebene GNU-C++-
Entwicklungspaket so weit wie mglich angepat. Folgendes ist zu
beachten:

- Im Dialog 'Pfade & Environment' mu man die Version von Compiler und
  Linker einstellen. Zu GNU-C 2.5.8 gehrt normalerweise PL36 und zu
  2.7.2 PL37. Dies wird bentigt um den Eigenarten der beiden Programm-
  versionen gerecht zu werden.
- Der einzigste grere Inkompatibilitt des Compilers zu lteren GNU-
  Versionen liegt darin, da die Environment-Variablen GCC_EXEC_PREFIX,
  GNUINC und GXXINC nicht richtig ausgewertet werden. AGNUS bergibt
  die Pfade nochmals mit den Optionen '-Bprefix' und '-Ipath'.
- Probleme gibt es mit dem Linker (PL38), da das System der Bibliotheks-
  namen umgestellt wurde, und der Linker versucht, die mit '-l' bergebenen
  Dateinamen zu korrigieren! Da AGNUS bisher die Existenz der zu den
  eingestellten Optionen passenden Bibliotheken berprfte und dann die
  kompletten Dateinamen bergab, mute hier einiges gendert werden, aber
  jetzt sollte es laufen.
  altes Format (PL36):	[b][m][g]<name>[16].olb
  neues Format (PL38):	[b][m][g]lib<name>[16].a
      b:  basisrelative Adressierung
      m:  MiNT-Untersttzung
      g:  GNU-Profiler-Untersttzung
      16: 16bit Integer, statt 32
    An den Linker bzw. an gcc werden nur noch die Namen der Bibliotheken
    (also gnu, pml, iio usw.) bergeben. Den Rest scheint das System selbst
    erledigen zu knnen.
    Seltsamerweise enthlt die Seidel-Distribution nur Bibliotheken mit den
    alten Namen, so da man diese erst umbenennen mu!
    Beim Erzeugen einer Lib mit AGNUS wird der Dateiname ebenfalls nach dem
    oben genannten Schema manipuliert!
- Wie man leicht erkennt verlngern sich die Dateinamen um 3 Zeichen, so da
  man mit dem alten 8+3-Dateisystem Probleme bekommen kann. Aus diesem Grund
  kennt AGNUS fr einige Zusatz-Bibliotheken folgende Abkrzungen:
  widget:        wdgt, wdg
  curses:        crss, crs
  termcap:       trmcp, trm
  socket:        sck
  xlib:          xlb	(umfangreiche Erweiterungsbibliothek des Autors)
  Bsp: termcap-Lib, basisrel. Adr., 16Bit Integer:
       altes Format: btrm16.olb, neues Format: blibtrm16.a
- Die Bibliothek fr die I/O-FPU '881' luft nicht mit der gnu-Lib zusammen.
- gcc gibt bei basisrelativer Adressierung die Option '-n' und bei 16bit
  Integer '-H' an den Linker. Dies ist undokumentiert und erzeugt Probleme,
  denn der symbolische Linker 'sym-ld' PL38 kann mit '-H' berhaupt nichts
  anfangen und bricht die Arbeit ab. Was fr'n Pfusch! Ansonsten luft mit
  gdb 3.6 alles gut zusammen.
- Der Fortran-Compiler erzeugt aus dem Namen der 'subroutine main()' leider
  das Symbol '_main_' statt '_main', so da man entweder ein kleines Zwischen-
  modul in Assembler verwenden mu, oder man manipuliert 'crt0' entsprechend.
- Weitere Mngel sind mir bisher nicht aufgefallen.


weitere Mngel des Seidel-Paketes:
- keine C++-Includes und Libs (stand da nicht C++-Entwicklungspaket auf der CD?)
- keine GEM und GEM++-Bibliothek
- keine blichen Zusatzbibliotheken (widget, curses, termcap)
- mangelhafte Dokumentation
- Ein Groteil der Daten ist einem riesigen tar-Archiv gepackt. Um dieses
  zu entpacken, mte ICH mir erst eine neue Platte kaufen!!!
- 49 DM sind viel GELD fr diesen kleinen Umfang.
