Question

J'écris ma propre bibliothèque de tests unitaires (à l'aide de autoconf, automake et libtool) pour mieux répondre à mes besoins (je n'ai pas besoin d'un très grand nombre de fonctionnalités, mais simplement d'un coureur de test et d'assertions). J'ai atteint le point où il semble être utilisable.

Bien sûr, il utilise un config.h pour déterminer les en-têtes à inclure. Le problème est que je ne suis pas sûr de savoir où config.h devrait aller car il aura tendance à se heurter facilement au config.h d’autres projets, ainsi qu’au fait qu’il dépend de l’architecture.

Quelle doit être ma méthode pour installer cet en-tête? (Il est nécessaire pour tous les autres en-têtes)

Était-ce utile?

La solution

La macro ax_prefix_config_h ressemble à ce que vous voulez. Il fournit un moyen de créer un autre fichier de type config.h contenant les informations config.h préfixées. Ainsi, par exemple, au lieu de #define HAVE_SOMETHING dans config.h, vous obtiendrez #define MYLIB_HAVE_SOMETHING dans mylib_config.h. Très pratique.

Autres conseils

De toute façon, vous ne devriez pas exporter config.h dans l'interface de votre bibliothèque.

Ce lien montre une méthode permettant de contourner ce problème si vos en-têtes installés sont réellement, vraiment besoin d'être dépendant de la plate-forme. C'est une méthode fragile qui utilise une macro autoconf obsolète.

Vous pouvez choisir de générer un fichier de configuration différent en modifiant la macro AC_OUTPUT, bien que je ne sache pas comment votre projet va s'intégrer à d'autres projets. Si c'est un sous-projet, alors ce sera quand même dans un sous-répertoire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top