Aller au contenu

[RESOLU] compatibilite termcap


Mephisto

Messages recommandés

Bonjour

une nouvelle question pour vous:

je cherche a rendre un programme compatible sur plusieurs achi, mais j'ai besoin de rajouter des conditions dans mes define, pour quils ne sapliquent qu'a certaines archis..

bref, voila en gros tous les define sur la compatibilite:

#ifndef _COMPA_H_
# define _COMPA_H_

/* BSD */
#include <sys/ttycom.h>

/* SunOS
#include <stropts.h>
#include <sys/types.h>

#define TIOCGETA TCGETA
#define TIOCSETA TCSETA
#define termios termio
*/

/* Alpha
#include <stropts.h>
#include <sys/types.h>
*/

/* Linux
#define TIOCGETA TCGETA
#define TIOCSETA TCSETA
#define termios termio
*/

#endif

comme vous le voyez, a present, pour la compatibilite, je m'amuse a decommenter la partie du code correspondant a l'archi sur laquelle je me trouve, mais n'y a-t-il pas plus simple ? par exemple des define propres a l'archi qui me permettraient un #ifndef / #idefdef [lecode] #endif, ... ??? ou quoi que ce soit d'autre ?

merci pour votre aide ! :chinois:

Lien vers le commentaire
Partager sur d’autres sites

tu peux passer l'option -D à gcc pour définir une macro. gcc -D_ALPHA_ par exemple collera un #define _ALPHA_ 1 dans ton code.

C'est comme ça qu'on fait pour gérer plusieurs architectures.

plusieurs choix s'offre à toi : soit tu fait un makefile par archi (et tu appelles make -f makefile.alpha par exemple), soit tu fais un configure pour générer le makefile en fonction de l'archi. Dans ce cas autant se pencher sur les autotools qui gère ça tous seuls :transpi:

Lien vers le commentaire
Partager sur d’autres sites

mwe, mais j'ai fait autrement finalement, j'ai trouve beaucoup plus simple

de tete, ca donne:

#ifndef _COMPA_H_
# define _COMPA_H_

#include <curses.h>
#include <sys/types.h>

#ifndef TIOCGETA

# include <stropts.h>

# define TIOCGETA TCGETS
# define TIOCSETA TCSETS

#endif

#endif

bah we, en fait, pas la peine de jouer avec termios/termio pour la compatibilite, je me compliquais la vie pour rien.

enfin, le strops est assez moche (a la lecture, il a l'air d'appeler plein d'autres .h systeme, ..., c'est tout un bazard), si ca continue, je vais militer pour un recode complet, propre et optimise de la libC :francais:

merci pour ton aide en tout cas :francais:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...