Forum Programmation.c [autotools] recuperer la valeur de $prefix dans un programme apres un ./configure

Posté par  .
Étiquettes : aucune
0
6
mai
2009
bonjour,
J'aimerais recuperer la valeur du prefix d'autoconf dans mon main.c.
J'ai pensé recupérer cette valeur dans config.h en mettant
AC_DEFINE_UNQUOTED([TOTO], [$prefix], toto) dans mon configure.ac
mais voila ce que j'obtiens dans mon config.h après avoir fait un ./configure:

/* toto */
#define TOTO NONE

En revanche si je fais un ./configure -prefix=/abc j'obtiens bien

/* toto */
#define TOTO /abc

Je ne comprends pas pourquoi j'obtiens un NONE dans le 1er cas, $prefix n'est pas censé valoir /usr/local par defaut?
  • # -DPREFIX

    Posté par  (site web personnel) . Évalué à 1.

    Le plus simple est de passer le variable sur la ligne de commande de gcc. Dans Makefile.am, on peut faire ça avec la variable DEFS :

    DEFS = -DPREFIX=\";$(prefix)\";

    (en fait je n'ai jamais essayé avec prefix, il vaut mieux utiliser datadir, libdir, includedir ou autre selon l'utilisation).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.