Retourner aux forums || Retourner au forum Programmation.c
Programmation.c : utilisation d'autoconf/automake
Posté par liparis () le 30 avril 2005Je 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.
> Lire le message (3 commentaires, moyenne: 2,3).
Utilise cmake
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.
.
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 liparis () le 02/05/2005 à 18:12. (lien). É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.
Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.c



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.