60

私は GNU Autotools (主にAutoconf、ときどきLibtool ) を頻繁に使用しています。私は、移植性が問題になるプロジェクトに取り組んでいます..しかし、チームの残りのメンバーは、m4での作業に慣れていません。1人ではなく 4 人から受信トレイにこれを受け取りました。

m4 は Lisp ではありません。

とにかく、おそらく誰かが Python または PHP ベースのものを推奨できますか? 私ははるかに大きなツリーの C エンドに取り組んでいます。前提条件であるため、Python または PHP 5 のいずれかが存在することは確実です。

4

9 に答える 9

56

私は反対票を投じられる可能性がありますが、残念ながらautotoolsに代わるものはないことを認めなければなりません. CMake、SCons、bjam は素晴らしいですが、本格的な作業になると... autotools が優れていることは明らかです。これは、CMake が同じことを実行できないからではなく、それを使用するのがはるかに難しいからです。 .

たとえば、autotools の最も一般的な代替手段である CMake には、次の欠点があります。

  • gettext はサポートされていません。多くの翻訳と翻訳されたソース コードを管理する必要がある場合、これは実際の問題になる可能性があります。
  • アンインストール ターゲットはサポートされていません。インストールしたプログラムをアンインストールできないことを知るのは非常に不快です。
  • 共有ライブラリと静的ライブラリの自動ビルドはありません
  • ドキュメントは非常に限られており、悪いです。

等々。

他にもたくさんのポイントがあります。残念ながら、autotools に代わる高品質のツールはありません。一方、Windows で Visual Studio 用に開発する場合は、autotoolsを使用できず、そのようなツールを提供する CMake を選択する必要があります。

于 2009-07-13T18:56:30.353 に答える
39

私はSConsでうまくいきました。これは Python でビルドされており、ビルド スクリプトは実際には Python スクリプト自体であり、これにより多くの表現力が得られます。Web サイトから:

SCons はオープン ソース ソフトウェア構築ツール、つまり次世代のビルド ツールです。SCons は、従来のMakeユーティリティの改善されたクロスプラットフォームの代替品であり、 と同様の機能が統合されてautoconf/automakeおり、ccache. つまり、SCons は、ソフトウェアを構築するためのより簡単で信頼性が高く、高速な方法です。

于 2009-03-01T18:53:42.190 に答える
39

同じ問題を解決しようとするCMakeについて良いことを聞いたことがあります。ウィキペディアの記事はこちら

于 2009-03-01T18:54:43.747 に答える
16

Makepkg-configを使用するのはどうですか?

これがあなたが始めるためのMakefileテンプレートです。

少ないほど多くの人がいます。

于 2009-10-11T17:01:41.770 に答える
4

もう 1 つの auto* 置換 - mk-configure。ドキュメントはここにあります

于 2011-09-27T12:27:57.273 に答える
3

クロスコンパイルしない限り、CMake は良い代替手段のように見えます。ネイティブ コンパイルを行っている場合は、ぜひお試しください

于 2009-03-01T19:17:23.973 に答える
1

Mozilla で作成されている make の Python バージョン ( pymake ) があり、おそらくクロスプラットフォームでの使用をサポートしています。

于 2009-03-01T19:33:39.473 に答える
1

ANT または maven から C/C++ ソフトウェアを構築する場合、terpに興味があるかもしれません。これには、多くのプラットフォーム上の多くの C++ コンパイラで動作する移植可能な C++ コンパイラ タスクが含まれています。

于 2009-07-13T18:47:11.560 に答える