|
SConsはオープンソースのソフトウェアビルドツール。SConsは古典的な make ユーティリティの代替であり、さらにautotoolsの機能とccacheのようなコンパイラキャッシュ機能を統合している。それまでのツールと比較すると、使いやすく信頼性が高い。 == 概要 == * コンフィギュレーションファイルはPythonのスクリプトになっている。 * C、C++、FORTRAN のファイルの依存関係の自動分析機能が組み込まれている。make のように "make depend" や "make clean"〔多くの場合 "depend" や "clean" のターゲットは autotools が生成するか、ユーザーが自前で書く。make は単にそれを実行するツールである。〕 といったコマンドを追加しなくても全ての依存関係を得られる。他の言語やファイルタイプについては、ユーザーが依存関係スキャナを定義することで容易に拡張できる。autotoolsとは異なり、gccに組み込まれている依存関係分析機能は使っていない。代わりに、C/C++ のソースファイルに対しては "#include" をregexpスキャンする。したがってgccを使った場合、依存関係分析が遅くなるし(スキャンを余分に行っているため)、信頼性が低い(例えば、-DSOMETHING といったプリプロセッサ用フラグを無視することになるため)が、gcc以外のコンパイラでも同じ依存関係スキャンを行うという意味では移植性が高くなっている。 * C、C++、D、Java、FORTRAN、Objective-C、Yacc、Lex、Qt、SWIG を元からサポートしており、TeXとLaTeXによる文書作成もサポートしている。他の言語やファイルタイプについてもユーザー定義のビルダーでサポート可能である。 * SCCS、RCS、CVS、Subversion、BitKeeper、Perforce からソースファイルを取り出せる。 * Microsoft Visual Studio .NET および過去の Visual Studio をサポート(.dsp、.dsw、.sln、.vcproj ファイルを生成) * MD5シグネチャを使ってファイル内容の更新を検出する。一般的なタイムスタンプによる検出もサポートしており、どちらかを選択できる。 * 並列ビルドをサポートしており、ディレクトリ構成とは関係なく指定した個数のジョブを同時に実行できる。 * #include ファイル、ライブラリ、関数、typedef を探すというautoconfのような機能も組み込みでサポート。 * 全依存関係のグローバルビューがあり、複数回のビルドやターゲットの並べ替えが不要。 * 作成したファイルをキャッシュで共有でき、複数回のビルドが高速化できる。ccache に似ているが、C/C++ のコンパイルだけでなく、あらゆるターゲットファイルに対応している。 * クロスプラットフォームのビルド向けに設計されており、Linux、その他のPOSIXシステム(AIX、BSD系、HP-UX、IRIX、Solaris)、Windows NT系、Mac OS X、OS/2 で動作する。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「SCons」の詳細全文を読む スポンサード リンク
|