Jump to content

Archived

This topic is now archived and is closed to further replies.

Mephisto

[RESOLU] compatibilite termcap

Recommended Posts

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:

Share this post


Link to post
Share on other 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:

Share this post


Link to post
Share on other 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:

Share this post


Link to post
Share on other sites

×
×
  • Create New...