π
<-

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

Programmation et implémentation d'algorithmes.

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

Unread postby 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: Select all
    {
      "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.
User avatar
s0r00tGénéreux
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 2%
 
Posts: 142
Joined: 28 Aug 2014, 13:24
Location: l10n
Gender: Not specified
Calculator(s):
MyCalcs profile
Twitter: s0r00t

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

Unread postby 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.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6873
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

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

Unread postby s0r00t » 21 Oct 2014, 21:31

Lionel Debroux wrote: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
User avatar
s0r00tGénéreux
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 2%
 
Posts: 142
Joined: 28 Aug 2014, 13:24
Location: l10n
Gender: Not specified
Calculator(s):
MyCalcs profile
Twitter: s0r00t

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

Unread postby 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)

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 80%
 
Posts: 14842
Images: 1133
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

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

Unread postby 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
User avatar
s0r00tGénéreux
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 2%
 
Posts: 142
Joined: 28 Aug 2014, 13:24
Location: l10n
Gender: Not specified
Calculator(s):
MyCalcs profile
Twitter: s0r00t

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

Unread postby Adriweb » 21 Oct 2014, 23:29

s0r00t wrote: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... :)

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 80%
 
Posts: 14842
Images: 1133
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

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

Unread postby s0r00t » 21 Oct 2014, 23:45

Adriweb wrote:
s0r00t wrote: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>").
User avatar
s0r00tGénéreux
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 2%
 
Posts: 142
Joined: 28 Aug 2014, 13:24
Location: l10n
Gender: Not specified
Calculator(s):
MyCalcs profile
Twitter: s0r00t

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

Unread postby 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

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 80%
 
Posts: 14842
Images: 1133
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

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

Unread postby 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.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6873
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl


Return to Programmation

Who is online

Users browsing this forum: ClaudeBot [spider] and 5 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
5303 utilisateurs:
>5245 invités
>50 membres
>8 robots
Record simultané (sur 6 mois):
8713 utilisateurs (le 10/07/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)