2009-03-02 8 views
0

J'ai un processus de construction pour un grand système d'entreprise comprenant plusieurs dizaines d'EXE et de DLL séparés. Ceux-ci utilisent plusieurs langages, C, C++, Fortran, Python, Awk et quelques autres. Les scripts de build sont des traitements par lots 4DOS qui ont évolué pendant 4 décennies. Ils sont grands et lourds et ont besoin de soins et d'alimentation constants.Outils de construction multilingues

Je dois conserver les fichiers de solution et de projet Visual Studio en tant qu'entités de compilation/liaison de base. Quel est le meilleur outil pour emballer ces langues disparates toutes ensemble? 4DOS est très vieux et encombrant.

ÉDIT:

Merci gang. Je pense que je vais d'abord essayer SCONS parce que c'est Python. Nous avons beaucoup de gens qui connaissent bien Python pour pouvoir le mettre à jour et le maintenir. J'ai 61 ans maintenant et ça ne va pas me soutenir à long terme. Je n'aime pas tout ce qui nécessite JAVA ou XML car ce ne sont pas des langages déjà dans notre gamme de produits et nous en avons assez en jeu.

Ces billets de blog étaient bons. Il a conclu que SCONS était le meilleur mais simplement trop lent pour ses buts. Je ne cherche pas la vitesse dans les constructions nocturnes. Il a jusqu'à 7 heures du matin. Je veux la lisibilité et la maintenabilité.

Répondre

0

Ant est un bon choix. Je serais également tenté d'essayer Rake.

0

Je pense que le meilleur choix est NAnt et MSBulid

0

Ceux-ci peuvent être un peu un jour - les systèmes de construction pourraient avoir évolué un peu, mais cela vous donne devrait au moins une meilleure idée sur ce qu'il faut attendre:

Personnellement, je n'ai jamais eu besoin de quelque chose de spécial, qui n'a pas pu être réalisé avec les fichiers projet/solution VS, makefile et BATCH'es, donc je ne recommanderai rien de particulier.

0

Scons définitivement. Il joue naturellement avec fortran et C, et il est basé sur python donc il ne devrait pas avoir de problème avec celui-là non plus (jamais utilisé pour py si, donc ne peut pas dire d'expérience). En outre, beaucoup plus lisible que la majorité d'entre eux là-bas.

0

Je sais que Maven n'est pas connu pour se concentrer sur autre chose que Java, mais peut-être que cela vaut la peine d'être mentionné. Il y a eu quelques travaux pour activer au moins C/C++. Lorsque l'on compare avec Ant, il est branché de la même façon, mais il est déclaratif plutôt qu'impératif, avec une gestion des dépendances standardisée, et un référentiel de résultats de build qui peut même être distribué.

0

ANT + terp pour les portions C++. terp joue bien avec VisualStudio ainsi qu'avec de nombreux autres compilateurs C++ sur de nombreuses plateformes. Cependant, ANT nécessite Java, ne serait-ce que comme technologie d'hébergement. Je ne sais pas si c'est un non-non avec vos exigences ou si vous ne voulez pas commencer à écrire du code Java.