Forum Programmation.autre autotools project to Cmake project

Posté par  .
Étiquettes : aucune
0
15
juil.
2008
Bonjour,

Voilà, j'aimerai travailler sur le source de postgresql. C’est la première fois que je travaille sur un source aussi important.

Le système de compilation utilisé par le projet postgresql est GNU build system.

La compilation marche bien, mais comme je dois porter des modifications aux source (des ajouts principalement) et debugger le code. J’aimerai être capable d'adapter les scripts de compilation. Après une lecture des fichiers, configure et GNUmakefile j'ai l'impression que c'est une vraie usine à gaz.

c'est un peu naturel, je ne suis pas un connaisseur de la suite autoconfig-automate, etc.

À défaut de trouver un plug-in capable de prendre en charge des projets de type autotools sous eclipse-CDT (si vous en connaissaient je suis preneur) qui puisse me simplifier un peu la tâche, j'aimerai convertir le projet en cmake project.

Dans ma recherche je suis tombé sur am2cmake. Mais je ne sais pas trop comment l'utiliser.

Dois je l'exécuter dans chaque sou répertoire ou bien juste dans la racine du projet ?

Existe-t-il un autre utilitaire ou script pour cette conversion ?

Merci d'avance.
  • # Mauvaise démarche.

    Posté par  . Évalué à 6.

    Lorsque tu abordes un projet de cette taille, il ne faut pas commencer par tout casser en changeant le système de build.
    Il est beaucoup plus facile de prendre le temps de le faire fonctionner comme ses concepteurs l'ont prévu.
    Si tu veux savoir comment ajouter des fichiers à compiler, tu as au moins deux méthodes :
    - Lire de la doc sur les autotools
    - Trouver comment a été géré un tel ajout dans l'historique des sources de postgresql.
    • [^] # Re: mauvaise démarche.

      Posté par  . Évalué à 1.

      Merci pour ta réponse Barnabé.

      Ton titre (mauvaise méthode) affiche déjà la couleur :-). Le problème est que le make est dispatché en une centaine de make (1 par répertoire) et comme il y' a bcp d'inclusion j'ai essayé de lire afin de comprendre un peu, mais je me suis très vite mêlé les pinceaux. De plus, le fichier configure est le top de la complexité pour moi. Rien que le script configure est un programme à lui tout seul digne de ce nom.

      Apparemment tu as l'air de quelqu'un qui sait de quoi il parle. Je vais donc m'efforcer de suivre la voie que tu me recommandes.
      • [^] # Re: mauvaise démarche.

        Posté par  . Évalué à 4.

        Si tu sais à quelle partie du code tu veux rajouter des fonctionnalités, tu sauras assez vite dans quels repertoires tu devras ajouter des fichiers.

        Les Makefiles dans les sous-repertoires sont assez simples, rajouter le .o correspndant à ton .c dans la variable OBJS devrait suffire.

        Il reste la gestion des dépendances externes, si tu en ajoutes, tu devras passer par l'édition de configure.in, et la regénération de configure, c'est à dire l'utilisation des autotools.

        Bon courage.

Suivre le flux des commentaires

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