55 votes

Alternatives à Autoconf et Autotools?

Je suis un utilisateur fréquent de la GNU Autotools (surtout Autoconf, à l'occasion de Libtool). Je travaille sur un projet où la portabilité va être un point d'achoppement.. Pourtant, le reste de l'équipe est tout simplement pas à l'aise de travailler avec m4. J'ai reçu ceci dans ma boîte de réception de non pas un, mais quatre personnes:

m4 is NOT lisp, dammit!

De toute façon, peut-être quelqu'un pourrait recommander quelque chose de Python ou PHP? Je suis en train de travailler sur la C la fin d'un grand arbre; je peux être sûr de Python ou PHP 5 seront présents, car ils sont des conditions préalables.

48voto

Artyom Points 17387

Je vais prendre la chance d'être downvoted mais, je dois avouer, que malheureusement, il n'existe aucun substitut réel pour les autotools. CMake, SCons, bjam sont sympa, mais, quand il s'agit d'un travail sérieux... il est assez clair que les autotools sont de qualité supérieure, non pas parce que CMake ne pouvez pas faire la même chose, mais parce qu'il est juste beaucoup plus difficile de le faire avec elle.

Par exemple, CMake, le plus populaire alternative pour les autotools, présente les inconvénients suivants:

  • Pas de support de gettext. Cela peut être un réel problème lorsque vous devez gérer beaucoup de traductions et traduit le code source.
  • Pas de support pour une désinstallation de la cible. Il est assez désagréable de savoir que vous ne pouvez pas désinstaller le programme que vous avez installé.
  • Pas de construction automatique de fois partagé et les bibliothèques statiques.
  • La Documentation est très limité et les mauvais.

Et ainsi de suite.

Il y a de nombreux autres points. Malheureusement, il n'y a pas de véritable haute qualité de substitut pour les autotools. D'autre part, si vous développer sur Windows et Visual Studio, vous ne pouvez pas utiliser les autotools, et vous devez choisir CMake qui fournit de tels outils.

39voto

Greg Hewgill Points 356191

J'ai eu un bon succès avec SCons. Il est construit avec Python et les scripts de construction sont en fait des scripts Python eux-mêmes, ce qui donne une grande puissance expressive. À partir du site web:

SCons est un logiciel Open Source de la construction de l'outil qui est, une nouvelle génération d'outils de construction. Pensez à SCons qu'une amélioration de la, croix-plate-forme de substitution classique, Make utilitaire intégré avec des fonctionnalités similaires à l' autoconf/automake compilateur et les caches comme ccache. En bref, SCons est plus facile, plus fiable et plus rapide pour construire un logiciel.

37voto

epatel Points 32451

J'ai entendu de bonnes choses à propos de CMake qui tente de résoudre les mêmes problèmes. Voici l'article de Wikipédia

19voto

Raim Points 2335

Il ya beaucoup de différentes autres Makefile générateurs et de construire des systèmes:

Également disponible, mais pas rigoureusement ciblée sur le C/C++:

  • Premake
  • Ant (pour Java)
  • Rake (Ruby)
  • (Certainement plus, je ne les connais pas tous...)

Mais après l'inscription de ces tous les, autotools, ont le grand avantage de ne pas nécessiter de toute autre dépendance pour l'utilisateur final. Un script de configuration est généré uniquement une fois par le développeur et ne nécessitent pas quelque chose de spécial sur l'utilisateur final, comme c'est un script shell. Les outils énumérés ci-dessus doivent être installés avant que n'importe qui peut construire votre source et de même qu'ils peuvent avoir des dépendances elles-mêmes.

15voto

hendry Points 2237

Pourquoi ne pas utiliser simplement Make et pkg-config ?

Voici un modèle de Makefile pour vous aider à démarrer.

Moins c'est plus de gens.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X