私はGNU Autotools (ほとんどが Autoconf 、たまに Libtool ))を頻繁に使用しています。I移植性が問題になるプロジェクトに取り組んでいます。それでも、チームの他のメンバーは m4 での作業に慣れていません。私は this を得ました1人ではなく4人の受信トレイ:
とにかく、おそらく誰かが何かをお勧めするかもしれませんPythonまたはPHP based?私はより大きなツリーのC側で作業している;どちらかと確信できる= PythonまたはPHP 5が前提条件として存在します。
私は反対票を投じられる可能性がありますが、残念ながらautotoolsに代わるものは実際にはありません。 CMake、SCons、bjamは素晴らしいですが、深刻な作業になると、autotoolsが優れていることは明らかです。CMakeが同じことを行うことができないからではなく、それを行うのがはるかに難しいためです。 。
たとえば、autotoolsの最も一般的な代替手段であるCMakeには、次の欠点があります。
等々。
他にも多くのポイントがあります。残念ながら、autotoolsに代わる実際の高品質なものはありません。一方、Visual Studio用にWindows andで開発する場合、autotoolsを使用できず、そのようなツールを提供するCMakeを選択する必要があります。
SCons で大成功しました。これはPython=でビルドされており、ビルドスクリプトは実際にはPythonスクリプト自体であり、非常に表現力があります。Webサイトから:
SConsは、オープンソースソフトウェア構築ツール、つまり次世代のビルドツールです。 SConsは、
autoconf/automake
と同様の統合機能とMake
などのコンパイラキャッシュを備えた、従来のccache
ユーティリティの改良されたクロスプラットフォームの代替品と考えてください。つまり、SConsは、ソフトウェアを構築するためのより簡単で信頼性が高く、より高速な方法です。
さまざまな代替Makefileジェネレーターとビルドシステムがたくさんあります。
利用可能ですが、C/C++を厳密にターゲットとするものではありません。
しかし、これらすべてをリストした後、autotoolsには、エンドユーザーが他の依存関係を必要としないという大きな利点があります。構成スクリプトは、開発者によって1回だけ生成され、シェルスクリプトであるため、ユーザー側で特別なものを必要としません。上記のツールは、だれもがソースをビルドする前にインストールする必要があり、依存関係さえある場合があります。
もう1つのauto *置換- mk-configure 。ドキュメントはこちら こちら
私はCMakeを確認しましたが、クロスコンパイルしない限り、これは優れた代替手段のように見えます。あなたがネイティブコンパイルをしているなら、あなたはそれを試すべきです
python Mozillaで作成されているmakeのバージョン- pymake -があります。これはおそらくクロスプラットフォームでの使用をサポートしています。
ANTまたはmavenからC/C++ソフトウェアをビルドする場合、 terp に興味があるかもしれません。これには、多くのプラットフォーム上の多くのC++コンパイラで動作するポータブルC++コンパイラタスクが含まれています。