π
<-
Chat plein-écran
[^]

[GCC4TI] Compiler ses scripts (sous Linux) avec Atom

Programmation et implémentation d'algorithmes.

[GCC4TI] Compiler ses scripts (sous Linux) avec Atom

Message non lude s0r00t » 21 Oct 2014, 20:08

Salut,

Suite à l'abandon de KTIGCC, j'ai cherché une alternative multi langages. Je me suis donc tourné vers Atom ([url]atom.io[/url]), l'alternative open-source de Sublime Text dirigée par GitHub, avec une intégration de GCC4TI. Il existe un paquet nommé "build" qui permet, en utilisant le raccourci Ctrl+Alt+B, de lancer un script de build défini. Après une heure de configuration, j'ai réussi à compiler un script C directement depuis Atom. Voici la démarche à suivre (valable aussi pour Windows) :

Sous Windows, il faudra changer le contenu du fichier .atom-build.json afin qu'il corresponde à la version de GCC4TI installée; de plus je ne suis pas sûr que la variable d'environnement TIGCC existe sous Windows.


  1. Compilez et installez GCC4TI (https://github.com/debrouxl/gcc4ti) et Atom (https://github.com/atom/atom/releases).
  2. Dans Atom, installez le paquet build.
  3. Ouvrez votre dossier de compilation (vous devrez l'ouvir à chaque fois que vous voulez compiler).
    Vous pouvez définir votre dossier comme dossier par défaut dans les options d'Atom.
  4. Créez un fichier .atom-build.json à l'intérieur contenant ceci :
    Code: Tout sélectionner
    {
      "cmd" : "/usr/local/share/gcc4ti/bin/tigcc",
      "args": ["-q","-Wall","-W","-Wwrite-strings","-Os","-fomit-frame-pointer","-mregparm=5","{FILE_ACTIVE}"],
      "sh"  : false,
      "cwd" : "{FILE_ACTIVE_PATH}",
      "env" : {"TIGCC": "/usr/local/share/gcc4ti"}
    }

    Il est conseillé de changer les arguments dans l'array args, de manière à ce que tous les fichiers soient compilés avec des options convenables d'optimisation et surtout des options de librairie (-DSAVE_SCREEN, -DMIN_AMS=..., etc.) cohérentes.
  5. Profitez-en !

Pour tout problème/toute question, n'hésitez pas à me contacter ;)

PS : Si cela vous intéresse, j'ai aussi une config pour l'asm z80, mais bien plus complexe à mettre en place.
Avatar de l’utilisateur
s0r00tGénéreux
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 2%
 
Messages: 142
Inscription: 28 Aoû 2014, 13:24
Localisation: l10n
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Twitter/X: s0r00t

Re: [GCC4TI] Compiler ses scripts (sous Linux) avec Atom

Message non lude Lionel Debroux » 21 Oct 2014, 20:57

Bien :)

Il est même absolument indispensable de changer les arguments dans l'array args.
Il faut mettre des warnings supplémentaires (minimum -Wall -W -Wwrite-strings), des options d'optimisation (-Os/-O2/-O3 -fomit-frame-pointer -mregparm=5 et bien d'autres), sans oublier le gros paquet de define en ligne de commande pour les options du projet (-D...), de préférence les mêmes pour tous les fichiers du "projet", sinon le comportement du code généré peut être totalement incorrect.
On peut intégrer l'outil tigcc dans un script de build (c'est ce que font un certain nombre d'outils de TICT) ou à un Makefile.

de plus je ne suis pas sûr que la variable d'environnement TIGCC existe sous Windows.

Flemme de retrouver et booter une VM Windows contenant GCC4TI pour vérifier après installation, mais a priori non. L'installeur définit une clé dans la registry et enregistre le répertoire d'installation dans le PATH, mais ne définit pas de variable d'environnement TIGCC; l'IDE utilise cette clé; tprbuilder cherche tigcc.exe dans le PATH.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: [GCC4TI] Compiler ses scripts (sous Linux) avec Atom

Message non lude s0r00t » 21 Oct 2014, 21:31

Lionel Debroux a écrit:Il faut mettre des warnings supplémentaires (minimum -Wall -W -Wwrite-strings), des options d'optimisation (-Os/-O2/-O3 -fomit-frame-pointer -mregparm=5 et bien d'autres), sans oublier le gros paquet de define en ligne de commande pour les options du projet (-D...), de préférence les mêmes pour tous les fichiers du "projet", sinon le comportement du code généré peut être totalement incorrect.


J'ai pas eu le courage de lire la doc de GCC4TI en entier, je laisse le choix à l'utilisateur de modifier le JSON :D
Avatar de l’utilisateur
s0r00tGénéreux
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 2%
 
Messages: 142
Inscription: 28 Aoû 2014, 13:24
Localisation: l10n
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Twitter/X: s0r00t

Re: [GCC4TI] Compiler ses scripts (sous Linux) avec Atom

Message non lude Adriweb » 21 Oct 2014, 21:52

Sympa petit tutorial :)

(J'ai amélioré un petit peu la mise en page avec des bbcodes plus appropriés, je te laisse voir :P)
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14616
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: [GCC4TI] Compiler ses scripts (sous Linux) avec Atom

Message non lude s0r00t » 21 Oct 2014, 21:54

Oui j'ai vu, vachement plus classe :D
Je pourrais faire le même pour l'asm z80, mais c'est Linux-only et vachement plus complexe (faut compiler SPASM et WabbitSign; créer un script bash) :S
Avatar de l’utilisateur
s0r00tGénéreux
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 2%
 
Messages: 142
Inscription: 28 Aoû 2014, 13:24
Localisation: l10n
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Twitter/X: s0r00t

Re: [GCC4TI] Compiler ses scripts (sous Linux) avec Atom

Message non lude Adriweb » 21 Oct 2014, 23:29

s0r00t a écrit:vachement plus complexe (faut compiler SPASM et WabbitSign; créer un script bash) :S

Et donc, la partie complexe, elle est où ? :D

Mais bon, je suis sérieux - Si on se met à programmer en bas-niveau, je doute qu'on ait peur d'un terminal et/ou d'un script... :)
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14616
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: [GCC4TI] Compiler ses scripts (sous Linux) avec Atom

Message non lude s0r00t » 21 Oct 2014, 23:45

Adriweb a écrit:
s0r00t a écrit:vachement plus complexe (faut compiler SPASM et WabbitSign; créer un script bash) :S

Et donc, la partie complexe, elle est où ? :D

Mais bon, je suis sérieux - Si on se met à programmer en bas-niveau, je doute qu'on ait peur d'un terminal et/ou d'un script... :)


1- J'ai dû trouver la bonne version de SPASM. (moyen)
2- J'ai dû fixer les dépendances cassées de SPASM. (moyen)
3- J'ai dû trouver la bonne version de WabbitSign et la compiler. (facile)
4- J'ai dû écrire le script bash d'automatisation ET le JSON. (dur)

Eh oui, écrire le JSON pour le paquet build est énervant, les erreurs retournées ne contiennent rien d'intéressant ("Error executing <programme>").
Avatar de l’utilisateur
s0r00tGénéreux
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 2%
 
Messages: 142
Inscription: 28 Aoû 2014, 13:24
Localisation: l10n
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Twitter/X: s0r00t

Re: [GCC4TI] Compiler ses scripts (sous Linux) avec Atom

Message non lude Adriweb » 21 Oct 2014, 23:51

Ah mais je voulais dire, une fois que tout est trouvé, donc pour l'utilisateur final qui n'a plus qu'à suivre un tutorial :p
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14616
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: [GCC4TI] Compiler ses scripts (sous Linux) avec Atom

Message non lude Lionel Debroux » 22 Oct 2014, 06:11

J'ai édité le premier post pour les options de compilation.

Pour un aperçu des options de compilation optimisées, voir https://github.com/debrouxl/ExtGraph/bl ... orial.html . Il y a beaucoup de possibilités, qui gagnent parfois beaucoup, mais les options par défaut doivent rester relativement génériques. Même -mregparm=5 peut poser des problèmes avec les plus vieilles librairies qui ne gèrent pas autre chose que le passage d'arguments par la pile - mais ces problèmes-là sont facilement détectables ^^
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl


Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 14 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1043 utilisateurs:
>994 invités
>45 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)