                                                                                                                                                                  /*
              GCCShell 3.1      Informations  22 Novembre 1998         
                                                                                                                                                                   */
            ((((((((((((((((---------------------))))))))))))))))

Shareware: Ne peut tre modifi sans l'avis de son auteur.
Dvelopp sous MagicMac, avec GNUGENC un gnrateur d'application GEM 
de ma conception.  (40FF, 7$ ou quivalent)

                                                                                                                                                                 /*
         Olivier LANDEMARRE
         89 av jean Moulin
         90000 BELFORT                                                                                                                                           */
                                                 
         Adresse lectronique :                                                                                                                                  {
            Olivier.Landemarre@UTBM.FR                              
                                                                                                                                                                 }

Dernires modifications: Support correcte de Mint, support de $HOME 
support de Bubble GEM pour aide, nouvelles fonction de compilation 
"Compile .O" et "Compile all .O" (voir infos en bas de ce texte)
 
                                                                                                                                                                /*
Intrt de GCCShell                                                	
                                                                                                                                                                */

  Ce petit programme est inspir de GNUShell 2.2 de Roland Shauble, 
shell graphique GEM, pour le GCC. Il a l'intrt d'tre simple d'emploi et
suffisament efficace pour mes besoins. Par contre il a plusieurs petits 
dfauts li principalement  ma configuration matrielle : 
 Il n'aime pas du tout le multitche en tous les cas pas 
sous MagicMac (ne plante pas, mais empche toute utilisation en 
multitche), alors oblig de travailler en single.
  Autre petit dfaut l'utilisation linker n'est pas trs judicieuse, 
pour que GCC puisse trouver ses .O il faut qu'ils soient soit dans le 
rpertoire des librairies soit dans le rpertoire courant, hors ce 
dernier point n'est pas assur par GNUShell, si vous lancez un 
programme qui n'est pas dans le rpertoire courant vous voil perdu 
pour linker, il faut ressortir du mode single (c'est long sur un 
68030 16Mhz!) et relancer.

  GCCShell rgle normalement ces problmes, et est plus /* particulirement 
tudi pour tre utilis en mode multitche mais peut tre utilis 
sur sytme monotche */, il permet de lancer les diteurs de texte ou
de ressource en multitche sur tout systme GEM de ce type. Pour ces 
programmes il peut lancer des fichiers grce  un message VA_START 
(Essayez Everest, il utilise cela trs bien).
  Il permet aussi de faire une recherche de type GREP depuis le shell 
et possde une petite alarme pour ceux qui oublient l'heure devant 
leur cran!
                                                                                                                                                               {
Compilateur recommand : version actuelle GCC 2.8.1 compile par 
Christian Felsch avec GAS 2.9                                         	
                                                                                                                                                               }
                                                                                                                                                              /*
Utilisation:    (configuration)                                      
                                                                                                                                                               */

  Il faut principalement rgler la configuration de GCCshell, chaque
projet peut avoir une configuration diffrente. Pour crer une nouvelle 
configuration choisir /*"Configurer"*/, rglez comme bon vous semble 
et pour /*"Nom de projet"*/ mettez le /*nom de fichier de configuration 
et son chemin*/, ce sera ce chemin qui sera utilis pour trouver les .O 
locaux. Attention l'enregistrement de cette configuration la mettra 
automatiquement par dfaut  la prochaine utilisation et crasera 
toute configuration de mme nom.
  Si vous dsirez reprendre un ancien projet choisissez l'option 
/*"Recharger"*/.

 Attention: Une mauvaise configuration peut causer des disfonctionnements 
graves de ce shell.

                                                                                                                                                                 /* 
Bugs connus non rsolus                                                
                                                                                                                                                                 */

 Les principaux plantages observs actuellement sont lis  une 
mauvaise configuration lisez bien le paragraphe prcdent.

 GCC peut planter alatoirement, quand GCCShell dirige GCC directement 
ce probleme est rare mais embetant lors de gros projet, il est alors 
prfrable d'utiliser un makefile lanc pas GCCShell. Ce problme est 
peut tre li  la gestion mmoire, je n'ai pas encore bien cern 
cela. Si la compilation est relance le problme disparait.

                                                                                                                                                                  /*
Particularits: 
                                                                                                                                                                  */
  Ce programme est un prtexte  l'utilisation d'une librairie 
personnelle et d'un gnrateur d'application que je suis en train  de 
dvelopper. 

  Je compte aussi raliser son portage sur diffrents environnements
et permettre de compiler du source Atari telquel sans passer par un 
mulateur. Pour cela je rflchi  rcrire une partie des fonctions 
de l'AES.

  Si il y en a d'intresss ou si vous avez des problmes, n'hsitez pas 
 me contacter:

Remerciements pour leur aide, debuggage (nombreux!) et ides:
                                                                                                                                                                    
    Dominique Brziat
    John Diot
    Franois Le Coat
                                                                                                                { 
Mise  jours 3.1          22 Novembre 1998
                                                                                                                  }
 Ajout de l'accs directe  un diteur de fichiers binaires
 Le lancement des fonctions de strip, fixstk, printstk, size68 
faisaient planter GCCShell si les programmes n'taient pas rgls dans 
la configuration gnrale
 Un bug dans la librairie gnugenc a t fix qui pouvait provoquer 
alatoirement un plantage lorsque le programme quittait. 
                                                                                                                    
                                                                                                                                                                                               
                                                                                                                {
Mise  jours 3.0beta2      4 Novembre 1998                                  
                                                                                                                 }
 Correction, affichage menu apres l'action "make" puis abandon, on 
avait perdu le menu qui restait gris
 Support nom long partiellement corrig

Mise  jours 3.0beta       29 Octobre 1998
 Bug dans la gestion du mode Superviseur
                                                                                                                  /*
Nouvelle version 3.00alpha  23 Aout 1998                               
                                                                                                                   */
                                                                                                                                                                         
 Redirection sous Mint enfin correcte avec en prime gestion d'un pipe 
et affichage au fur et  mesures des messages dans la fentre STDOUT.
Merci  Francois LE COAT pour m'avoir accueilli pour raliser cette 
modification et tester.
 Gestion amliore du fichier _CONOUT.TXT gnr pour faire un .log 
quand on fait "Compiler".
 Encore moins de risque de fragmentation mmoire.
 Correction bug VA_START a message NULL (avec appline et GCCShell 
sans fentre).
 Amlioration de la slection de texte dans les fentres texte.
 Option de compilation -c obligatoire si on n'utilise pas -s (Pour Dom!!!).
 Bouton pour dsigner le nom du projet.
 Plantage alatoire sur l'xcution de programmes ayant un nom de 8 
lettres corrig.
 Amlioration de la gestion de la slection de texte dans une fentre
texte.
 Option de compilation -Ox obligatoire pour cause Pb GCC 2.8.1 gas 2.9
rsoud peut tre ce problme voir chez Christian FELSCH qui nous a 
compile cette super version GCC 2.8.1.
 Gestion de la variable $HOME comme repertoire courant.
 Variable TEMP d'office pour STRIP.TTP + environnement complet pour 
tous les programmes excuts autre que GCC.
 Bubble GEM utilis pour l'aide dans la boite dialogue de 
configuration de GCC ainsi que les petites informations sur une 
fentre texte suite CTRL+ALT+click souris. 
 Nouveaux boutons pour dfinir les rpertoires de GCC.
 Nouvelles possibilites de compilation pour aller encore plus vite 
avec "Compile .O" qui tient compte des dates des .O et .C associ de 
la liste des options de Link et "Compile all .O" qui force la 
compilation de tous les .C ncessaire au Link.
 Gestion d'un cache de config pour avoir moins d'acces disque. 
 Elimination de l'inversion vido sur drag drop non satisfaisant et 
peut tre cause des plantages observs.
30/8/98
 Correction d'un bug empchant la fonction "Excuter" de fonctionner.
31/08/98
 Correction bug sur boutons GNUINC, GXXINC, GNUOLB qui ne renvoyaient
que des betises (j'avais pas test!)
1/09/98
 Les outils de compilation (comme AS.TTP) devaient tre dans le mme 
rpertoire que GCC.TTP sous peine de ne pas marcher, problme rsolu, 
en rglant GCC_EXEC_PREFIX avec le chemin des outils ca marche enfin.
Merci  Dominique Bereziat pour m'avoir fait remarque ce bug chez moi 
tout est au mme endroit! (bug apparu avec GCC 2.8.1).
 Rglage de GCC_EXEC_PREFIX par slecteur de fichier.
 Correction d'affichage  l'ouverture des champs ditables parfois 
incorrecte aprs un "annuler".

Mise  jours 2.16a 19 fvrier 1998                                     
                                                                                                 									
 Gestion possible des fichiers longs (option  risque car validit de 
Pdomain() non vrifie (comment on fait ?)), risques d'interfrences 
avec des slecteurs spciaux sous MINT. Correction de la gestion long 
sous Mint qui pouvait entrainer des dysfonctionnements.
 Xstrip ne met plus de message.
 
 Le 15/4/98 compilation avec Mintlib47 et Gemlib35 
 Le 22/4/98 : Modification de la gestion de la recherche des programmes GEM
en mmoire, utilisation de Appl_find(). 

Nouvelle version 2.16   9 fvrier 1998                                   
                                                                                                                                                                      
 Plus grande logique du rpertoire courant au dmarrage et en cours 
d'utilisation. 
 Support du masquage de Magic.
 Gestion du programme "xstrip.ttp", pour liminer les symboles de 
dbug des programmes crs par GCC.

Nouvelle version 2.15   16 novembre 1997
                                                                                                                                                                     
 Modification du Grep, il permet maintenant de rduire les 
possibilits pour chercher les variables globales ou la dfinition des 
procdures, pour une recherche plus efficace.
 Diverses modifications dans la librairie rendant le logiciel plus 
rapide  l'ouverture,  la fermeture et rduisant le fractionnement 
de la mmoire. 

Mise  jours 2.14a   13 septembre 1997
                                                                                                                                                                     
 Procdure de gestion STDIO (wprintf()) consolide, en effet avec de 
gros fichiers  crire elle pouvait dborder de son buffer, bug 
corrig.

Nouvelle version 2.14   7 septembre 1997
                                                                                                                                                                     
 Amlioration de la facilit de rglage du shell, gestion de quelques 
options de GCC.

Mise  jours version 2.13e   5 septembre 1997
                                                                                                                                                                    
 Plantages sur ST  la fermeture de fentres si il y en avait encore 
en dessous, pb rsolu.
 Petits problmes d'affichage aprs dtournement de la sortie standard 
console dans la fentre STDOUT

Mise  jours version 2.13.d 18 Aout 1997
                                                                                                                                                                   
 Remplacement de la plupart des boites de dialogues bloquantes par 
des boites d'outils (boites de dialogues non bloquantes)
 Finition du protocole VA_START pour -grep et -configure non 
implments jusque l.
 Elimination des messages de debuggage
 Gestion meilleur du curseur texte dans les champs ditables 
 Correction bug pouvant empcher l'utilisation de la palette d'outil 
drag drop dans certains cas.

Mise  jours version 2.13.c 10 Aout 1997
                                                                                                                                                                   
 Les plantages en VA_START sont rsolus
 shift + flche -> PgUp, Pgdown, PgLeft, PgRight pour les machines qui 
n'ont pas de clavier tendu. 

Mise  jours version 2.13.b 3 juillet 1997
                                                                                                                                                                   
 Erreur dans compilation des librairies, le drag drop n'tait plus 
valide dans la version prcdente

Mise  jours version 2.13.a 28 mai 1997
                                                                                                                                                                   
 Option fichier d'erreur _CONOUT.TXT peut tre envoy systmatiquement
vers l'diteur de texte, mais il vaut mieux prfrer l'option -z

Mise  jours version 2.13, 24 mai 1997
                                                                                                                                                                  
 Utilisation des programmes GNU : size68.ttp, fixstk.ttp, printstk.ttp
 Dtournement de la sortie STDERR.
 Vrification correcte si l'opration de link a t effectue avec 
succes.

Mise  jours version 2.12 Beta, 8 mai 1997
                                                                                                                                                                 
 Correction du dtournement du Conout, maintenant ca marche partout
 Correction d'un oublie de redessin d'une zone texte quand il n'y a 
rien a crire.
 Amlioration de la gestion de la config en cas de gros problme.

Mise  jours version 2.12 alpha, 22 avril 1997
                                                                                                                                                                   
 Ajout d'un protocole de gestion de GCCShell par VA_START.
 Dtournement de la sortie standard cran pour les systmes 
classiques.

Mise  jours version 2.11 alpha, 19 avril 1997
                                                                                                                                                                  
 Correction des niveaux de parenthse lors de la rencontre de la chaine
'//' qui provoquait la supposition que l'on tait en commentaires.
 Ajout pour aller  la ligne voulue et recharger un fichier  partir 
de la fentre texte.
 Transformation de la boite de dialogue de drag-drop en une palette 
d'outil volante.

Mise  jours version 2.10 alpha, 12 avril 1997 
                                                                                                                                                                   
 La visualisation des fichiers C est grandement amliore, 2 couleurs 
sont utilises pour diffrencier les niveaux de '{' !!! J'ai trouv ca 
nul part ailleur mais franchement quand le source s'allonge ce n'est 
pas du luxe.

Nouvelle version 2.00 alpha, 6 avril 1997
                                                                                                                                                                     
 Une option fast compile pour compiler de manire simple les petits 
programmes (ne ncessitant pas de link avec d'autres .O).
 Rglage partiel de la configuration possible par drag drop (systmes 
multitaches)
 Boite de dialogue pour drag drop des principales actions du shell.

Mise  jours version 1.03, 4 avril 1997 
                                                                                                                                                                     
 Petit bug de dplacement des boites de dialogue dplacs par leur 
fond corrig.
 Amlioration du redessin des fentres texte lors de la saisie des 
sliders.

Mise  jours version 1.02, 15 mars 1997                              
                                                                                                                                                                       
 Gestion simpliste pour simuler un "make all", tous les fichiers "*.O"
du rpertoire du Makefile sont effacs avant de lancer le make.

Mise  jours version 1.01, 1 mars 1997                                
                                                                                                                                                                       

 La version 1.00 ne savait pas grer correctement le programme Make, 
cette version rgle ce problme.
                                                                                                                                                                      
                     Olivier LANDEMARRE
                                                                                                                                                                      