Forum Programmation.c utilisation d'autoconf/automake

Posté par  .
Étiquettes : aucune
0
30
avr.
2005
Bonjour,

Je voudrais utiliser automake et autoconf pour configurer un programme. Ce programme repose sur un ensemble de fichier installés à un endroit précis sur le disque (genre /usr/share/program/fichiers)

J'ai déjà réussi à faire en sorte qu'autoconf/make configure le tout pour que mes fichiers ailles dans $prefix/$datadir lors de l'installation. Je voudrais maintenant pouvoir récupérer la valeur de $prefix dans mon programme C (en l'écrivant dans le config.h, par exemple) pour pouvoir aller chercher mes fichiers lors de l'exécution.

Est-ce que quelqu'un a une idée pour faire ça ou m'expliquer ce qu'il faut faire si ce que je veux faire n'est pas bien.

Merci.
  • # Utilise cmake

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

    J'ai perdu tellement de temps avec autoconf/automake que je te suggere cmake (http://www.cmake.org ou sudo apt-get install cmake).
    La syntaxe est nettement plus claire et en plus tu gagnes en portabilite.

  • # .

    Posté par  . Évalué à 3.

    Tu peux définir une variable MACHIN correspondant au chemin que tu veux aux cflags que tu mets dans ton Makefile.am, un truc du genre -DMACHIN="$prefix" (je me vautre probablement sur les guillemets, faut peut être passer "\"$prefix\"" ou une variation de ce style)
    Sinon tu peux peut être le définir dans ton config.h à partir du configure.ac avec un AC_SUBST, mais je suis pas sûr à 100%
    Le mieux pour des trucs "basiques" comme ça, c'est de regarder un projet existant (je prends totem en général).
    • [^] # Re: .

      Posté par  . Évalué à 2.

      Merci.
      J'avais finalement trouvé la solution -DMACHIN="$prefix" en farfouillant. La solution AC_SUBST ne marche pas car les variables qui m'intéressent (prefix, datadir), ne sont pas interprétées lors de l'écriture du config.h ("It's a feature" d'après le quide d'autuconf).

      Pour ce que ça intéresse, la solution est expliquée dans la faq du guide d'autoconf 2.59.

Suivre le flux des commentaires

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