J'ai un projet qui utilise les autotools GNU pour se construire. J'essaie de modifier pour que les outils automatiques génèrent tous les fichiers de contrôle non versionnés dans un répertoire séparé afin que je puisse garder l'arborescence source propre des fichiers temporaires. Quelqu'un a des idées sur la façon de procéder?
10
Réponses:
Le paquet autotools contient beaucoup de chemins relatifs et de noms codés en dur pour une bonne raison. Votre meilleure option est de résumer la sortie et les marquer comme ignorés dans votre contrôle de révision, par exemple dans
.cvsignore
,.hgignore
ousvn:ignore
attibute. Certains RCS vous permettent même de spécifier récursivement des caractères génériques.la source
Solution: créer une version hors source
Exemple avec vérification automatisée
Par exemple, cela va chercher et construire GNU bonjour et vérifier que l'arborescence source n'est pas modifiée un tout petit peu.
Préparation de l'arbre source
Cette partie récupère et prépare les répertoires.
Partie générique: réutilisez cela dans votre projet
Cette partie peut être utilisée avec d'autres projets basés sur l'autoconf. Insérez simplement votre projet dans votre projet avant de l'exécuter. Attention: cela fonctionne
rm
, si vous jouez avec des variantes soyez prudent, vous êtes en tout cas responsable.Vérifier la pièce
Cela vérifie si la construction est parfaitement hors source.
Ici, il génère ceci:
Bonus: installation non root
La
--prefix="${MYPREFIX?}"
partie ci-dessus est facultative. Il permet de faire un "make install" local sur votre compte. Si vous souhaitez que "sudo make install" soit installé sur l'ensemble du système, vous pouvez le supprimer--prefix="${MYPREFIX?}"
.la source