home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0400 / CCE_0423.ZIP / CCE_0423.PD / GNUSHELL.LZH / GNUSHELL / GNUSHELL.TXT < prev    next >
Text File  |  1992-08-23  |  14KB  |  295 lines

  1.  
  2.  
  3.   Dokumentation zur GNU-Shell Version 1.0ß vom 22.08.92
  4.   
  5.   Da der GNU-C-Compiler unter UN*X entstand, ist die Bedienung normalerweise
  6.   nur über einen Commandline-Interpreter (z.B. Mupfel) möglich.
  7.   Außerdem muß von dem CLI ein recht umfangreiches Environment gesetzt 
  8.   werden, damit alle Programme die benötigten Dateien finden.
  9.   
  10.   Die GNU-Shell ermöglicht nun ein Arbeiten mit dem GNU-C-Compiler mit einer
  11.   maus-orientierten Oberfläche, wie man es vom ST gewöhnt ist.
  12.   
  13.   Die Shell ist PD. Jeder darf sie benutzen und weitergeben (das ist sogar 
  14.   erwünscht !) 
  15.   Ich erhoffe mir dadurch eine große 'Anwendergemeinde' und viele neue 
  16.   Anregungen. Außerdem wurde die Shell noch nicht bis ins kleinste getestet, 
  17.   es könnten also auch noch grobe Fehler durch sie verursacht werden.
  18.   
  19.   Ich übernehme keinerlei Haftung für eventuelle Schäden, die durch die 
  20.   Shell entstehen.
  21.   
  22.   Alle Fragen, Anregungen und besonders Fehler bitte an:
  23.   
  24.   Christian Felsch
  25.   Bevenser Weg 18
  26.   2100 Hamburg 90
  27.   
  28.   E-Mail:  Christian Felsch @ HH  (MausNet)
  29.                                                            
  30.  -------------------------------------------------------------------------
  31.            
  32.   Nun zur Beschreibung des Programms:
  33.   
  34.   1. Allgemeines
  35.   -------------------
  36.   
  37.       Die Shell ist vollständig in Megamax Modula2 geschrieben, unter 
  38.       Verwendung der MAGIC von Peter Hellinger. Sie ist komplett maus-
  39.       orientiert, kann aber auch mit der Tastatur bedient werden.
  40.       Zur Shell gehören folgende Dateien:
  41.   
  42.         GNUSHELL.PRG         die eigentliche Shell
  43.         GNUSHELL.RSC         die Resource dazu
  44.     
  45.         GNUSHELL.INF         Inf-Datei mit Einstellungen, Pfaden, usw.
  46.         GNUSHELL.TXT         dieser Text
  47.         HISTORY.TXT          Entwicklung der GNU-Shell
  48.   
  49.   
  50.       Die Shell geht davon aus, daß die GNU-Binaries mit den ursprünglichen
  51.       Dateinamen vorliegen. Das Einstellen anderer Namen ist im Moment 
  52.       noch NICHT möglich !
  53.       Es werden folgende Dateien als vorhanden vorrausgesetzt:
  54.    
  55.                 gcc.ttp        C Compiler 
  56.                 g++.ttp        C++ Compiler : nur bei Version 1.x
  57.                 make.ttp       Make
  58.       
  59.       Ab der Compilerversion 2.0 gibt es nur noch 'gcc.ttp' als Compiler-
  60.       treiber, im Gegensatz zur Version 1.4, bei der es noch einen Treiber
  61.       für C und einen für C++ gibt.
  62.       Die GNU-Shell entscheidet anhand der Quelltext-Extension, ob es sich
  63.       um ein C oder ein C++ Programm handelt. Die Extension für C ist *.C,
  64.       für C++ *.CC .
  65.       
  66.                 
  67.   2. Die Desktop-Box
  68.   -------------------
  69.       
  70.       Bei dieser Box handelt es sich um eine Dialogbox, die wie ein 
  71.       normales GEM-Fenster arbeitet. Sie erleichtert die Bedienung der 
  72.       GNU-Shell, da sie die wichtigsten Funktionen zum Arbeiten mit GCC 
  73.       direkt, und nicht über Umwege wie z.B. Menüs, zur Verfügung stellt.
  74.       
  75.       Die Funktionen sind mit der Maus anzulicken und teilweise auch über 
  76.       eine entsprechende Funktionstaste zu erreichen.
  77.       
  78.       Folgende Funktionen stehen zur Verfügung:
  79.       
  80.         Arbeitsdatei   : Wird mit der Maus auf das Editfeld geklickt,
  81.                          erscheint eine Fileselectbox und man kann hier 
  82.                          die gewünschte C-Quelldatei auswählen. In der 
  83.                          Deskbox wird nur der Name angezeigt, intern wird 
  84.                          aber natürlich auch der Pfad mit verarbeitet.
  85.                          
  86.         Makefile       : Auswahl des aktuellen Makefile. (wie Arbeitsdatei)
  87.                             
  88.         Editor   (F1)  : Es wird der Editor gestartet. An ihn wird die
  89.                          aktuelle Arbeitsdatei (ggf. auch die Errordatei)
  90.                          übergeben. 
  91.                          Einige Editoren bieten die Möglichkeit sie mit 
  92.                          einem Exit-Code zu verlassen. Die GNU-Shell unter-
  93.                          stützt z.Z. folgende Codes: 
  94.                           -1 : Compiler mit aktueller Arbeitsdatei starten
  95.                           -2 : Make mit aktuellem Makefile starten
  96.                             
  97.         Compiler (F2)  : Es wird der Compiler mit der aktuellen Arbeits-
  98.                          datei gestartet. Die eingestellten Optionen 
  99.                          werden berücksichtigt. 
  100.                          Der Pfad für den BIN-Ordner muß gesetzt sein !
  101.                          Die Shell erkennt selbständig, ob der C oder der 
  102.                          C++ Compiler benötigt wird (Compiler-Version 1.x)
  103.                             
  104.         Make     (F3)  : Bisher wird hier nur das 'make.ttp' mit dem aktu-
  105.                          ellen Makefile gestartet.
  106.                          
  107.         Starten  (F4)  : Ist das Programm bereits bekannt (nach einem vor
  108.                          rangegangenen Compilerlauf) wird es sofort ge-
  109.                          startet, sonst kommt eine Fileselectbox.
  110.                             
  111.        
  112.                             
  113.   2. Das Menü
  114.   ----------------- 
  115.   
  116.       Die Menüeinträge können auch durch die Tastatur aktiviert werden.
  117.       Hierbei bedeutet z.B. '^Q' Ctrl-Q und '◆C' Alt-C
  118.         
  119.   
  120.   2.1 Datei 
  121.     
  122.       -Programme starten  
  123.       
  124.         Hier kann ein beliebiges Programm gestartet werden. 
  125.         Das Programm wird in dem eingestellte Environment gestartet.
  126.         Wird ein Programm mit der Endung TTP gewählt, hat man ie Möglich-
  127.         keit, eine Argumentzeile an dieses zu übergeben. In der erschein-
  128.         den Dialogbox kann man Argumente direkt eingeben oder über eine
  129.         Fileselectbox einen Dateinamen finden. Klick man dann 'starten'
  130.         an, wird an das Programm der Inhalt der Edit-Zeile übergeben.
  131.                                    
  132.       -Ende               
  133.       
  134.         Beendet die GNU-Shell OHNE weitere Abfragen.
  135.       
  136.   
  137.   2.2 Parameter
  138.       
  139.       -Environment        
  140.       
  141.         In dieser Box werden die Pfade für das Environment eingestellt.
  142.         Die Pfade bei Standard-Environment müssen immer gesetzt sein,
  143.         da sonst eine einwandfreie Benutzung des Compilers nicht möglich 
  144.         ist !
  145.         
  146.         Zum Ändern der Pfade können diese direkt über die Tastatur einge-
  147.         geben werden, oder aber man klickt auf den entsprecheneden Button 
  148.         und wählt den Pfad mit einer Fileselect-Box.
  149.         
  150.         Editor     : Hier wird nicht nur der Pfad, sondern auch der 
  151.                      Programmname angegeben.
  152.                 
  153.         BIN        : Ordner, in dem sich alle Binaries (gcc.ttp, u.s.w.)
  154.                      befinden.
  155.                 
  156.         INCLUDE    : Der Ordner für die Standard-Include-Dateien
  157.       
  158.         INCLUDE C++: Der Ordner für die Include-Dateien von C++
  159.       
  160.         INCLUDE SYS: Der Ordner für die Sys-Include. Er befindet sich 
  161.                      meistens bei den Standart-Includes.
  162.         
  163.         Von der GNU-Shell werden folgende Environment-Variablen gesetzt:
  164.         GCCEXEC, GNULIB, GNUINC und TEMP entsprechend der getätigten 
  165.         Eingaben.
  166.  
  167.         Außerdem noch:
  168.          CFLAGS -I.
  169.          
  170.         Zusätzlich zu dem Standard-Environment können im unteren Teil der
  171.         Box weitere Environment-Variablen gesetzt werden.
  172.         Die hier getätigten Eintragungen werden NICHT überprüft, d.h. sie
  173.         werden so ins Environment eingetragen.
  174.         Eine Eintragung kann z.B. so aussehen:
  175.               
  176.               PFADXY=c:\xy\
  177.               
  178.         Es können max. 3 zusätzliche Eintragungen gemacht werden, d.h.
  179.         pro Zeile nur 1 Variable !
  180.         
  181.         Für eine einwandfreie Benutzung des 'make' wird das Setzen der
  182.         Variablen PATH dringent empfohlen !
  183.         
  184.                      
  185.       -Compiler          
  186.       
  187.         Hier werden alle Compiler-Optionen eingestellt bzw. eingegeben.
  188.         
  189.         Verwendeter
  190.         Compiler      : Hier wird die verwendete Compilerverion eingestellt.
  191.                         Dies ist notwendig, da es zwischen den Versionen 
  192.                         einige Unterschiede gibt, z.B. ist bei Ver. 2.1 eine
  193.                         zusätzliche Optimierungsoption vorhanden, die der
  194.                         1.4-Compiler nicht kennt.
  195.                           
  196.         Outfile-Name  : Hier wird der Dateiname eingegeben, den der Compiler
  197.                         erzeugen soll. Wird als erste Zeichen ein '*' ein-
  198.                         gegeben, wird der Name des Quelltextes übernommen 
  199.                         und die nach dem '*' folgende Extension angehängt.
  200.                         z.B. *.TOS : TEST.C -> TEST.TOS
  201.                         Wenn das erste Zeichen kein '*' ist, wird der ein-
  202.                         gegebene Text als vollständiger Name übernommen.
  203.                         z.B. A.OUT : TEST.C -> A.OUT
  204.                        
  205.         zus. Linkfiles: Wird diese Option angeschaltet, werden die folgenden
  206.                         Libraries zum Programm dazugelinkt.
  207.                         Es dürfen hier nur die Namen der Libraries durch
  208.                         Komma getrennt eingegeben werde, also z.B.
  209.                                  gem,pml
  210.         
  211.         sons. Optionen: Hier können noch zusätzliche Optionen eingegeben
  212.                         werden. Sie müssen die bekannte Form aufweisen:
  213.                         Am Anfang '-' und untereinander durch ' ' getrennt.
  214.                     
  215.         Die anderen Optionen erklären sich von selbst, für genauere Er-
  216.         klärungen verweise ich auf die GNU-Dokumentation.
  217.         Wenn die Option Preprozessor gewählt wird, wird beim Compilerstart
  218.         lediglich der Preprozessor ausgeführt. Das Ergebnis liegt dann in 
  219.         einer Datei mit dem alten Namen und der Extension '._P', z.B.
  220.                DEMO.C  -> DEMO._P
  221.         
  222.         
  223.       -Allgemeines       
  224.       
  225.         Die hier vorhandenen Einstellungen beziehen sich z.Zt nur auf den
  226.         Editor.
  227.         
  228.         Editor resident: Es besteht die Möglichkeit (natürlich nur, wenn
  229.                          genügend Speicher vorhanden ist) den angemeldeten
  230.                          Editor resident in den Speicher zu laden.
  231.                          Da sich dann der Editor schon im Speicher befindet,
  232.                          erspart man sich das ständige Laden vom Laufwerk.
  233.                          Ist es angeschaltet, wird nach dem Verlassen der 
  234.                          Box mit OK der Editor geladen.
  235.                          Hatte man den Editor im Speicher und schaltet man
  236.                          es wieder aus, wird der Editor aus dem Speicher
  237.                          entfernt.
  238.                          
  239.         Startpfad      : Bei vielen Editoren ist es möglich, Einstellungen,
  240.                          Makros u.s.w. zu speichern. Wenn man nun eine 
  241.                          spezielle C-Makrodatei für den Editor nur mit der
  242.                          GNU-Shell benutzen möchte, legt man diese in den
  243.                          Ordner, in dem sich die Quelltexte befinden.
  244.                          Ist nun 'Source-Pfad' angeschaltet, wird vor dem 
  245.                          Start des Editors der aktuelle Pfad auf das Quell-
  246.                          textverzeichnis gesetzt, und der Editor findet das
  247.                          C-Makro. Ist dagegen 'Editor-Pfad' eingestellt, ist
  248.                          der Pfad des Editors der aktuelle und es wird eine
  249.                          sich eventuell dort befindende Datei geladen.
  250.                          
  251.         Fehlermeldungen: Wenn beim Übersetzen eines Quelltextes Fehler auf-
  252.                          treten, erscheinen diese NICHT auf dem Bildschirm,
  253.                          sondern werden in der Datei 'GNU.ERR' abgelegt.
  254.                          Diese Datei befindet sich dann in dem Verzeichnis,
  255.                          in dem sich auch die Quelltexte befinden. 
  256.                          Ist nun 'Start des Editors' gewählt, wird, falls
  257.                          die Fehlerdatei vorhanden ist, nach Beendigung 
  258.                          des Übersetzens der Editor gestartet. An ihn
  259.                          werden dann die Quelltext-und die Fehlerdatei über-
  260.                          geben.
  261.                          Wenn man 'Warnmeldung' anschaltet, weist nur eine
  262.                          Alertbox auf aufgetretene Fehler hin. Die Fehler-
  263.                          datei ist dann trozdem vorhanden.
  264.                          
  265.                          Wenn der Compiler keine Fehler meldet, wird die
  266.                          Fehlerdatei wieder gelöscht.
  267.                         
  268.                          
  269.       -sichern           
  270.       
  271.         Hiermit werden alle Einstellungen gesichert.
  272.         Die entstehende Datei 'GNUSHELL.INF' wird beim Starten der Shell
  273.         in dem Startverzeichnis gesucht und, falls vorhanden, geladen.
  274.         Sollte diese Datei einmal fehlen, wird man darauf hingewiesen,
  275.         und muß alle Einstellungen neu vornehmen. 
  276.         
  277.         Wurde die Option 'Editor resident' gewählt, und diese auch ge-
  278.         speichert, wird nach dem Starten der Shell der Editor in den 
  279.         Speicher geladen.
  280.         
  281.   
  282.   So, das wäre die Beschreibung der GNU-Shell.
  283.   Es wird noch viele Dinge geben, die besser gemacht werden könnten.
  284.   Außerdem habe ich die Shell noch nicht ausgiebig testen können, da 
  285.   ich noch nicht soviel von C weiß.
  286.   
  287.   Ich hoffe viele Anregungen, Fehlerberichte und sonstige Reaktionen
  288.   zu diesem Programm zu bekommen, damit ich auch in Zukunft Verbesserungen
  289.   und Korrekturen anbringen kann.
  290.   
  291.   
  292.   Hamburg, 22.8.92
  293.   
  294.   Christian Felsch
  295.