Sozobon eXtended version (ATARI)

readme in english and german

to distribution of Apr 9  1995
(sozbin10.lzh), (sozlib13.lzh), (sozuti07.lzh)


updating hints:
bugs in hcc fixed
changes to libs, ld, cc, hcc debug feature
some bugs in XdLib functions fixed

updating from older versions (1994):
The structure in 'sozdistr/doc' has completely changed, so remove
this directory bevor unpacking or copying!
hcc: 		IEEE 64 Bit floating point support
libm:		now the pml, for IEEE support
libc:		IEEE support, bugfixes
startups:	some new ones
xgemfast:	MagiC support
see '*.chg' files for further information!!


This is the only file with 'CRLF' newlines in this distribution, I
think. If anyone has trouble with missing '^M's I can change this.

This SOZOBON version is based on SOZOBON-C 2.00 release of Sozobon Limited
(Tony Andrews, Johann Ruegg and Joe Treat). It includes a library based on
Dale Schumacher's Dlibs and Ian Lepore's Gemfast.  Changes by Holger Weets,
Christian Wempe and Jerry Geiger, with the help of Harun Scheutzow
and Michel Forget.
Now we have two new peolpe helping to maintain SozobonX, this is
Volker Seebode for hcc, top and Thorsten Roskowetz for jas.


The documents are based on original distributions' ones.

SozobonX is distributed in five archives:
The files 'sozbinXX.lzh', 'sozlibXX.lzh', and 'sozutiXX.lzh', are the
standard parts. The XX stands for each file's distribution number.
The file 'sozc68XX.lzh' with Thosten Roskowetz's c68 port, and the 
file 'mntsoxXX', the MiNT library (Scott Bigham) where the 'XX' is the 
patch level.
It is guaranteed that the highest numbers always fit together -- as far as I
guarantee anything. So the mntsox44.lzh won't work using doubles at all.
The files will be called sozlib, sozbin and sozuti in the documentation.


COPYRIGHT

    The Sozobon C-Compiler is freeware.  The archives 'sozbin', 'sozlib',
and 'sozutil' may be freely copied, so long as they are not sold nor
changed.  This package may not be distributed in any PD-Library or
Shareware series. 

   If you want to add this compiler system or parts of SOZOBONX to any
commercial software distribution (CDs etc) please contact me for a 
permission.


DISCLAIMER

    IN NO EVENT WILL I AND/OR ANY OTHER PARTY BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE (INCLUDING
BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH OTHER
PROGRAMS) THE PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.


CONTENTS

    In the archive 'sozbin' you will find the programs that form that
Freeware C-System Sozobon eXtended version (2.xx), including the manual
files and the more global Sozobon 2.0x documentation.

    The basic executables are:

    * Compiler Driver (cc)
    * Compiler        (hcc)
    * Optimizer       (top)
    * Assembler       (jas)
    * Linker          (ld)

    In the archive 'sozlib', you will find libraries and header files,
and the library documentation.

    * Header Files
    * Startup Modules/Libraries

    In the archive 'sozutil', you will find various utilities, to deal
with sorce files, libraries and bugs.

    * Make                        (make)
    * Prototypes Creation Utility (mkptypes)
    * Include File Precompiler    (ipc)
    * Library Mananger            (ar, har)
    * Tagfile Utility             (tagfile)
    * Source Analysis Utility     (clint)
    * Debugger                    not in this distribution
    * Debug Utility               (debug)

    In the archive 'c-desk.lzh' (if present) you will find a GEM shell for
Sozobon C called C-Desk, by Holger Weets. ACE (shell and integrated editor)
is available by him, too.
    An identical AMIGA version is available by Holger Weets.  He can be
contacted at:

    Maus: Holger Weets @ OL
    Internet: Holger_Weets@OL.maus.de  (only mails <= 16KBytes !!)

    Mail: Holger Weets
          Tangastrae 45
          D-26121 Oldenburg


    The traditional installation of many C compilers (UNIX) can be used
    for Sozobon. Unpack the archives with option '-r', to get
    all directories created. All three archives use the same directory
    structure and will create a directory 'sozdistr' where all is placed
    in. If you think of this directory 'sozdistr' as 'usr' you will see
    the usual direcory structure, excepted the directory 'doc' placed
    there and this file 'readme'. 

    The simplest way is now to copy or move the directories 'bin'
    'include' 'lib' and 'man' to your directory '\usr\'. If you don't
    have a '\usr' try the following four steps.

    1.  Put the executable files (directory 'bin') in a folder called 
        '\usr\bin' or '\bin' or whatever you use for binaries.
        You can also put these files in any folder that is present in the
        $PATH environment variable.

    2.  Copy or move the directory 'include' where ever you 
        think its a good place for. Usually you should have a directory
        '\usr\include\' with some and library specific directories like
	'\usr\include\mntinc' with the most include files in it.

    3.  Copy or move the directory 'lib\sozobonx' to where you want it,
        usually this will result in a path '\usr\lib\sozobonx' with
	all the library directories and files in it.

    4.  The man files' directories should be placed in a directory 
        '\usr\man', when your environment variable $MANPATH has the
        value '\usr\man'.
        If you don't know what $MANPATH is keep the files where they are
	or use the ones of directory 'doc' in 'sozdistr'

     Now you have to create some environment variables:

     Create an environment variable called $INCLUDEDIR that contains the
     path of your include directory ('\usr\include' by default). cc uses
     this variable to build a variable $INCLDUE for cpp and hcc from it.
     hcc uses it to replace the buildin path for header files, if $INCLUDE
     doesn't exist.

     Create an environment variable called $LIBDIR that contains the
     path of your library directory ('\usr\lib'). cc will replace the
     builtin library pathes with this one.

     You may need these variables, cause with TOS there are a) drives and
     b) for other reasons too, no standard directories 'usr\include' and
     '\usr\lib'. 

     You can use the variables $LIB and $INCLUDE, too and cc, hcc and ld
     will use them instead of the above mentioned.

     Sozobon makes use of the well known (I hope) environment variables
     PATH and TMPDIR. (the last one should name the path of something
     like the directory '\usr\tmp'.

     If you have installed the ST-Guide program copy the '*.hyp' and
     '*.ref' files from directory 'doc' in this distribution where you
     keep you hypertext files (maybe '\usr\lib\hyper', maybe anywhere.
     Run 'stool' to get them in the catalouge file and tell you editor,
     that the C-mode-editing helpfile is 'soz_libs.ref'

    Of course you can put the files where you want, but the sozobon
programs sometimes need to find the single files.  Therefore you have to
set the environment variables.  C-Desk and ACE use setup files, to store
the paths, but you can use environment variables, too.

These following environment variables are used by sozobon components.
'make', 'cc', and 'ld' handle and expand some $UNIXMODE path features.

       PATH       to find binaries             (list of paths)
       LIBDIR     standard library path        (path)
                  (there a directory 'sozobonx')
                  replaces the builtin include paths
       LIB    	  current valid library pathes  (list of paths)
       INCLUDEDIR standard header file path    (path)
                  (there some library directories)
                  replaces the builtin include paths
       INCLUDE    current valid include file paths (list of paths)


    More detailed installation hints are to find in the documents to the
shell (C-Desk.doc ...) or the driver program (cc.man) you use.

ANOTATIONS

    Now there is a 'Let'em Fly' library included, see in the original 
Let'em Fly docs how to use it.



SUPPORT
BUG REPORTS

    If you have any problems, suggestions, or comments, send a message
to me. If you have a bugreport please use the bugform file, included in
this distribution. At least for the first one.

    If you have a bugreport to hcc, top or jas or another part of SozobonX
wich is no more maintained by me plese send you filled bugforms to the
person mentioned in the man file of this tool.


email to:
        Maus:  Jerry Geiger @B
    Internet:  jerry@zedat.fu-berlin.de

 
--Jerry

Now the whole stuff and some lines more in german.

Update Hinweise:

bugs in hcc fixed
einige bugs in XdLib Funktionen fixed, nderungen an XdLibs


von lteren Versionen:
Die Struktur des Verzeichnisses 'sozdistr/doc' wurde vllig gendert,
lschen sie deshalb diese(s) Verzeichnis(e) vor dem Auspacken bzw Kopieren
der neuen Archive. 

hcc: 		IEEE 64 Bit floating point 
libm:		nun die pml, wegen IEEE Untersttzung
libc:		IEEE Routinen, bugfixes
startups:	ein paar neue sind hinzugekommen
xgemfast:	MagiC Untersttzung
siehe auch die '*.chg' Dateien fr weitere Informationen


SozobonX wird in fnf Dateien verteilt:
Die Dateien 'sozbinXX.lzh', 'sozlibXX.lzh' und 'sozutiXX.lzh' enthalten das
Basis Paket, wobei XX jeweils fr die fortlaufende Versionsnummer des
jeweiligen Archivs steht. 
Die Datei 'sozc68XX.lzh' enthlt Thosten Roskowetzs c68 Portierung, und die
Datei 'mntsoxXX' die MiNT library (Scott Bigham); wobei 'XX' jeweils den
Patch Level angibt.
Die Dateien mit den hchsten Nummern passen jeweils zusammen, auer derzeit
mntsox44.lzh, das noch nicht mit den IEEE doubles umgehen kann.
Im folgenden werden die Archiv-Dateien als sozlib, sozbin und sozuti 
bezeichnet.

COPYRIGHT


    Der Sozobon C-Compiler ist Freeware.  D.h. die drei hier genannten
Archive sozbin, sozlib und sozutil drfen kopiert und weitergegeben werden,
solange an ihnen nichts verndert wird, und keine Kosten in Rechnung
gestellt werden. 

    Eine kommerzielle Weitergabe/Verteilung sowie Verkauf von Disketten mit
dem Compilersystem bzw.  Teilen davon, oder das Beilegen zu anderen
Programmpaketen Bedarf des ausdrcklichen Einverstndnisses der derzeitigen
Autoren/Entwickler. 

HAFTUNG

    Weder ich noch Holger Weets, noch sonst jemand haftet fr irgendwelche
Schden, die in Zusammanhang mit der Benutzung irgendwelcher Dateien aus dem
Sozobon-Paket mglicherweise entstehen oder entstanden sind.  Dabei spielt
es keine Rolle ob diese Dateien fr die ihnen zugedachten Zwecke oder zu
anderen Zwecken eingesetzt wurden. 


CONTENTS

    In dem Archiv 'sozbin' befinden sich die wesentlichen Programme des
Freeware C-Systems SOZOBON 2.0 eXtended version, sowie die Manual Seiten
und die allgemeinere Sozobon 2.0x Dokumentation.

    Die grundlegenden Programme sind:

    * Compiler Driver (cc)
    * Compiler        (hcc)
    * Optimizer       (top)
    * Assembler       (jas)
    * Linker          (ld)

    In dem Archiv 'sozlib' befinden sich Header/Include Dateien und
die Bibliotheken.

    * Header Files
    * Startup Modules/Libraries

    In dem Archiv 'sozutil' finden sich folgende mehr oder weniger
verzichtbare utilities: 

    * Make                        (make)
    * Prototypes Creation Utility (mkptypes)
    * Include File Precompiler    (ipc)
    * Library Mananger            (ar, har)
    * Tagfile Utility             (tagfile)
    * Source Analysis Utility     (clint)
    * Debugger                    not in this distribution
    * Debug Utility               (debug)


    Im Archiv 'c-desk.lzh' (wenn vorhanden) ist die GEM-Oberflche fr
SOZOBON enthalten (C-Desk von Holger Weets). Von ihm kann auch ACE
(Oberflche mit integriertem Editor) bezogen werden.

Eine identische Version fr den AMIGA ist ebenfalls bei Holger erhltlich,
sie enthlt den hcc & top sowie die neuste Version des A68K und die
PD-Version des BLINK, sowie entsprechende Bibliotheken. 

    Maus: Holger Weets @ OL
    Internet: Holger_Weets@ol.maus.de  (only mails <= 16KBytes !!)

    Mail: Holger Weets
          Tangastrae 45
          D-26121 Oldenburg


INSTALLATION:

    Die traditionelle Installation eines Compilers (UNIX) ist auch 
    Grundlage fr Sozobon. Packen sie die Archive mit der Option '-r' aus,
    um die enhaltenen Verzeichnisse zu bekommen. Alle drei Archive haben
    die gleiche Verzeichnisstruktur, und erzeugen ein Verzeichnis
    'sozdistr', das alles enthlt. Dieses Verzeichnis entspricht dem
    verzeichnis '\usr' in einer Standard-Installation, auer da das
    Verzeichnis 'doc' und diese Datei 'readme' auch darin zu finden sind.

    Der einfachtse Weg der Installation ist nun die Verzeichnisse 'bin',
    'lib', 'include' und 'man' in ihr 'usr' Verzeichnis zu verschieben
    oder zu kopieren. Wenn sie kein Verzeichnis 'usr' haben, probieren
    sie folgende vier Schritte:

    1. In ein Verzeichnis '\usr\bin' oder '\bin' (oder ein anderes
       Verzeichnis in $PATH) sollten die ausfhbare Programme (aus 'bin')
       kopiert werden.

    2. Kopieren oder verschieben sie nun in das Verzeichnis
       '\usr\include' oder '\include' den Inhalt von 'include' aus der
       Sozobon Verteilung.  Es sollte so etwas wie '\usr\include\' mit
       ein paar und die Bibliotheks spezifischen Verzeichnisse wie
       '\usr\include\xdlibs\' mit dem ganzen Rest von
       Header Dateien enstanden sein. 

    3. Das gleiche Spiel nun mit 'lib' aus der Verteilung. Die
       Bibliotheksdateien sollten nun alle in so etwas wie
       '\usr\lib\sozobonx' zu finden sein.

    4. Alle beliegenden Manual Verzeichnisse sollten in ein Verzeichnis wie
       '\usr\man\' kopiert oder verschoben werden, wenn ihre 
       environment Variable MANPATH den Wert '\usr\man' hat.
       Wenn sie nicht wissen was $MANPATH ist und sie 'man' auch nicht
       kennen lassen sie sie wo sie sind, und bentzen sie die Dateien
       aus dem Verzeichnis '\sozdistr\doc'

     Nun wren noch ein paar Environment Variablen zu erzeugen:
       
     In der environment Variablen $INCLUDEDIR sollte dann der Pfad ihres
     '\usr\include' entsprechenden Verzeichnisses zu finden sein. hcc
     ersetzt mit dieser Variablen die eingebauten standard Include-Pfade
     wenn $INCLUDE nicht gesetzt ist. cc benutzt diese Variable um fr hcc
     und cpp eine passende $INCLUDE Variable zusammenzubauen

     Erzeugen sie auch eine environment Variable 'LIBDIR', die den Pfad des
     Bibliotheks-Verzeichnisses ('\usr\lib') enthlt. cc ersetzt mit
     dieser Variablen die eingebauten standard Bibliotheks-Pfade.

     Dies ist agnz ntzlich, da es unter TOS a) Laufwerke und b) nicht nur
     deshalb keine Standard Verzeichnisse '\usr\include' und '\usr\lib'
     gibt.
     Sie knnen auch die Variablen $INCLDUE und $LIB benutzen cc, hcc und
     ld verwenden dann die oben erwhnten nicht.

    Natrlich kann das jedeR alles machen wie sie will, wichtig ist nur, da
die Sozobon Programme die einzelnen Dateien finden.  Dazu mssen jeweils die
Environment-Variablen gesetzt werden.  Bei C-Desk und ACE werden diese Pfade
in entsprechenden Setup Dateien gespeichert. 

Folgende Environment Variablen werden von den Sozobon Komponenten benutzt:

       PATH       fr binaries              (Liste von Pfaden)
       LIBDIR     standard Bibliothekspfad  (Pfad)
	          (dort ein Verzeichnis sozobonx)
                  ersetzt eingebaute Pfade
       LIB        die aktuelle gltigen Bibliothekspfade  (Liste von Pfaden)
       INCLUDEDIR standard Include Pfad     (PFAD)
                  (dort ist die Bibliotheks Verzeichnisse) 
                  ersetzt die eingebauten Include Pfade.
       INCLUDE    aktuell gltige Include Pfade     (Liste von Pfaden)

    Es empfielt sich generell die Defaultpfade zu verwenden.

    Fr detailliertere Angaben zur Installation sollten die zur verwendeten
Oberflche gehrenden Dokumentationen zu Rate gezogen werden.  (cc.man,
C-Desk.doc ...)


ANMERKUNGEN

CC  und  MAKE  sind  fr  die  Benutzung  des  Systems  mit   den
Oberflchen ACE oder C-Desk nicht notwendig, jedoch die Schnittstelle zur
Benutzung von SOZOBON in einer CLI-Shell, einem modernen Desktop wie
etwa Gemini oder etwa von Emacs aus.

CC und MAKE wurden von mir gegenber den ursprnglichen Versionen stark
modifiziert. Ein komplettes Manual fr make fehlt allerdings immer noch.
Ich habe jedoch die Einfhrung in make von Ian Lepore (make.doc) beigelegt.

Compiler,   Optimizer,   Asembler   und   Linker   wurden   stark
modifiziert, so da sie
   - schnelleren Code erzeugen
   - keine bekannten Fehler mehr enthalten
   - schneller bersetzen
   - auch auf AMIGA's laufen (durch einmaliges neu bersetzen)
   - viele Erweiterungen enthalten

Den Bibliotheks-Manager  hat Holger komplett  neugeschrieben,  er
liegt jetzt als  GEM-Programm  vor  (ist  fr  die  Amiga-Version
aktuell noch nicht erhltlich) und funktioniert im Gegensatz  zum
Original auch ordentlich.


IPC und TAGFILE sind im Original SOZOBON-Paket  nicht  enthalten,
sie wurden von Holger geschrieben.

Einige weitere utilities liegen der Original Verteilung ebenfalls nicht bei.


Die Sourcecodes der modifizierten Version liegen nicht bei,  weil
wir nicht mchten, da es innerhalb kurzer Zeit eine Vielzahl  von
verschiedenen  Versionen  dieses  Systemes  gibt.

Die Sources der Original-Version (2.0 von SOZOBON) knnen bei Holger
gegen einen frankierten  und  adressierten  Rckumschlag  bezogen
werden. Sie sind auch in diversen Mailboxen und von file-servern zu
beziehen.

Ich habe eine SozobonX version der Let'em Fly lib von O. Scheel
beigelegt, ich hoffe es ist in seinem Sinne.
Anwendung:  '#include <ltmf_lib.h>' im source file
und '-lltmf' in der cc commandline nicht vergessen.


SUPPORT
BUG REPORTS

    Generelle Bug reports, Fragen, etc. bitte an mich. Wenn sie einen Fehler
(Bug) zu berichten haben bentzen sie bitte die beiligende Datei 'bugform',
wenigstens das erste Mal.
    In den man files finden sich die Adressen der Leute die das
entsprechende tool pflegen, bitte die ausgefllten 'bugform's direkt an sie
schicken. 


email to:
        Maus:  Jerry Geiger @B
    Internet:  jerry@zedat.fu-berlin.de

 
--Jerry

-eof
