英語フランス語スペイン語

OnWorksファビコン

scons - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して、OnWorks の無料ホスティング プロバイダーで scon を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド scons です。

プログラム:

NAME


scons - ソフトウェア構築ツール

SYNOPSIS


軽蔑的 [オプション...] [名前=val...] [ターゲット...]

DESCRIPTION


この 軽蔑的 ユーティリティは、どのコンポーネント部分を決定することによってソフトウェア (または他のファイル) を構築します
を再構築し、再構築に必要なコマンドを実行する必要があります。

デフォルトでは、 軽蔑的 という名前のファイルを検索します S構築, 構築するまたは 構築する (その中で
order) を現在のディレクトリに配置し、最初に見つかったファイルからその構成を読み取ります。 アン
代替ファイル名は、 -f オプションを選択します。

この S構築 ファイルは、を使用して補助構成ファイルを指定できます。 S徴兵()
関数。 慣例により、これらの補助ファイルには次のような名前が付けられます。 S徴兵、どんな名前でも
使用される場合があります。 (この命名規則のため、「SConscript ファイル」という用語は、
すべてを総称して指すのに使用される 軽蔑的 実際のファイルとは関係なく、設定ファイル
名前。)

構成ファイルは、ビルドするターゲット ファイルと (オプションで) ルールを指定します。
それらのターゲットを構築します。 一般的なソフトウェアを構築するための合理的なデフォルト ルールが存在します
コンポーネント (実行可能プログラム、オブジェクト ファイル、ライブラリ) なので、ほとんどのソフトウェアで
プロジェクトの場合は、ターゲット ファイルと入力ファイルのみを指定する必要があります。

を読む前に、 S構築 ファイル、 軽蔑的 という名前のディレクトリを探します サイトスコン in
さまざまなシステム ディレクトリ (以下を参照) と、 S構築 ファイル;
存在する各ディレクトリに対して、 サイトスコン ファイルの sys.path の先頭に追加されます
site_scons/site_init.py、存在する場合は評価され、ディレクトリは
site_scons/site_tools デフォルトのツールパスが存在する場合、その先頭に追加されます。 を参照してください。
--no-site-dir--サイトディレクトリ 詳細については、オプションを参照してください。

軽蔑的 SConscript ファイルを Python スクリプトとして読み取って実行するため、通常のスクリプトを使用できます。
Python スクリプト機能 (フロー制御、データ操作、インポートなど)
Python ライブラリ) を使用して、複雑なビルド状況を処理します。 軽蔑的ただし、読み取りと
すべての SConscript ファイルを実行します ターゲットの構築が始まります。 これを作るには
明らか、 軽蔑的 実行内容に関する次のメッセージを出力します。

$ scons foo.out
scons: SConscript ファイルを読み取り中 ...
scons: SConscript ファイルの読み取りが完了しました。
scons: ターゲットを構築しています ...
cp foo.in foo.out
scons: ターゲットの構築が完了しました。
$

ステータス メッセージ (「cp foo.in foo.out」という行を除くすべて) は次のようになります。
を使用して抑制されました -Q オプションを選択します。

軽蔑的 実行に使用される外部環境を自動的に伝播しません。 軽蔑的 〜へ
ターゲット ファイルのビルドに使用されるコマンド。 これはビルドが保証されるようにするためです
その時点で設定された環境変数に関係なく反復可能 軽蔑的 が呼び出されます。 これ
これは、コンパイラやその他のコマンドをビルドに使用する場合にも意味します。
ターゲット ファイルは標準のシステムの場所にありません。 軽蔑的 あなたがいない限りそれらは見つかりません
これらの場所を含むように PATH を明示的に設定します。 を作成するたびに、 軽蔑的
構築環境では、外部から PATH の値を伝播できます。
次のような環境:

輸入OS
env = 環境(ENV = {'PATH' : os.environ['PATH']})

同様に、コマンドが $PATH、$HOME、などの外部環境変数を使用する場合、
$JAVA_HOME、$LANG、$SHELL、$TERM など、これらの変数は明示的に伝播することもできます。

輸入OS
env = 環境(ENV = {'PATH' : os.environ['PATH'],
'ホーム' : os.environ['ホーム']})

または、呼び出し元のユーザーの完全な外部環境を明示的に伝播することもできます。

輸入OS
env = 環境(ENV = os.environ)

これには、ビルドがユーザーの環境に依存するという代償が伴います。
正しく設定されていますが、多くの構成ではこの方が便利な場合があります。

軽蔑的 既知の入力ファイルを自動的にスキャンして依存関係情報を取得できます (たとえば、
C または C++ ファイル内の #include ステートメント)、依存ファイルを適切に再構築します。
「含まれている」入力ファイルが変更されるたびに。 軽蔑的 新しいものを定義する機能をサポートします
不明な入力ファイル タイプのスキャナー。

軽蔑的 SCCS を使用して SCCS または RCS サブディレクトリからファイルを自動的にフェッチする方法を知っている、
RCS または BitKeeper。

軽蔑的 通常、このコマンドは、 S構築 ファイル、
オプションで、ビルドするターゲット ファイルをコマンド ライン引数として指定します。

デフォルトでは、コマンド

軽蔑的

現在のディレクトリ以下にすべてのターゲット ファイルをビルドします。 明示的なデフォルトのターゲット
(コマンドラインでターゲットが指定されていない場合にビルドされます) を定義できます。
を使用した SConscript ファイル デフォルト() 関数については後述します。

ときでさえ デフォルト() ターゲットは SConscript ファイルで指定されており、すべてのターゲット ファイルは
現在のディレクトリ以下は、現在のディレクトリを明示的に指定することで構築できます。
(.) コマンドラインターゲットとして:

スコス。

現在のディレクトリ外のファイルを含むすべてのターゲット ファイルをビルドすると、
ルート ディレクトリ (POSIX システムの場合) のコマンドライン ターゲットを指定することで指定します。

スコンス /

または、すべてのターゲットを構築するボリュームのパス名 (Windows の場合)
システム):

scons C:\ D:\

特定のターゲットのみをビルドするには、それらをコマンドライン引数として指定します。

スコンズフーバー

この場合、指定されたターゲットのみが (派生ファイルとともに) ビルドされます。
それは彼ら次第です)。

通常、SConscript ファイルで「クリーンアップ」ターゲットを指定する必要はありません。 の -c フラグ
指定されたターゲットをビルドするために必要なすべてのファイルを削除します。

scons -c 。

すべてのターゲット ファイルを削除するには、次の手順を実行します。

scons -c ビルドエクスポート

ビルドおよびエクスポート中のターゲット ファイルを削除します。 削除する追加のファイルまたはディレクトリ
を使用して指定できます 綺麗() 関数。 逆に、通常であればターゲットとなるのは、
によって削除されました -c 呼び出しが削除されるのを防ぐには、 ノークリーン()
機能。

階層ツリーのサブセットは、最上位ディレクトリに留まることで構築できます。
(どこ S構築 ファイルは存在します)、サブディレクトリをターゲットとして指定します。
構築:

scons src/サブディレクトリ

または、ディレクトリを変更して scons を呼び出します。 -u オプション。
ディレクトリ階層が見つかるまで、 S構築 ファイルを作成し、ターゲットを相対的にビルドします
現在のサブディレクトリへ:

cd src/サブディレクトリ
scons -u 。

軽蔑的 を介して複数のターゲットを並行して構築することをサポートします。 -j を受け入れるオプション
引数、生成される可能性のある同時タスクの数:

scons -j 4

たとえば、XNUMX つのターゲットを並行してビルドします。

軽蔑的 複数間で共有できるターゲット (派生) ファイルのキャッシュを維持できます。
構築します。 SConscript ファイルでキャッシュが有効になっている場合、SConscript ファイルでビルドされたターゲット ファイルはすべて、 軽蔑的 意志
キャッシュにコピーされます。 最新のターゲット ファイルがキャッシュ内に見つかった場合は、
ローカルで再構築されるのではなく、キャッシュから取得されます。 キャッシュ動作は次のとおりである可能性があります
によって無効化され、他の方法で制御されます。 --キャッシュフォース, --キャッシュ無効化,
--キャッシュ-読み取り専用, --キャッシュショー コマンドラインオプション。 の - ランダム オプションは次の場合に便利です
複数のビルドが同時にキャッシュを更新しようとするのを防ぎます。

SConscript ファイルに渡される変数の値はコマンドで指定できます。
ライン:

scons デバッグ = 1 。

これらの変数は、ARGUMENTS ディクショナリを通じて SConscript ファイルで利用できます。
SConscript ファイルで使用して、ビルドを任意の方法で変更できます。

if ARGUMENTS.get('debug', 0):
env = 環境(CCFLAGS = '-g')
その他:
env = 環境()

コマンドライン変数の引数は、ARGLIST リストでも使用できます。
コマンドラインでの順序。 これにより、順番ではなく順番に処理できるようになります。
必要に応じて名前を入力します。 ARGLIST[0] は、(argname, argvalue) を含むタプルを返します。 ニシキヘビ
存在しないリスト メンバーにアクセスしようとすると、例外がスローされます。

軽蔑的 Python バージョン 2.7 以降が必要です。 他に依存関係があってはなりません。
実行するための要件 スコン。

デフォルトでは、 軽蔑的 さまざまなシステムで利用可能なプログラミング ツールを検索する方法を知っています。
Windows システムでは、 軽蔑的 Microsoft Visual C++ ツール、MinGW を順番に検索します。
ツール チェーン、Intel コンパイラー ツール、および PharLap ETS コンパイラー。 OS/2 システムでは、 軽蔑的
OS/2 コンパイラ、GCC ツール チェーン、および Microsoft Visual C++ を順番に検索します。
ツール、SGI IRIX、IBM AIX、Hewlett Packard HP-UX、および Sun Solaris システムの場合、 軽蔑的
ネイティブ コンパイラ ツール (MIPSpro、Visual Age、aCC、および Forte ツール) を検索します。
それぞれ) と GCC ツール チェーン。 POSIX (Linux および
UNIX) プラットフォーム、 軽蔑的 GCC ツール チェーン、Microsoft Visual C++ を順に検索します。
ツール、およびインテル コンパイラー ツール。 もちろん、これらのデフォルト値をオーバーライドすることもできます。
環境構築変数の適切な構成。

OPTIONS


一般に、 軽蔑的 GNU と同じコマンドライン オプションをサポートします make、そしてそれらの多くは
による支援 短所.

-b
の非 GNU バージョンとの互換性のために無視されます。 作る。

-c、--clean、--remove
構築コマンドを指定した対象ファイルをすべて削除してクリーンアップします。
また、構築コマンドに関連付けられたファイルまたはディレクトリもすべて削除します。
石斑魚() 関数。 によって指定されたターゲットは削除されません ノークリーン() 関数。

--キャッシュデバッグ=file
に関するデバッグ情報を出力します。 キャッシュディレクトリ() 指定されたファイルへの派生ファイルのキャッシュ
file。 場合 file is - (ハイフン)、デバッグ情報は標準に出力されます。
出力。 出力されるメッセージには、どの署名ファイル名が検索されているかが記載されています。
にある、そこから取得される、またはそこに書き込まれる キャッシュディレクトリ() ディレクトリツリー。

--キャッシュ無効、--キャッシュなし
で指定された派生ファイルのキャッシュを無効にします。 キャッシュディレクトリ()。 軽蔑的 どちらも取得しません
キャッシュからファイルを削除したり、キャッシュにファイルをコピーしたりできます。

--cache-force、--cache-populate
使用時 キャッシュディレクトリ()、既存の最新のキャッシュをコピーしてキャッシュを作成します。
この呼び出しによって構築されたファイルに加えて、派生ファイルもキャッシュに保存されます。 これは
現在のすべての派生ファイルを新しいキャッシュに追加したり、
キャッシュを無効にして最近構築された派生ファイルをキャッシュします。 --キャッシュ無効化
オプションを選択します。

--キャッシュ-読み取り専用
キャッシュ (有効な場合) を読み取りに使用しますが、変更された内容でキャッシュを更新しないでください。
ファイル。

--キャッシュショー
使用時 キャッシュディレクトリ() を実行し、キャッシュから派生ファイルを取得するには、次のコマンドを表示します。
通常のレポートの代わりにファイルを構築するために実行されるはずです。
「キャッシュから「ファイル」を取得しました。」 これにより、ビルド ログの一貫した出力が生成されます。
ターゲット ファイルが再構築されたかキャッシュから取得されたかは関係ありません。

--config =モード
これは、 構成 呼び出しでは、次の結果を使用または生成する必要があります。
構成テスト。 オプションは以下の中から指定します。

--config=自動
scons は、通常の依存関係メカニズムを使用して、テストを再構築する必要があるかどうかを決定します。
いいえ。 これにより、呼び出すたびに同じ構成テストを実行することがなくなり、時間を節約できます。
scons ですが、システム ヘッダー ファイルや外部コマンド (
コンパイラ)、これらの依存関係を明示的に指定しない場合。 これがデフォルトです
行動。

--config=強制
このオプションを指定すると、すべての構成テストが再実行されます。
キャッシュされた結果が古いかどうか。 これを使用して、明示的に強制することができます。
構成テストは、構成されていない変更に応じて更新されます。
システム ヘッダー ファイルまたはコンパイラ。

--config=キャッシュ
このオプションを指定すると、構成テストは再実行されず、すべての結果が再実行されます。
キャッシュから取得されます。 --config=cache の場合でも、scons はそれをエラーとみなすことに注意してください。
が指定されていますが、必要なテストの結果がまだキャッシュにありません。

-C ディレクトリにジョブを開始します。、--ディレクトリ=ディレクトリにジョブを開始します。
指定されたものに変更します ディレクトリにジョブを開始します。 を探す前に、 S構築, 構築するまたは
構築する ファイルを作成したり、他のことをしたりします。 多数 -C オプションは相対的に解釈されます
前の項目と一番右の項目へ -C オプションが勝ちます。 (このオプションはほぼ
に相当 -f ディレクトリ/SConstructを検索することを除いて、 S構築,
構築するまたは 構築する 指定されたディレクトリ内にあります。)

-D
とまったく同じように機能します -u デフォルトのターゲットの方法を除くオプション
扱った。 このオプションが使用され、コマンドラインでターゲットが指定されていない場合、
現在のディレクトリの下にあるかどうかに関係なく、デフォルトのターゲットはすべてビルドされます。

--debug =type
ビルドプロセスをデバッグします。 タイプ[,タイプ...] デバッグの種類を指定します。 多数
タイプをカンマで区切って指定できます。 次のタイプが有効です。

--debug=カウント
SCons によって内部的に使用されるさまざまなクラスから作成されたオブジェクトの数を出力します。
SConscript ファイルを読み取る前と後、およびターゲットを構築する前と後。
SCons が Python で実行される場合、これはサポートされません。 -O (最適化された) オプションまたは
SCons モジュールが最適化されてコンパイルされたとき (つまり、
from *.pyo ファイル)。

--debug=重複
バリアント ファイルのソース ファイルからのリンク解除/再リンク (またはコピー) ごとに XNUMX 行出力します。
古いバリアント ファイルのリンクを解除するためのデバッグ情報と、古いバリアント ファイルのリンクを解除するためのデバッグ情報が含まれます。
ターゲットを構築する前に。

--debug=dtree
新しいものの代名詞 --tree=派生 オプション。 これは将来廃止される予定です
解放され、最終的には削除されます。

--debug=説明する
正確な理由の説明を出力する 軽蔑的 ターゲットを (再) 構築することを決定しています。
(注: これは、次のターゲットに対しては何も出力しません。 再建されました。)

--debug=findlibs
ライブラリを検索するスキャナに、各ライブラリに関するメッセージを出力するように指示します。
検索している潜在的なライブラリ名と、検索された実際のライブラリについて。

--debug=含まれます
各最上位ターゲットが構築された後、インクルード ツリーを出力します。 これは一般的に次のように使用されます
特定の派生ファイルのソースにどのようなファイルが含まれているかを確認します。

$ scons --debug=foo.o が含まれます

--debug=メモイザー
内部サブシステムである Memoizer を使用して、ヒットとミスの概要を出力します。
SCons がメモリ内のキャッシュされた値を毎回再計算する代わりに使用する頻度をカウントします。
彼らが必要とされる時間。

--debug=メモリ
SConscript ファイルの読み取り前後に SCCon が使用したメモリ量を出力します。
ターゲットを構築する前と後。

--debug=nomemoizer
下位互換性のために保存されている非推奨のオプション。

--debug=オブジェクト
SCons によって内部的に使用されるさまざまなクラスのさまざまなオブジェクトのリストを出力します。

--debug=pdb
pdb Python デバッガーの制御下で SCons を再実行します。

--debug=準備
ターゲット (内部または外部) がビルド用に準備されるたびに XNUMX 行出力します。
軽蔑的 ターゲットが最新であっても、考慮するターゲットごとにこれを出力します (「
--debug=explain も)。 これは、実行されていないターゲットの問題をデバッグするのに役立ちます。
建てられた。 それはかどうかを示します 軽蔑的 少なくともそれらを考慮しているかどうかは不明です。

--debug=presub
構築前に各ターゲットの構築に使用された生のコマンド ラインを出力します。
環境変数が置き換えられます。 また、どのターゲットがビルドされているかも表示されます。
このコマンド。 出力は次のようになります。

$ scons --debug=presub
アクションを使用して myprog.o をビルドします。
$SHCC $SHCFLAGS $SHCCFLAGS $CPPFLAGS $_CPPINCFLAGS -c -o $TARGET $SOURCES
...

--debug=スタックトレース
説明のつかないエラーが発生した場合に、内部 Python スタック トレースを出力します。
エラー。

--debug=ストリート
新しいものの代名詞 --tree=すべて、ステータス オプション。 これは一部で廃止される予定です
将来リリースされ、最終的には削除されます。

--debug=時間
さまざまな時間プロファイリング情報 (各個人の実行にかかった時間) を出力します。
ビルドコマンド; 合計ビルド時間 (SCons が最初から最後まで実行された時間)。 合計
SConscript ファイルの読み取りと実行に費やされる時間。 SCons自体にかかった合計時間
実行に費やします (つまり、SConscript ファイルの読み取りと実行はカウントしません)。 そして両方とも
すべてのビルド コマンドの実行にかかった合計時間と経過時間
これらのビルド コマンドの実行に費やされました。 (いつ 軽蔑的 なしで実行されます -j オプション、
経過時間は通常、合計時間よりわずかに長くなります。
実行される SCons 処理により、すべてのビルド コマンドの実行に時間がかかります
各コマンドの実行の間に。 いつ 軽蔑的 実行されます     -j オプションとあなたの
ビルド構成により適切な並列化が可能になり、経過実時間は次のようになります。
すべてのビルド コマンドの実行に費やされる合計時間よりも大幅に短くなります。
複数のビルド コマンドとその間にある SCons 処理が実行される必要があるため、
平行。)

--debug=ツリー
新しいものの代名詞 --tree=すべて オプション。 これは将来廃止される予定です
解放され、最終的には削除されます。

--diskcheck=
SCons が保存されているディスク上にファイルがあるかどうかの特定のチェックを有効にします。
設定ではディレクトリ (またはその逆)、および RCS か SCCS が必要です。
ソース ファイルとインクルード ファイルを検索すると、ソースが存在します。 の 引数は
に設定: 、すべてのチェックを明示的に有効にします (デフォルトの動作)。 なし、無効にします
そのようなすべてのチェック。 match 、ディスク上のファイルとディレクトリが SCons と一致することを確認します。
予想される構成。 RCS、任意の RCS ソースの存在を確認します。
ソースファイルまたはインクルードファイルが欠落しています。 scc、SCCS ソースの存在を確認します。
不足しているソースまたはインクルード ファイルについては、 複数のチェックを次のように区切って指定できます。
カンマ; 例えば、 --diskcheck=sccs,rcs SCCS および RCS ソースを引き続きチェックします。
ただし、ディスク上のファイルとディレクトリの一致のチェックは無効にします。 一部を無効にするか、
これらのチェックはすべて、大規模な構成のパフォーマンスを向上させることができます。
構成では、ネットワークまたは共有上のファイルやディレクトリがチェックされます。
ファイル システムの場合、ビルドが正しくない、または処理されないリスクがわずかに増加します。
エラーは正常に処理されます (インクルード ファイルが実際に SCCS または RCS で見つかる必要がある場合、
たとえば、SCons 構成が期待する場所にファイルが実際に存在するかどうか。
ディレクトリ)。

--重複=注文
ビルド ツリー内のファイルを複製するには、ハード リンク、ソフト (シンボリック) の XNUMX つの方法があります。
リンクとコピー。 SCons のデフォルトの動作では、ソフト リンクよりもハード リンクが優先されます。
コピーに。 このオプションを使用すると、さまざまな動作を指定できます。 注文 XNUMXつでなければなりません
of ハードソフトコピー (デフォルト)、 ソフトハードコピー, ハードコピー, ソフトコピー or copy。 SCコン
は、指定された順序でメカニズムを使用してファイルを複製しようとします。

-f file、-file =file、 --makefile=file、 --sconstruct=file
  file 初期 SConscript ファイルとして。 多数 -f オプションを指定できます。
どの場合 軽蔑的 指定されたすべてのファイルを読み取ります。

-h、-help
SConscript で定義されている場合、このビルドのローカル ヘルプ メッセージを出力します。
ファイルと、その内容を説明する行 -H コマンドラインオプションのヘルプのオプション。 いいえの場合
ローカル ヘルプ メッセージが定義されており、コマンドラインに関する標準のヘルプ メッセージが出力されます。
オプション。 適切なメッセージを表示した後に終了します。

-H、--ヘルプオプション
コマンドライン オプションに関する標準のヘルプ メッセージを出力して終了します。

-i、--ignore-errors
ファイルを再構築するために実行されたコマンドからのエラーをすべて無視します。

-I ディレクトリにジョブを開始します。、 --include-dir=ディレクトリにジョブを開始します。
指定します ディレクトリにジョブを開始します。 インポートされた Python モジュールを検索します。 複数の場合 -I オプションは
使用すると、ディレクトリは指定された順序で検索されます。

--暗黙的キャッシュ
暗黙的な依存関係をキャッシュします。 これは〜をひき起こす 軽蔑的 暗黙的 (スキャン) を使用するには
ファイルをスキャンして暗黙的に依存関係を確認するのではなく、最後に実行したときの依存関係を確認します。
依存関係。 これにより、SCons を大幅に高速化できますが、次のようになります。
制限:

軽蔑的 暗黙的な依存関係検索パスへの変更は検出されません (例: CPPPATH, ライブラリパス)
これにより、通常、同じ名前のファイルの異なるバージョンが使用されることになります。

軽蔑的 新しい暗黙的な依存関係が存在する場合、暗黙的な依存関係の変更が見逃されます。
依存関係は、暗黙的な依存関係検索パスの前半に追加されます (例: CPPPATH,
ライブラリパス) 同じ名前の現在の暗黙的な依存関係よりも。

--implicit-deps-changed
SCons にキャッシュされた暗黙的な依存関係を強制的に無視させます。 これにより、暗黙的に
依存関係を再スキャンして再キャッシュする必要があります。 これはつまり、 --暗黙的キャッシュ.

--implicit-deps-unchanged
SCons が暗黙的な依存関係の変更を無視するように強制します。 これによりキャッシュが発生します
暗黙的な依存関係は常に使用されます。 これはつまり、 --暗黙的キャッシュ.

- 相互の作用
SCons を対話モードで開始します。 SConscript ファイルは一度読み取られ、 悪い人>>>
プロンプトが出力されます。 対話型プロンプトでコマンドを入力することでターゲットを再構築できるようになりました
SConscript ファイルを再読み込みしたり、依存関係グラフを再初期化したりする必要はありません。
ゼロから。

SCons 対話モードでは、次のコマンドがサポートされています。

ビルド[オプション] 【ターゲット】 ...
指定されたものを構築します ターゲット 指定された SCons を使用した (およびその依存関係)
コマンドライン OPTIONS. b軽蔑的 は同義語です。

次の SCons コマンドライン オプションは、 ビルド コマンド:

--cache-debug=ファイル
--キャッシュ無効、--キャッシュなし
--cache-force、--cache-populate
--キャッシュ-読み取り専用
--キャッシュショー
--debug=タイプ
-i、--ignore-errors
-j N、--jobs=N
-k、--続けます
-n、--no-exec、--just-print、--dry-run、--recon
-Q
-s、--サイレント、--クワイエット
--taskmastertrace=ファイル
--tree=オプション

他の SCons コマンド ライン オプションを指定しても、エラーは発生しませんが、
に影響はありません ビルド コマンド (主に、SConscript ファイルの処理方法に影響するため)
が読み取られますが、これは対話モードの開始時に XNUMX 回だけ行われます)。

[オプション] 【ターゲット】 ...
指定されたものをクリーンアップします ターゲット (およびその依存関係) を指定されたオプションで実行します。
c は同義語です。 このコマンド自体は以下の同義語です。 ビルド - 掃除

終了する
SCons 対話モードを終了します。 入力を終了して終了することもできます (CTRL+D の場合)。
UNIX または Linux システム、Windows システムでは CTRL+Z)。

助けます[指図]
SCons 対話モードで使用できるコマンドに関するヘルプ メッセージを提供します。 もしも
COMMAND 指定されている、 h? は同義語です。

shell[コマンドライン]
指定されたものを実行します コマンドライン サブシェル内。 いいえの場合 コマンドライン 指定されている、
で指定された対話型コマンドインタープリタを実行します。 SHELL 環境
変数 (UNIX および Linux システムの場合) または コンスペック 環境変数 (オン
Windows システム)。 sh! は同義語です。

バージョン
SCons のバージョン情報を出力します。

空行は最後に入力したコマンドを繰り返します。 コマンドライン編集は、次の場合に使用できます。
読み込まれた行 モジュールが利用可能です。

$ scons --インタラクティブ
scons: SConscript ファイルを読み取り中 ...
scons: SConscript ファイルの読み取りが完了しました。
scons>>> build -n prog
scons>>> 終了

-j N、 --ジョブ=N
同時に実行するジョブ (コマンド) の数を指定します。 以上がある場合
XNUMXつ -j オプションの場合、最後のものが有効です。

-k、--続けます
エラー後も可能な限り続行してください。 失敗したターゲットと失敗したターゲット
依存関係は再作成されませんが、コマンドラインで指定された他のターゲットは再作成されます。
まだ処理中です。

-m
の非 GNU バージョンとの互換性のために無視されます。 make.

--max-ドリフト=SECONDS
ファイル変更時間の予想される最大ドリフトを次のように設定します。 SECONDS。 この
この値は、コンテンツがキャッシュされるまでファイルを変更しない期間を決定します。
新しいコンテンツ署名 (MD5 チェックサム) を計算する代わりに署名が使用されます。
ファイルの内容の。 デフォルト値は 2 日です。つまり、ファイルには
コンテンツをキャッシュするには、少なくとも XNUMX 日前の変更時刻が必要です
使用された署名。 負の値は、コンテンツ署名を決してキャッシュしないことを意味します。
キャッシュされた値がすでに存在する場合は無視します。 値 0 は、常に使用することを意味します。
ファイルの古さに関係なく、キャッシュされた署名。

--md5-chunksize=キロバイト
MD5 署名の計算に使用されるブロック サイズを次のように設定します。 キロバイト。 この値によって決まります
MD5 署名を計算するときに一度に読み込まれるチャンクのサイズ。 ファイル
それ以下のサイズは、署名の計算を実行する前にメモリに完全に保存されます。
一方、より大きなファイルはブロックごとに読み取られます。 ブロックサイズが大きいとメモリが多くなる
ブロック サイズが非常に小さいため、ビルドが大幅に遅くなります。

デフォルト値では 64 キロバイトのチャンク サイズが使用されますが、これは適切な値です。
ほとんどの用途に。

-n、--just-print、--dry-run、--recon
実行はありません。 古いターゲットをビルドするために実行されるコマンドを出力します。
ファイルは保存されますが、コマンドは実行されません。

--no-site-dir
標準の自動追加を防止します サイトスコン に向けて システムパス。 また
の読み込みを妨げます site_scons/site_init.py モジュールが存在する場合はそれを阻止し、
彼らの追加 site_scons/site_tools ツールパスへのディレクトリ。

--profile =file
Python プロファイラーで SCons を実行し、結果を指定された場所に保存します。 fileを選択します。
結果は、Python pstats モジュールを使用して分析できます。

-q、--質問
コマンドを実行したり、何も出力したりしないでください。 次の場合は、終了ステータス XNUMX を返すだけです。
指定されたターゲットはすでに最新であり、それ以外の場合はゼロ以外です。

-Q
SConscript ファイルの読み取り、ターゲットの構築、および
ディレクトリに入る。 ターゲット ファイルを再構築するために実行されるコマンドは、引き続き実行されます。
印刷されます。

- ランダム
依存関係をランダムな順序で構築します。 これは複数のツリーを構築する場合に便利です
同時にキャッシュを有効にして、複数のビルドが同時に行われないようにします。
同じターゲット ファイルをビルドまたは取得しようとしています。

-s、--サイレント、--クワイエット
静けさ。 ターゲット ファイルを再構築するために実行されるコマンドを出力しません。 また
SCons ステータス メッセージを抑制します。

-S、--継続しない、--停止
GNU との互換性のために無視されます make.

--サイトディレクトリ=DIR
デフォルトではなく、指定されたディレクトリをサイト ディレクトリとして使用します。 サイトスコン 先生たち。 このディレクトリ
の前に追加されます システムパス、モジュール DIR/site_init.py は次の場合にロードされます。
存在し、 DIR/site_tools はデフォルトのツールパスに追加されます。

デフォルトのセットは、 サイトスコン ときに使用されるディレクトリ --サイトディレクトリ は指定されていません
システムプラットフォームは次のとおりです。 ディレクトリは次の順序で検査されることに注意してください。
最も一般的なものから最も具体的なものまで、最後に実行された site_init.py ファイルは次のようになります。
最も具体的なもの (他のすべてをオーバーライドする機会を与えます)、および
dir はパスの先頭に追加されるため、調べられた最後のディレクトリがパスの最初に来ます。
結果のパス。

Windows:

%ALLUSERSPROFILE/アプリケーション データ/scons/site_scons
%USERPROFILE%/ローカル設定/アプリケーション データ/scons/site_scons
%APPDATA%/scons/site_scons
%HOME%/.scons/site_scons
./site_scons

Mac OS Xの場合:

/ライブラリ/アプリケーション サポート/SCons/site_scons
/opt/local/share/scons/site_scons (MacPorts の場合)
/sw/share/scons/site_scons (Fink 用)
$HOME/ライブラリ/アプリケーション サポート/SCons/site_scons
$HOME/.scons/site_scons
./site_scons

Solaris:

/opt/sfw/scons/site_scons
/usr/share/scons/site_scons
$HOME/.scons/site_scons
./site_scons

Linux、HPUX、およびその他の Posix 系システム:

/usr/share/scons/site_scons
$HOME/.scons/site_scons
./site_scons

--スタックサイズ=キロバイト
スレッドの実行に使用されるスタックのサイズを設定します。 キロバイト。 この値によりスタックが決まります
ジョブの実行に使用されるスレッドのサイズ。 これらはアクションを実行するスレッドです
古いノードのビルダーの数。 このオプションには何もないことに注意してください。
しない限り効果はありません ジョブ数 -j および --jobs に対応するオプションは、
一。 小さすぎるスタック サイズを使用すると、スタック オーバーフロー エラーが発生する可能性があります。 これ
通常、セグメンテーション違反として表示され、ビルド前に scon が中止されます。
なんでも。 大きすぎるスタック サイズを使用すると、scon がより多くのメモリを使用することになります。
必要以上に動作し、ビルド プロセス全体が遅くなる可能性があります。

デフォルト値は 256 キロバイトのスタック サイズを使用することですが、これは適切な値です。
ほとんどの用途に。 スタックが発生しない限り、この値を増やす必要はありません。
オーバーフローエラー。

-t、--タッチ
GNU との互換性のために無視されます make。 (ファイルをタッチすると、最新の状態に表示されます
使用する場合は不要です 軽蔑的.)

--taskmastertrace=file
トレース情報を指定された場所に出力します。 file 内部タスクマスターの仕組みについて
オブジェクトは、ノードが構築される順序を評価および制御します。 ファイル名は - かもしれません
標準出力を指定するために使用されます。

-木=オプション
各トップレベルのターゲットが構築された後、依存関係のツリーを出力します。 これは印刷します
ツリーの一部またはすべてを、状況に応じてさまざまな形式で出力します。 オプション 指定:

--tree=すべて
各トップレベルのターゲットが構築された後、依存関係ツリー全体を出力します。 これは印刷されます
暗黙的な依存関係と無視された依存関係を含む、完全な依存関係ツリー
依存関係。

--tree=派生
ツリー出力をソース ファイルではなく、派生 (ターゲット) ファイルのみに制限します。

--tree=ステータス
表示されている各ノードのステータス情報を出力します。

--tree=プルーン
すでに存在するノードの依存関係情報の繰り返しを避けるためにツリーを枝刈りします。
表示されました。 すでに表示されているノードには、その名前が表示されます。
[四角 括弧]、そのノードの依存関係が見つかったことを示します。
ツリーの上位にある関連する出力を検索します。

複数のオプションをカンマで区切って指定できます。

# 派生ファイルのみをステータス情報とともに出力します。
scons --tree=派生、ステータス

# ターゲットのすべての依存関係をステータス情報とともに出力します
# および既にアクセスしたノードの依存関係をプルーニングします。
scons --tree=all、プルーン、ステータスターゲット

-u、--up、--search-up
ディレクトリ構造をたどって、 S構築 , 構築する or 構築する file
が見つかり、それをディレクトリ ツリーの最上位として使用します。 ターゲットが指定されていない場合
コマンドラインでは、現在のディレクトリ以下のターゲットのみが構築されます。

-U
とまったく同じように機能します -u デフォルトのターゲットの方法を除くオプション
扱った。 このオプションが使用され、コマンドラインでターゲットが指定されていない場合、
現在のディレクトリの SConscript で定義されているデフォルトのターゲットはすべて、
結果のターゲットがどのディレクトリに置かれるかに関係なく、ビルドされます。

-v、-version
印刷する 軽蔑的 バージョン、著作権情報、作成者のリスト、その他
関連情報。 その後、退出してください。

-w、--print-directory
他の処理の前後に、作業ディレクトリを含むメッセージを出力します。

--no-print-ディレクトリ
-w が暗黙的にオンになっている場合でも、オフにします。

--警告=type、--警告=いいえ-type
警告を有効または無効にします。 type 有効にする警告のタイプを指定するか、
無効:

--warn=すべて、--warn=no-all
すべての警告を有効または無効にします。

--warn=キャッシュ書き込みエラー、--warn=キャッシュ書き込みエラーなし
ビルドされたファイルのコピーをファイルに書き込もうとするエラーに関する警告を有効または無効にします。
指定の キャッシュディレクトリ()。 これらの警告はデフォルトでは無効になっています。

--warn=破損 sconsign、--warn=破損 sconsign なし
未知の署名データに関する警告を有効または無効にします。 .sconsign ファイル。 これらは
警告はデフォルトで有効になっています。

--warn=依存関係、--warn=依存関係なし
依存関係に関する警告を有効または無効にします。 これらの警告は次の方法で無効にされます。
デフォルト。

--warn=非推奨、--warn=非推奨なし
現在非推奨の機能の使用に関するすべての警告を有効または無効にします。 これらは
警告はデフォルトで有効になっています。 注意してください。 --warn=no-非推奨 オプションはありません
絶対にすべての非推奨の機能に関する警告を無効にします。 一部の人への警告
すでにいくつかのリリースで非推奨となっている非推奨の機能
正式に廃止される前に、XNUMX つまたは XNUMX つのリリースでは警告が必須になる可能性があります
SConsによってサポートされています。 一部の特定の非推奨機能に関する警告が有効になっている場合や、
個別に無効化されます。 下記参照。

--warn=非推奨のコピー、--warn=非推奨のコピーなし
非推奨の使用に関する警告を有効または無効にします。 env.Copy() 方法。

--warn=非推奨のソース署名、 --warn=非推奨のソース署名なし
非推奨の使用に関する警告を有効または無効にします。 ソース署名()
機能または env.SourceSignatures() 方法。

--warn=非推奨のターゲット署名、 --warn=非推奨のターゲット署名なし
非推奨の使用に関する警告を有効または無効にします。 ターゲット署名()
機能または env.TargetSignatures() 方法。

--warn=重複環境、--warn=重複環境なし
XNUMX つのターゲットのビルドを指定しようとする試みに関する警告を有効または無効にします。
同じアクションを使用する異なるコンストラクション環境。 これらの警告は、
デフォルトで有効になっています。

--warn=fortran-cxx-mix、--warn=no-fortran-cxx-mix
Fortran および C++ オブジェクト ファイルのリンクに関する特定の警告を有効または無効にします。
単一の実行可能ファイルであり、一部のコンパイラでは予期しない動作が発生する可能性があります。

--warn=将来非推奨、--warn=将来非推奨なし
将来廃止される予定の機能に関する警告を有効または無効にします。
これらの警告はデフォルトでは無効になっています。 この警告を有効にすることは特に重要です
他のユーザー向けに SCons 構成を再配布するプロジェクトに推奨されます。
非推奨になることについてプロジェクトにできるだけ早く警告できるようにビルドします。
構成の変更が必要になる可能性のある機能。

--warn=リンク、--warn=リンクなし
リンクステップに関する警告を有効または無効にします。

--warn=誤解を招くキーワード、--warn=誤解を招くキーワードなし
スペルミスのキーワードの使用に関する警告を有効または無効にします。 ターゲットソース
ビルダーを呼び出すとき。 (最後に注意してください s 文字、正しいスペルは次のとおりです。 ターゲット
ソース。) これらの警告はデフォルトで有効になっています。

--warn=欠落した sconscript、--warn=欠落した sconscript なし
SConscript ファイルの欠落に関する警告を有効または無効にします。 これらの警告は、
デフォルトで有効になっています。

--warn=no-md5-module、--warn=no-no-md5-module
MD5 チェックサムを持たない Python のバージョンに関する警告を有効または無効にします。
モジュールが利用可能です。 これらの警告はデフォルトで有効になっています。

--warn=メタクラスサポートなし、--warn=メタクラスサポートなし
メタクラスをサポートしていない Python のバージョンに関する警告を有効または無効にします。
--debug=メモイザー オプションが使用されます。 これらの警告はデフォルトで有効になっています。

--warn=オブジェクト数なし、--warn=オブジェクト数なし
に関する警告を有効または無効にします。 --debug=オブジェクト 機能が動作しない場合 軽蔑的
Pythonで実行されます -O オプションまたは最適化された Python (.pyo) モジュールから。

--warn=並列サポートなし、--warn=並列サポートなし
Python のバージョンがサポートできないことに関する警告を有効または無効にします。
並列ビルドの場合、 -j オプションが使用されます。 これらの警告はデフォルトで有効になっています。

--warn=Python バージョン、--warn=Python バージョンなし
非推奨バージョンの SCons を実行することに関する警告を有効または無効にします。
パイソン。 これらの警告はデフォルトで有効になっています。

--warn=予約変数、--warn=予約変数なし
予約された構築変数を設定しようとする試みに関する警告を有効または無効にします。
CHANGED_SOURCES, CHANGED_TARGETS, TARGET, ターゲット, SOURCE, SOURCES,
UNCHANGED_SOURCES or UNCHANGED_TARGETS。 これらの警告はデフォルトでは無効になっています。

--warn=スタックサイズ、--warn=スタックサイズなし
設定できないスタック サイズの設定リクエストに関する警告を有効または無効にします。
光栄です。 これらの警告はデフォルトで有効になっています。

--warn=target_not_build、--warn=no-target_not_built
ビルドルールが期待したターゲットをビルドしないことに関する警告を有効または無効にします。
これらの警告は現在、デフォルトでは有効になっていません。

-Y 倉庫、--リポジトリ=倉庫、--srcdir=倉庫
指定されたリポジトリで、ローカルに見つからない入力ファイルとターゲット ファイルを検索します。
ディレクトリ階層。 多数 -Y オプションを指定することもできます。その場合、
リポジトリは指定された順序で検索されます。

CONFIGURATION FILE REFERENCE


建設業 環境
コンストラクション環境は、SConscript ファイルが通信するための基本的な手段です。
情報を構築する 軽蔑的。 新しい構築環境は、
環境 関数:

env = 環境()

変数と呼ばれる 建設 variables、コンストラクション環境で設定できます。
オブジェクトの作成時にキーワードとして指定するか、値を割り当てます。
オブジェクトが作成された後:

env = 環境(FOO = 'foo')
env['BAR'] = 'バー'

便宜上、構築変数は、 parse_flags
キーワード引数。 解析フラグ メソッド (後述) を引数に渡す
他のすべての処理が完了した後の値。 これは、内容が正確である場合に役立ちます。
フラグの数が不明であるか (たとえば、制御ファイルから読み取られたか)、またはフラグが
多数の構築変数に分散されます。

env = 環境(parse_flags = '-Iinclude -DEBUG -lm')

この例では、「include」を追加します CPPPATH、「EBUG」に CPPDEFINES、そして「m」に LIBS(レーザー誘起分光法).

デフォルトでは、新しいコンストラクション環境は一連のビルダー メソッドを使用して初期化されます。
現在のプラットフォームに適した構築変数。 オプションの
platform キーワード引数は、環境を初期化する必要があることを指定するために使用できます。
別のプラットフォームの場合:

env = 環境(プラットフォーム = 'cygwin')
env = 環境(プラットフォーム = 'os2')
env = 環境(プラットフォーム = 'posix')
env = 環境(プラットフォーム = 'win32')

プラットフォームを指定すると、適切な構築変数が初期化されます。
に適切なプレフィックスとサフィックスを持つファイル名を使用および生成する環境
プラットフォームを提供します。

なお、 win32 プラットフォームが追加する システムドライブシステムルート ユーザーの変数
外部環境から建設環境まで ENV 辞書。 これは、
ソケットを使用して他のシステムに接続する実行されたコマンド (ソースのフェッチなど)
外部 CVS リポジトリ仕様からのファイル
:pサーバー:[メール保護]:/cvsroot/scons) Windows システム上で動作します。

platform 引数は関数または呼び出し可能なオブジェクトの場合があり、その場合、Environment()
メソッドは、指定された引数を呼び出して、新しい構築環境を更新します。

def my_platform(env):
env['VAR'] = 'xyzzy'

env = 環境(プラットフォーム = my_platform)

さらに、環境を初期化するための特定のツール セットは、
オプションのキーワード引数として指定します。

env = 環境(ツール = ['msvc', 'lex'])

非組み込みツールは、toolpath 引数を使用して指定できます。

env = 環境(ツール = ['default', 'foo'], ツールパス = ['tools'])

これは tools/foo.py でツール仕様を検索します (通常のデフォルトも使用します)。
プラットフォーム用のツール)。 foo.py には、generate(env, **kw) と XNUMX つの関数が必要です。
存在します(環境)。 の 生成() 関数は、渡された環境を変更してセットアップします
ツールを実行できるように変数を追加します。 ユーザーが指定したキーワード引数を使用できます。
初期化を変更するには、(以下を参照) を供給します。 の 存在する() 関数はを返す必要があります
ツールが使用可能な場合は true 値。 ツールパス内のツールは、次のいずれかの操作の前に使用されます。
内蔵のもの。 たとえば、ツールパスに gcc.py を追加すると、組み込みの gcc がオーバーライドされます。
道具。 また、ツールパスは、後の呼び出しで使用するために環境に保存されることにも注意してください。
クローン()および ツール() メソッド:

Base = 環境(ツールパス=['custom_path'])
派生 = Base.Clone(tools=['custom_tool'])
派生.CustomBuilder()

ツール リストの要素は、関数または呼び出し可能なオブジェクトである場合もあります。その場合は、
Environment() メソッドは、指定された要素を呼び出して新しい構造を更新します。
環境:

def my_tool(env):
env['XYZZY'] = 'xyzzy'

env = 環境(tools = [my_tool])

ツール リストの個々の要素自体が、
形 (ツール名, kw_dict)。 SCons が検索するのは、 ツール名 説明どおりの仕様ファイル
上を通過します kw_dictツールのキーワード引数として、辞書である必要があります。
生成する 関数。 ザ 生成する 関数は引数を使用してツールの変更を行うことができます。
さまざまな方法で環境をセットアップするか、環境を変更することによる動作
初期化。

# tools/my_tool.py 内:
def 生成(env, **kw):
# MY_TOOL をキーワード引数 'arg1' の値または 1 に設定します。
env['MY_TOOL'] = kw.get('arg1', '1')
デフォルトが存在します(環境):
1を返す

# SConstruct 内:
env = 環境(ツール = ['default', ('my_tool', {'arg1': 'abc'})],
ツールパス=['ツール'])

ツール定義 (つまり、my_tool()) は、環境からの PLATFORM 変数を使用できます。
さまざまなプラットフォームに合わせてツールをカスタマイズできます。

ツール リストが指定されていない場合、SCons は、
ENV 構築変数の PATH 変数と環境設定時のプラットフォーム名
構築されています。 環境の構築後に PATH 変数を変更しても、
ツールが再検出される原因となります。

SCons は、すぐに使用できる次のツール仕様をサポートしています。

386asm
Phar Lap ETS 組み込み用の 386ASM アセンブラの構築変数を設定します
オペレーティング·システム。

セット: $AS, $ASCOM, $ASFLAGS, $ASPPCOM, $ASPPFLAGS.

用途: $CC, $CPPFLAGS, $_CPPDEFFLAGS, $_CPPINCFLAGS.

aixc++
IMB xlc / Visual Age C++ コンパイラーの構築変数を設定します。

セット: $CXX, $CXXVERSION, $SHCXX, $SHOBJSUFFIX.

aixcc
IBM xlc / Visual Age C コンパイラーの構築変数を設定します。

セット: $CC, $CCVERSION, $SHCC.

aixf77
IBM Visual Age f77 Fortran コンパイラーの構築変数を設定します。

セット: $77, $SHF77.

エクスリンク
IBM Visual Age リンカーの構築変数を設定します。

セット: $LINKFLAGS, $SHLIBSUFFIX, $SHLINKFLAGS.

アップルリンク
Apple リンカーの構築変数を設定します (GNU リンカーと同様)。

セット: $FRAMEWORKPATHPREFIX, $LDMODULECOM, $LDMODULEFLAGS, $LDMODULEPREFIX,
$LDMODULESUFFIX, $リンクコム, $SHLINKCOM, $SHLINKFLAGS, $_FRAMEWORKPATH, $_FRAMEWORKS.

用途: $FRAMEWORKSFLAGS.

ar
ar ライブラリ アーカイバの構築変数を設定します。

セット: $ AR, $アルコム, $ARFLAGS, $LIBPREFIX, $LIBSUFFIX, $RANLIB, $RANLIBCOM,
$RANLIBFLAGS.

as
as アセンブラの構築変数を設定します。

セット: $AS, $ASCOM, $ASFLAGS, $ASPPCOM, $ASPPFLAGS.

用途: $CC, $CPPFLAGS, $_CPPDEFFLAGS, $_CPPINCFLAGS.

bcc32
bcc32 コンパイラの構築変数を設定します。

セット: $CC, $CCCOM, $CCFLAGS, $CFILESUFFIX, $CFLAGS, $CPPDEFPREFIX, $CPPDEFSUFFIX,
$INCPREFIX, $INCSUFFIX, $SHCC, $SHCCCOM, $SHCCFLAGS, $SHCFLAGS, $SHOBJSUFFIX.

用途: $_CPPDEFFLAGS, $_CPPINCFLAGS.

BitKeeper
BitKeeper ソース コード管理システムの構築変数を設定します。

セット: $ビットキーパー, $BITKEEPERCOM, $BITKEEPERGET, $BITKEEPERGETFLAGS.

用途: $BITKEEPERCOMSTR.

cc
汎用 POSIX C コマイラの構築変数を設定します。

セット: $CC, $CCCOM, $CCFLAGS, $CFILESUFFIX, $CFLAGS, $CPPDEFPREFIX, $CPPDEFSUFFIX,
$フレームワークパス, $フレームワーク, $INCPREFIX, $INCSUFFIX, $SHCC, $SHCCCOM, $SHCCFLAGS,
$SHCFLAGS, $SHOBJSUFFIX.

用途: $プラットフォーム.

履歴書
Compaq Visual Fortran コンパイラの構築変数を設定します。

セット: $FORTRAN, $フォートランコム, $FORTRANMODDIR, $FORTRANMODDIRPREFIX,
$FORTRANMODDIRSUFFIX, $FOTRAPPCOM, $OBJSUFFIX, $SHFORTRANCOM, $SHFOTRANPCOM.

用途: $CPPFLAGS, $フォートランフラッグス, $SHFORTRANFLAGS, $_CPPDEFFLAGS, $_FORTRANINCFLAGS,
$_FORTRANMODFLAG.

CVS
CVS ソース コード管理システムの構築変数を設定します。

セット: $ CVS, $CVSCOFLAGS, $CVSCOM, $CVSFLAGS.

用途: $CVSCOMSTR.

cXX
汎用 POSIX C++ コンパイラの構築変数を設定します。

セット: $CPPDEFPREFIX, $CPPDEFSUFFIX, $CXX, $CXXCOM, $CXXFILESUFFIX, $CXXFLAGS,
$INCPREFIX, $INCSUFFIX, $OBJSUFFIX, $SHCXX, $SHCXXCOM, $SHCXXFLAGS, $SHOBJSUFFIX.

用途: $CXXCOMSTR.

シグリンク
cygwin リンカー/ローダーの構築変数を設定します。

セット: $IMPLIBPREFIX, $IMPLIBSUFFIX, $LDMODULEVERSIONFLAGS, $LINKFLAGS, $RPATHPREFIX,
$RPATHSUFFIX, $SHLIBPREFIX, $SHLIBSUFFIX, $SHLIBVERSIONFLAGS, $SHLINKCOM,
$SHLINKFLAGS, $_LDMODULEVERSIONFLAGS, $_SHLIBVERSIONFLAGS.

デフォルト
プラットフォームのツール モジュールのデフォルト リストを呼び出して変数を設定します。
SCons が実行されています。

DMD
D 言語コンパイラ DMD の構築変数を設定します。

セット: $DC, $DCOM, $DDBUG, $DDBUGPREFIX, $DDBUGSUFFIX, $DFILESUFFIX, $DFLAGPREFIX,
$DFLAGS, $DFLAGSUFFIX, $DINCPREFIX, $DINCSUFFIX, $DLIB, $DLIBCOM, $DLIBDIRPREFIX,
$DLIBDIRSUFFIX, $DLIBFLAGPREFIX, $DLIBFLAGSUFFIX, $DLIBLINKPREFIX, $DLIBLINKSUFFIX,
$DLINK, $DLINKCOM, $DLINKFLAGS, $DPATH, $DVERPREFIX, $DVERSIONS, $DVERSUFFIX,
$RPATHPREFIX, $RPATHSUFFIX, $SHDC, $SHDCOM, $SHDLINK, $SHDLINKCOM, $SHDLINKFLAGS,
$_DDEBUGFLAGS, $_DFLAGS, $_DINCFLAGS, $_DLIBDIRFLAGS, $_DLIBFLAGS, $_DLIBFLAGS,
$_DVERFLAGS, $_RPATH.

ドックブック
このツールは、SCons での Docbook の操作を少し簡単にすることを目的としています。 それは提供します
HTML や PDF などのさまざまな出力形式を作成するためのいくつかのツールチェーン。 含まれている
パッケージには、バージョン 1.76.1 の Docbook XSL スタイルシートの配布が含まれています。
カスタマイズ用に独自のスタイルシートを指定しない限り、これらの公式
バージョンがデフォルトとして選択されます...これにより、避けられないセットアップの手間が軽減されます。
あなた。

画像および Xinclude への暗黙的な依存関係は、次の条件を満たす場合に自動的に検出されます。
HTMLの要件。 Paul DuBois による追加のスタイルシート utils/xmldepend.xsl は次のとおりです。
この目的で使用されます。

XML カタログ解決のサポートは提供されていないことに注意してください。 このツールは
XSLT プロセッサと、指定したスタイルシートを備えた PDF レンダラー、それだけです。 の
残りはあなたの手の中にあり、解決するときに自分が何をしているのかを知る必要があります
カタログ経由で名前を入力します。

ツール「docbook」をアクティブ化するには、その名前を環境に追加する必要があります
コンストラクター、このように

env = 環境(tools=['docbook'])

Docbook ツールは起動時に、必要な xsltproc プロセッサと
PDF レンダラー (fop など)。 したがって、これらがシステムの
環境 PATH を指定し、フルパスを指定せずに直接呼び出すことができます。

Docbook から HTML への最も基本的な処理を行うには、

· libxml2 への Python lxml バインディング、または

· libxml2/libxslt の直接 Python バインディング、または

· スタンドアロン XSLT プロセッサ。現在検出されているのは xsltproc、saxon、saxon-xslt
そしてザラン。

PDF にレンダリングするには、アプリケーション fop または xep のいずれかがインストールされている必要があります。

HTML または PDF ドキュメントの作成は非常にシンプルで簡単です。 言う

env = 環境(tools=['docbook'])
env.DocbookHtml('manual.html', 'manual.xml')
env.DocbookPdf('manual.pdf', 'manual.xml')

XML ソースマニュアル.xml から両方の出力を取得します。 ショートカットとして、
次のように、ファイル名の語幹のみを抽出します。

env = 環境(tools=['docbook'])
env.DocbookHtml('マニュアル')
env.DocbookPdf('マニュアル')

同じ結果が得られます。 ターゲット リストとソース リストもサポートされています。

env = 環境(tools=['docbook'])
env.DocbookHtml(['manual.html','reference.html'], ['manual.xml','reference.xml'])

あるいは

env = 環境(tools=['docbook'])
env.DocbookHtml(['マニュアル','リファレンス'])

重要
ソースのリストを省略した場合は、ファイル拡張子を指定できません。
このツールは、指定された名前をファイルのステムとして使用し、ターゲットとファイルのサフィックスを追加します。
ソースファイルもそれに応じて変更されます。
上記のルールはビルダーに有効です。 DocbookHTML, ドックブックPDF, ドックブックEpub,
ドックブックスライドPDFDocbookXInclude。 のために ドックブックマン できる変身
ターゲット名を指定しますが、実際の出力名は、
XML ソース内の refname エントリ。

ビルダーズ DocbookHtmlチャンク化, DocbookHTMLヘルプDocbookスライドHTML 特別です、
それ:

1. 大量のファイルのセットが作成されます。正確な名前とその数は、
ソースファイルの内容、および

2. メインターゲットの名前は常にindex.html、つまりXSLの出力名です。
変換はスタイルシートでは認識されません。

そのため、ターゲット HTML 名を指定しても無駄です。 基本的なこと
これらのビルダーの構文は常に次のとおりです。

env = 環境(tools=['docbook'])
env.DocbookHtmlhelp('マニュアル')

特定の XSL ファイルを使用したい場合は、追加の xsl パラメータを次のように設定できます。
Builder は次のように呼び出します。

env.DocbookHtml('other.html', 'manual.xml', xsl='html.xsl')

カスタマイズしたものに常に同じローカル名を使用すると、これが面倒になる可能性があるため、
XSL ファイル (例: HTML の html.xsl および PDF 出力の pdf.xsl)、
デフォルトの XSL 名の設定が提供されます。 これらは:

DOCBOOK_DEFAULT_XSL_HTML
DOCBOOK_DEFAULT_XSL_HTMLCHUNKED
DOCBOOK_DEFAULT_XSL_HTMLHELP
DOCBOOK_DEFAULT_XSL_PDF
DOCBOOK_DEFAULT_XSL_EPUB
DOCBOOK_DEFAULT_XSL_MAN
DOCBOOK_DEFAULT_XSL_SLIDESPDF
DOCBOOK_DEFAULT_XSL_SLIDESHTML

環境を構築するときにそれらを設定できます。

env = 環境(tools=['docbook'],
DOCBOOK_DEFAULT_XSL_HTML='html.xsl',
DOCBOOK_DEFAULT_XSL_PDF='pdf.xsl')
env.DocbookHtml('manual') # html.xsl を使用するようになりました

セット: $DOCBOOK_DEFAULT_XSL_EPUB, $DOCBOOK_DEFAULT_XSL_HTML,
$DOCBOOK_DEFAULT_XSL_HTMLCHUNKED, $DOCBOOK_DEFAULT_XSL_HTMLHELP,
$DOCBOOK_DEFAULT_XSL_MAN, $DOCBOOK_DEFAULT_XSL_PDF, $DOCBOOK_DEFAULT_XSL_SLIDESHTML,
$DOCBOOK_DEFAULT_XSL_SLIDESPDF, $DOCBOOK_FOP, $DOCBOOK_FOPCOM, $DOCBOOK_FOPFLAGS,
$DOCBOOK_XMLLINT, $DOCBOOK_XMLLINTCOM, $DOCBOOK_XMLLINTFLAGS, $DOCBOOK_XSLTPROC,
$DOCBOOK_XSLTPROCCOM, $DOCBOOK_XSLTPROCFLAGS, $DOCBOOK_XSLTPROCPARAMS.

用途: $DOCBOOK_FOPCOMSTR, $DOCBOOK_XMLLINTCOMSTR, $DOCBOOK_XSLTPROCCOMSTR.

dvi
を添付します。 DVI ビルダーを建設環境に導きます。

dvipdf
dvipdf ユーティリティの構築変数を設定します。

セット: $DVIPDF, $DVIPDFCOM, $DVIPDFFLAGS.

用途: $DVIPDFCOMSTR.

dvips
dvips ユーティリティの構築変数を設定します。

セット: $ DVIPS, $DVIPSFLAGS, $PSCOM, $PSPREFIX, $PSSUFFIX.

用途: $PSCOMSTR.

f03
汎用 POSIX Fortran 03 コンパイラの構築変数を設定します。

セット: $03, $F03COM, $F03FLAGS, $F03PPCOM, $SHF03, $SHF03COM, $SHF03FLAGS,
$SHF03PPCOM, $_F03INCFLAGS.

用途: $F03COMSTR, $F03PPCOMSTR, $SHF03COMSTR, $SHF03PPCOMSTR.

f08
汎用 POSIX Fortran 08 コンパイラの構築変数を設定します。

セット: $08, $F08COM, $F08FLAGS, $F08PPCOM, $SHF08, $SHF08COM, $SHF08FLAGS,
$SHF08PPCOM, $_F08INCFLAGS.

用途: $F08COMSTR, $F08PPCOMSTR, $SHF08COMSTR, $SHF08PPCOMSTR.

f77
汎用 POSIX Fortran 77 コンパイラの構築変数を設定します。

セット: $77, $F77COM, $F77ファイルサフィックス, $F77FLAGS, $F77PPCOM, $F77PPFILEサフィックス,
$FORTRAN, $フォートランコム, $フォートランフラッグス, $SHF77, $SHF77COM, $SHF77FLAGS, $SHF77PPCOM,
$SHFORTRAN, $SHFORTRANCOM, $SHFORTRANFLAGS, $SHFOTRANPCOM, $_F77INCFLAGS.

用途: $F77COMSTR, $F77PPCOMSTR, $FORTRANCOMSTR, $FOTRAPPCOMSTR, $SHF77COMSTR,
$SHF77PPCOMSTR, $SHFORTRANCOMSTR, $SHFOTRAPPCOMSTR.

f90
汎用 POSIX Fortran 90 コンパイラの構築変数を設定します。

セット: $90, $F90COM, $F90FLAGS, $F90PPCOM, $SHF90, $SHF90COM, $SHF90FLAGS,
$SHF90PPCOM, $_F90INCFLAGS.

用途: $F90COMSTR, $F90PPCOMSTR, $SHF90COMSTR, $SHF90PPCOMSTR.

f95
汎用 POSIX Fortran 95 コンパイラの構築変数を設定します。

セット: $95, $F95COM, $F95FLAGS, $F95PPCOM, $SHF95, $SHF95COM, $SHF95FLAGS,
$SHF95PPCOM, $_F95INCFLAGS.

用途: $F95COMSTR, $F95PPCOMSTR, $SHF95COMSTR, $SHF95PPCOMSTR.

フォートラン
汎用 POSIX Fortran コンパイラの構築変数を設定します。

セット: $FORTRAN, $フォートランコム, $フォートランフラッグス, $SHFORTRAN, $SHFORTRANCOM,
$SHFORTRANFLAGS, $SHFOTRANPCOM.

用途: $FORTRANCOMSTR, $FOTRAPPCOMSTR, $SHFORTRANCOMSTR, $SHFOTRAPPCOMSTR.

g ++
gXX C++ コンパイラの構築変数を設定します。

セット: $CXX, $CXXVERSION, $SHCXXFLAGS, $SHOBJSUFFIX.

g77
g77 Fortran コンパイラの構築変数を設定します。 f77 Tool モジュールを呼び出して、
変数を設定します。

ガス
ガス アセンブラの構築変数を設定します。 as モジュールを呼び出します。

セット: $AS.

gccの
gcc C コンパイラの構築変数を設定します。

セット: $CC, $CCVERSION, $SHCCFLAGS.

gdc
D 言語コンパイラ GDC の構築変数を設定します。

セット: $DC, $DCOM, $DDBUG, $DDBUGPREFIX, $DDBUGSUFFIX, $DFILESUFFIX, $DFLAGPREFIX,
$DFLAGS, $DFLAGSUFFIX, $DINCPREFIX, $DINCSUFFIX, $DLIB, $DLIBCOM, $DLIBFLAGPREFIX,
$DLIBFLAGSUFFIX, $DLINK, $DLINKCOM, $DLINKFLAGPREFIX, $DLINKFLAGS, $DLINKFLAGSUFFIX,
$DPATH, $DVERPREFIX, $DVERSIONS, $DVERSUFFIX, $RPATHPREFIX, $RPATHSUFFIX, $SHDC,
$SHDCOM, $SHDLINK, $SHDLINKCOM, $SHDLINKFLAGS, $_DDEBUGFLAGS, $_DFLAGS, $_DINCFLAGS,
$_DLIBFLAGS, $_DVERFLAGS, $_RPATH.

gettextを
これは実際には、国際化とローカリゼーションをサポートするツールセットです。
ソフトウェアは SCons を使用して構築されています。ツールセットは次のツールをロードします。

· xgettext - 国際化されたメッセージをソース コードから POT ファイルに抽出します。

· msginit - PO ファイルを初期化するためにオプションで使用できます。

· msgmerge - すでに翻訳されたメッセージが含まれている PO ファイルを更新します。

· msgfmt - テキスト形式の PO ファイルをバイナリのインストール可能な MO ファイルにコンパイルします。

gettext を有効にすると、上記のすべてのツールが内部的に読み込まれるため、
それぞれのドキュメントを参照することをお勧めします。

上記の各ツールは、実行するために使用できる独自のビルダーを提供します。
ソフトウェアの国際化に関連する特定の活動。しかし、あなたもそうかもしれません
に興味がある トップレベル ビルダー 翻訳します 数段落後で説明します。

gettext ツールを使用するには、「gettext」ツールを環境に追加します。

env = 環境( tools = ['default', 'gettext'] )

グフォルトラン
GNU F95/F2003 GNU コンパイラの構築変数を設定します。

セット: $77, $90, $95, $FORTRAN, $SHF77, $SHF77FLAGS, $SHF90, $SHF90FLAGS, $SHF95,
$SHF95FLAGS, $SHFORTRAN, $SHFORTRANFLAGS.

ヌーリンク
GNU リンカー/ローダーの構築変数を設定します。

セット: $LDMODULEVERSIONFLAGS, $RPATHPREFIX, $RPATHSUFFIX, $SHLIBVERSIONFLAGS,
$SHLINKFLAGS, $_LDMODULESONAME, $_SHLIBSONAME.

gs
このツールは、Ghostscript を操作するために必要な構築変数を設定します。
指示。また、適切なアクションを PDF ビルダーに登録します (PDF)、 そのような
PS/EPS から PDF への変換は、TeX/LaTeX ツールチェーンに対して自動的に行われます。
最後に、明示的な Ghostscript Builder (Gs)環境に。

セット: $ GS, $GSCOM, $GSFLAGS.

用途: $GSCOMSTR.

hpc++
HP/UX システム上のコンパイラ aCC の構築変数を設定します。

hpcc
HP/UX システム上の aCC の構築変数を設定します。 cXX ツールを呼び出します。
追加の変数。

セット: $CXX, $CXXVERSION, $SHCXXFLAGS.

hpリンク
HP/UX システム上のリンカーの構築変数を設定します。

セット: $LINKFLAGS, $SHLIBSUFFIX, $SHLINKFLAGS.

icc
OS/2 システム上の icc コンパイラの構築変数を設定します。

セット: $CC, $CCCOM, $CFILESUFFIX, $CPPDEFPREFIX, $CPPDEFSUFFIX, $CXXCOM,
$CXXFILESUFFIX, $INCPREFIX, $INCSUFFIX.

用途: $CCFLAGS, $CFLAGS, $CPPFLAGS, $_CPPDEFFLAGS, $_CPPINCFLAGS.

ICL
インテル C/C++ コンパイラーの構築変数を設定します。 intelc Toolモジュールを呼び出します
変数を設定します。

もし
インテル Fortran コンパイラーの構築変数を設定します。

セット: $FORTRAN, $フォートランコム, $FOTRAPPCOM, $SHFORTRANCOM, $SHFOTRANPCOM.

用途: $CPPFLAGS, $フォートランフラッグス, $_CPPDEFFLAGS, $_FORTRANINCFLAGS.

フォート
新しいバージョンのインテル Fortran コンパイラーの構築変数を設定します。
Linux。

セット: $77, $90, $95, $FORTRAN, $SHF77, $SHF77FLAGS, $SHF90, $SHF90FLAGS, $SHF95,
$SHF95FLAGS, $SHFORTRAN, $SHFORTRANFLAGS.

ILINK
OS/2 システム上の ilink リンカーの構築変数を設定します。

セット: $LIBDIRPREFIX, $LIBDIRSUFFIX, $LIBLINKPREFIX, $LIBLINKSUFFIX, $ LINK, $リンクコム,
$LINKFLAGS.

ilink32
Borland ilink32 リンカーの構築変数を設定します。

セット: $LIBDIRPREFIX, $LIBDIRSUFFIX, $LIBLINKPREFIX, $LIBLINKSUFFIX, $ LINK, $リンクコム,
$LINKFLAGS.

install
ファイルとディレクトリのインストール用の構築変数を設定します。

セット: $INSTALL, $INSTALLSTR.

知性
インテル C/C++ コンパイラー (Linux および Windows、バージョン 7) の構築変数を設定します。
以降)。 gcc または msvc (それぞれ Linux および Windows 上) を呼び出して設定します。
基礎となる変数。

セット: $ AR, $CC, $CXX, $INTEL_C_COMPILER_VERSION, $ LINK.


jar ユーティリティの構築変数を設定します。

セット: $JAR, $ジャーコム, $JARFLAGS, $JARSUFFIX.

用途: $JARCOMSTR.

javac
javac コンパイラの構築変数を設定します。

セット: $JAVAブートクラスパス, $JAVAC, $ジャバコム, $JAVACFLAGS, $JAVACLASSPATH,
$JavaCLASSSUFFIX, $JAVASOURCEPATH, $JAVASUFFIX.

用途: $JAVACCOMSTR.

ジャバ
javah ツールの構築変数を設定します。

セット: $JavaCLASSSUFFIX, $ジャバ, $JAVAHCOM, $JAVAHFLAGS.

用途: $JAVACLASSPATH, $JAVAHCOMSTR.

ラテックス
latex ユーティリティの構築変数を設定します。

セット: $ LATEX, $LATEXCOM, $LATEXFLAGS.

用途: $LATEXCOMSTR.

液晶
D 言語コンパイラ LDC2 の構築変数を設定します。

セット: $DC, $DCOM, $DDBUG, $DDBUGPREFIX, $DDBUGSUFFIX, $DFILESUFFIX, $DFLAGPREFIX,
$DFLAGS, $DFLAGSUFFIX, $DINCPREFIX, $DINCSUFFIX, $DLIB, $DLIBCOM, $DLIBDIRPREFIX,
$DLIBDIRSUFFIX, $DLIBFLAGPREFIX, $DLIBFLAGSUFFIX, $DLIBLINKPREFIX, $DLIBLINKSUFFIX,
$DLINK, $DLINKCOM, $DLINKFLAGPREFIX, $DLINKFLAGS, $DLINKFLAGSUFFIX, $DPATH,
$DVERPREFIX, $DVERSIONS, $DVERSUFFIX, $RPATHPREFIX, $RPATHSUFFIX, $SHDC, $SHDCOM,
$SHDLINK, $SHDLINKCOM, $SHDLINKFLAGS, $_DDEBUGFLAGS, $_DFLAGS, $_DINCFLAGS,
$_DLIBDIRFLAGS, $_DLIBFLAGS, $_DLIBFLAGS, $_DVERFLAGS, $_RPATH.

LEX
lex 字句解析器の構築変数を設定します。

セット: $LEX, $LEXCOM, $LEXFLAGS.

用途: $LEXCOMSTR.


汎用 POSIX リンカーの構築変数を設定します。

セット: $LDMODULE, $LDMODULECOM, $LDMODULEFLAGS, $LDMODULENOVERSIONSYMLINKS,
$LDMODULEPREFIX, $LDMODULESUFFIX, $LDMODULEVERSION, $LDMODULEVERSIONFLAGS,
$LIBDIRPREFIX, $LIBDIRSUFFIX, $LIBLINKPREFIX, $LIBLINKSUFFIX, $ LINK, $リンクコム,
$LINKFLAGS, $SHLIBSUFFIX, $SHLINK, $SHLINKCOM, $SHLINKFLAGS, $__LDMODULEVERSIONFLAGS,
$__SHLIBバージョンフラグ.

用途: $LDMODULECOMSTR, $LINKCOMSTR, $SHLINKCOMSTR.

リンクロック
Phar Lap ETS 組み込み用の LinkLoc リンカーの構築変数を設定します
オペレーティング·システム。

セット: $LIBDIRPREFIX, $LIBDIRSUFFIX, $LIBLINKPREFIX, $LIBLINKSUFFIX, $ LINK, $リンクコム,
$LINKFLAGS, $SHLINK, $SHLINKCOM, $SHLINKFLAGS.

用途: $LINKCOMSTR, $SHLINKCOMSTR.

m4
m4 マクロ プロセッサの構築変数を設定します。

セット: $M4, $M4COM, $M4FLAGS.

用途: $M4COMSTR.

マスム
Microsoft アセンブラの構築変数を設定します。

セット: $AS, $ASCOM, $ASFLAGS, $ASPPCOM, $ASPPFLAGS.

用途: $ASCOMSTR, $ASPPCOMSTR, $CPPFLAGS, $_CPPDEFFLAGS, $_CPPINCFLAGS.

ミドル
Microsoft IDL コンパイラの構築変数を設定します。

セット: $MIDL, $MIDLCOM, $MIDLFLAGS.

用途: $MIDLCOMSTR.

mingw
MinGW (Windows 上の Minimal Gnu) の構築変数を設定します。

セット: $AS, $CC, $CXX, $LDMODULECOM, $LIBPREFIX, $LIBSUFFIX, $OBJSUFFIX, $RC, $RCCOM,
$RCFLAGS, $RCINCFLAGS, $RCINCPREFIX, $RCINCSUFFIX, $SHCCFLAGS, $SHCXXFLAGS,
$SHLINKCOM, $SHLINKFLAGS, $SHOBJSUFFIX, $WINDOWSDEFPREFIX, $WINDOWSDEFSUFFIX.

用途: $RCCOMSTR, $SHLINKCOMSTR.

メッセージ
この scons ツールは scons gettext ツールセットの一部です。 scons インターフェイスを提供します。
メッセージ(1) コマンド。テキストからバイナリ メッセージ カタログ (MO) を生成します。
翻訳の説明 (PO)。

セット: $MOSUFFIX, $MSGFMT, $MSGFMTCOM, $MSGFMTCOMSTR, $MSGFMTFLAGS, $POSUFFIX.

用途: $LINGUAS_FILE.

msginit
この scons ツールは scons gettext ツールセットの一部です。 scons インターフェイスを提供します。
msginit(1) 新しい PO ファイルを作成し、メタ情報を初期化するプログラム
ユーザーの環境 (またはオプション) からの値。

セット: $MSGINIT, $MSGINITCOM, $MSGINITCOMSTR, $MSGINITFLAGS, $POAUTOINIT,
$POCREATE_ALIAS, $POSUFFIX, $ポツフィックス, $_MSGINITLOCALE.

用途: $LINGUAS_FILE, $POAUTOINIT, $ポットドメイン.

メッセージマージ
この scons ツールは scons gettext ツールセットの一部です。 scons インターフェイスを提供します。
メッセージマージ(1) コマンド。XNUMX つのユニフォーム スタイル .po ファイルをマージします。

セット: $MSGMERGE, $MSGMERGECOM, $MSGMERGECOMSTR, $MSGMERGEFLAGS, $POSUFFIX, $ポツフィックス,
$POUPDATE_ALIAS.

用途: $LINGUAS_FILE, $POAUTOINIT, $ポットドメイン.

mslib
Microsoft mslib ライブラリ アーカイバの構築変数を設定します。

セット: $ AR, $アルコム, $ARFLAGS, $LIBPREFIX, $LIBSUFFIX.

用途: $ARCOMSTR.

mslink
Microsoft リンカーの構築変数を設定します。

セット: $LDMODULE, $LDMODULECOM, $LDMODULEFLAGS, $LDMODULEPREFIX, $LDMODULESUFFIX,
$LIBDIRPREFIX, $LIBDIRSUFFIX, $LIBLINKPREFIX, $LIBLINKSUFFIX, $ LINK, $リンクコム,
$LINKFLAGS, $REGSVR, $REGSVRCOM, $REGSVRFLAGS, $SHLINK, $SHLINKCOM, $SHLINKFLAGS,
$WIN32DEFPREFIX, $WIN32DEFSUFFIX, $WIN32EXPPREFIX, $WIN32EXPSUFFIX, $WINDOWSDEFPREFIX,
$WINDOWSDEFSUFFIX, $WINDOWSEXPPREFIX, $WINDOWSEXPSUFFIX, $WINDOWSPROGMANIFESTPREFIX,
$WINDOWSPROGMANIFESTSUFFIX, $WINDOWSSHLIBMANIFESTPREFIX, $WINDOWSSHLIBMANIFESTSUFFIX,
$WINDOWS_INSERT_DEF.

用途: $LDMODULECOMSTR, $LINKCOMSTR, $REGSVRCOMSTR, $SHLINKCOMSTR.

mssdk
Microsoft Platform SDK や Windows SDK の変数を設定します。ほとんどの場合とは異なることに注意してください
他のツール モジュールの場合、mssdk は構築変数を設定しませんが、
環境 variables SCons が Microsoft を実行するために使用する環境
ツールチェーン: %INCLUDE%、%LIB%、%LIBPATH%、および %PATH%。

用途: $MSSDK_DIR, $MSSDK_VERSION, $MSVS_VERSION.

msvc
Microsoft Visual C/C++ コンパイラの構築変数を設定します。

セット: $ビルダーズ, $CC, $CCCOM, $CCFLAGS, $CCPCHFLAGS, $CCPDBFLAGS, $CFILESUFFIX,
$CFLAGS, $CPPDEFPREFIX, $CPPDEFSUFFIX, $CXX, $CXXCOM, $CXXFILESUFFIX, $CXXFLAGS,
$INCPREFIX, $INCSUFFIX, $OBJPREFIX, $OBJSUFFIX, $PCHCOM, $PCHPDBFLAGS, $RC, $RCCOM,
$RCFLAGS, $SHCC, $SHCCCOM, $SHCCFLAGS, $SHCFLAGS, $SHCXX, $SHCXXCOM, $SHCXXFLAGS,
$SHOBJPREFIX, $SHOBJSUFFIX.

用途: $CCCOMSTR, $CXXCOMSTR, $PCH, $PCHSTOP, $PDB, $SHCCCOMSTR, $SHCXXCOMSTR.

msvs
Microsoft Visual Studio の構築変数を設定します。

セット: $MSVSBUILDCOM, $MSVSCLEANCOM, $MSVSENCODING, $MSVSPROJECTCOM, $MSVSREBUILDCOM,
$MSVSSCONS, $MSVSSCONSCOM, $MSVSSCONSCRIPT, $MSVSSCONSFLAGS, $MSVSSOLUTIONCOM.

mwcc
Metrowerks CodeWarrior コンパイラの構築変数を設定します。

セット: $CC, $CCCOM, $CFILESUFFIX, $CPPDEFPREFIX, $CPPDEFSUFFIX, $CXX, $CXXCOM,
$CXXFILESUFFIX, $INCPREFIX, $INCSUFFIX, $MWCW_VERSION, $MWCW_VERSIONS, $SHCC,
$SHCCCOM, $SHCCFLAGS, $SHCFLAGS, $SHCXX, $SHCXXCOM, $SHCXXFLAGS.

用途: $CCCOMSTR, $CXXCOMSTR, $SHCCCOMSTR, $SHCXXCOMSTR.

むずい
Metrowerks CodeWarrior リンカーの構築変数を設定します。

セット: $ AR, $アルコム, $LIBDIRPREFIX, $LIBDIRSUFFIX, $LIBLINKPREFIX, $LIBLINKSUFFIX,
$ LINK, $リンクコム, $SHLINK, $SHLINKCOM, $SHLINKFLAGS.

鼻血
nasm Netwide アセンブラーの構築変数を設定します。

セット: $AS, $ASCOM, $ASFLAGS, $ASPPCOM, $ASPPFLAGS.

用途: $ASCOMSTR, $ASPPCOMSTR.

梱包
の構築変数を設定します。 パッケージ ビルダー。

包装
バイナリおよびソース パッケージを構築するためのフレームワーク。

PDFファイル
Portable Document Format ビルダーの構築変数を設定します。

セット: $PDFPREFIX, $PDFSUFFIX.

pdflatex
pdflatex ユーティリティの構築変数を設定します。

セット: $LATEXRETRIES, $PDFLATEX, $PDFLATEXCOM, $PDFLATEXFLAGS.

用途: $PDFLATEXCOMSTR.

pdftex
pdftex ユーティリティの構築変数を設定します。

セット: $LATEXRETRIES, $PDFLATEX, $PDFLATEXCOM, $PDFLATEXFLAGS, $PDFTEX, $PDFTEXCOM,
$PDFTEXFLAGS.

用途: $PDFLATEXCOMSTR, $PDFTEXCOMSTR.

実施する
Perforceソースコード管理と対話するための構築変数を設定します。
システム。

セット: $ P4, $P4COM, $P4FLAGS.

用途: $P4COMSTR.

qt
Qt アプリケーションを構築するための構築変数を設定します。

セット: $ QTDIR, $QT_AUTOSCAN, $QT_BINPATH, $QT_CPPPATH, $QT_LIB, $QT_LIBPATH, $QT_MOC,
$QT_MOCCXXPREFIX, $QT_MOCCXXSSUFFIX, $QT_MOCFROMCXXCOM, $QT_MOCFROMCXXFLAGS,
$QT_MOCFROMHCOM, $QT_MOCFROMHFLAGS, $QT_MOCHPREFIX, $QT_MOCHSUFFIX, $QT_UIC,
$QT_UICCOM, $QT_UICDECLFLAGS, $QT_UICDECLPREFIX, $QT_UICDECLSUFFIX, $QT_UICIMPLFLAGS,
$QT_UICIMPLPREFIX, $QT_UICIMPLSUFFIX, $QT_UISUFFIX.

RCS
リビジョン管理システムとの対話のための構築変数を設定します。

セット: $RCS, $RCS_CO, $RCS_COCOM, $RCS_COFLAGS.

用途: $RCS_COCOMSTR.

ルミック
rmic ユーティリティの構築変数を設定します。

セット: $JavaCLASSSUFFIX, $RMIC, $RMICCOM, $RMICFLAGS.

用途: $RMICCOMSTR.

rpcgen
RPCGEN を使用してビルドするための構築変数を設定します。

セット: $RPCGEN, $RPCGENCLIENTFLAGS, $RPCGENFLAGS, $RPCGENHEADERFLAGS,
$RPCGENERVICEFLAGS, $RPCGENXDRFLAGS.

SCCS
ソース コード管理システムと対話するための構築変数を設定します。

セット: $SCCS, $SCCSCOM, $SCCSFLAGS, $SCCSGETFLAGS.

用途: $SCCSCOMSTR.

シギア
SGI ライブラリ アーカイバの構築変数を設定します。

セット: $ AR, $ARCOMSTR, $ARFLAGS, $LIBPREFIX, $LIBSUFFIX, $SHLINK, $SHLINKFLAGS.

用途: $ARCOMSTR, $SHLINKCOMSTR.

sgic++
SGI C++ コンパイラの構築変数を設定します。

セット: $CXX, $CXXFLAGS, $SHCXX, $SHOBJSUFFIX.

sgicc
SGI C コンパイラの構築変数を設定します。

セット: $CXX, $SHOBJSUFFIX.

ギリンク
SGI リンカーの構築変数を設定します。

セット: $ LINK, $RPATHPREFIX, $RPATHSUFFIX, $SHLINKFLAGS.

スナー
Sun ライブラリ アーカイバの構築変数を設定します。

セット: $ AR, $アルコム, $ARFLAGS, $LIBPREFIX, $LIBSUFFIX.

用途: $ARCOMSTR.

サンク++
Sun C++ コンパイラの構築変数を設定します。

セット: $CXX, $CXXVERSION, $SHCXX, $SHCXXFLAGS, $SHOBJPREFIX, $SHOBJSUFFIX.

サンク
Sun C コンパイラの構築変数を設定します。

セット: $CXX, $SHCCFLAGS, $SHOBJPREFIX, $SHOBJSUFFIX.

サンフ77
Sun f77 Fortran コンパイラの構築変数を設定します。

セット: $77, $FORTRAN, $SHF77, $SHF77FLAGS, $SHFORTRAN, $SHFORTRANFLAGS.

サンフ90
Sun f90 Fortran コンパイラの構築変数を設定します。

セット: $90, $FORTRAN, $SHF90, $SHF90FLAGS, $SHFORTRAN, $SHFORTRANFLAGS.

サンフ95
Sun f95 Fortran コンパイラの構築変数を設定します。

セット: $95, $FORTRAN, $SHF95, $SHF95FLAGS, $SHFORTRAN, $SHFORTRANFLAGS.

サンリンク
Sun リンカーの構築変数を設定します。

セット: $RPATHPREFIX, $RPATHSUFFIX, $SHLINKFLAGS.

小枝
SWIG インターフェイス ジェネレーターの構築変数を設定します。

セット: $SWIG, $SWIGCFILESUFFIX, $SWIGCOM, $SWIGCXXFILESUFFIX, $SWIGDIRECTORSUFFIX,
$スウィッグフラッグス, $SWIGINCPREFIX, $SWIGINCSUFFIX, $SWIGPATH, $SWIGVERSION, $_SWIGINCFLAGS.

用途: $SWIGCOMSTR.

tar
tar アーカイバの構築変数を設定します。

セット: $TAR, $TARCOM, $TARFLAGS, $TARSUFFIX.

用途: $TARCOMSTR.

テックス
TeX フォーマッタとタイプセッターの構築変数を設定します。

セット: $ビブテックス, $BIBTEXCOM, $BIBTEXFLAGS, $ LATEX, $LATEXCOM, $LATEXFLAGS, $MAKEINDEX,
$MAKEINDEXCOM, $MAKEINDEXFLAGS, $TEX, $TEXCOM, $TEXFLAGS.

用途: $BIBTEXCOMSTR, $LATEXCOMSTR, $MAKEINDEXCOMSTR, $TEXCOMSTR.

テキストファイル
の構築変数を設定します。 テキストファイルサブファイル ビルダー。

セット: $LINESEPARATOR, $SUBSTFILEPREFIX, $SUBSTFILESUFFIX, $TEXTFILEPREFIX,
$TEXTFILESUFFIX.

用途: $SUBST_DICT.

トリブ
Borlan tib ライブラリ アーカイバの構築変数を設定します。

セット: $ AR, $アルコム, $ARFLAGS, $LIBPREFIX, $LIBSUFFIX.

用途: $ARCOMSTR.

xgettext
この scons ツールは scons gettext ツールセットの一部です。 scons インターフェイスを提供します。
xgettext(1) ソースコードから国際化されたメッセージを抽出するプログラム。の
ツールが提供する POTアップデート POを作成するビルダー テンプレート ファイル。

セット: $ポツフィックス, $POTUPDATE_ALIAS, $XGETTEXTCOM, $XGETTEXTCOMSTR, $XGETTEXTFLAGS,
$XGETTEXTFROM, $XGETTEXTFROMPREFIX, $XGETTEXTFROMSUFFIX, $XGETTEXTPATH,
$XGETTEXTPATHPREFIX, $XGETTEXTPATHSUFFIX, $_XGETTEXTDOMAIN, $_XGETTEXTFROMFLAGS,
$_XGETTEXTPATHFLAGS.

用途: $ポットドメイン.

ヤック
yacc 解析ジェネレーターの構築変数を設定します。

セット: $YACC, $YACCCOM, $YACCFLAGS, $YACCFILESUFFIX, $YACCHXXFILESUFFIX,
$YACCVCGFILESUFFIX.

用途: $YACCCOMSTR.

ZIP
zip アーカイバーの構築変数を設定します。

セット: $ZIP, $ZIPCOM, $ZIPCOMPRESSION, $ZIPFLAGS, $ZIPSUFFIX.

用途: $ZIPCOMSTR.

さらに、という名前の「ツール」があります。 デフォルト で環境を構成します
現在のプラットフォームのデフォルトのツールセット。

posix および cygwin プラットフォームでは、Windows では GNU ツール (例: gcc) が SCons によって好まれます。
SCons では Microsoft ツール (msvc など) に続いて MinGW が好まれます。OS/2 では、
SCons では IBM ツール (例: icc) が好まれます。

ビルダー メソッド
ビルド ルールは、コンストラクション環境のビルダー メソッドを呼び出すことによって指定されます。の
ビルダーメソッドの引数は次のとおりです。 ターゲット (ビルドするターゲットのリスト、通常はファイル
名前)と source (ビルドするソースのリスト、通常はファイル名)。

ファイル名の長いリストは引用符が多くなる可能性があるため、 軽蔑的 供給する スプリット()
単一の文字列を分割するグローバル関数と同じ名前の環境メソッド
空白文字の文字列で区切られたリスト。 (これらは、split() に似ています。
Python 文字列のメンバー関数ですが、入力が文字列でなくても機能します。)

すべての Python 引数と同様、ビルダー メソッドのターゲット引数とソース引数は次のようになります。
「target」および「source」キーワードの有無にかかわらず指定します。キーワードがあるときは、
省略した場合、ターゲットが最初にあり、次にソースが続きます。以下は同等です
プログラムビルダーメソッドの呼び出し例:

env.Program('bar', ['bar.c', 'foo.c'])
env.Program('bar', Split('bar.c foo.c'))
env.Program('bar', env.Split('bar.c foo.c'))
env.Program(ソース = ['bar.c', 'foo.c'], ターゲット = 'bar')
env.Program(target = 'bar', Split('bar.c foo.c'))
env.Program(target = 'bar', env.Split('bar.c foo.c'))
env.Program('bar', ソース = 'bar.c foo.c'.split())

絶対パス名ではない (つまり、で始まらない) ターゲット ファイル名とソース ファイル名
/ POSIX システム上または \fR on Windows Nz - Nasyonal Mache dechanj nan peyi Zend limite   or 無し an 任意 ドライブ 文字)
  解釈された 相対 〜へ   ディレクトリにジョブを開始します。 含む   S徴兵 読み取られているファイル。アン
初期 # パス名の (ハッシュ マーク) は、ファイル名の残りの部分が解釈されることを意味します
最上位を含むディレクトリからの相対パス S構築 ファイルであっても、 # is
その後にディレクトリ区切り文字 (スラッシュまたはバックスラッシュ) が続きます。

例:

# ビルドされるターゲットを説明するコメント
# これらの呼び出しが SConscript ファイル内にあると仮定します。
# 「subdir」という名前のサブディレクトリ。

# 「subdir/foo.c」からプログラム「subdir/foo」をビルドします。
env.Program('foo', 'foo.c')

# 「subdir/bar.c」からプログラム「/tmp/bar」をビルドします。
env.Program('/tmp/bar', 'bar.c')

# 最初の「#」または「#/」は同等です。次の
# プログラム "foo" と "bar" をビルドします (
# 最上位の SConstruct ディレクトリ) 「subdir/foo.c」から
# それぞれ「subdir/bar.c」:
env.Program('#foo', 'foo.c')
env.Program('#/bar', 'bar.c')

# プログラム "other/foo" をビルドします (トップレベルに相対)
# SConstruct ディレクトリ) "subdir/foo.c" から:
env.Program('#other/foo', 'foo.c')

ターゲットがソースと同じベース名を共有し、サフィックスのみが異なる場合、および
ビルダー メソッドには、ターゲット ファイル タイプに対して定義されたサフィックスがあり、その後ターゲット引数が続きます。
完全に省略してもよいし、 軽蔑的 ソースファイルからターゲットファイル名を推測します
名前。次の例はすべて実行可能プログラムをビルドします。 バー (POSIX システムの場合) または
bar.exe (Windows システムの場合) bar.c ソース ファイルから:

env.Program(ターゲット = 'bar'、ソース = 'bar.c')
env.Program('bar', ソース = 'bar.c')
env.Program(source = 'bar.c')
env.Program('bar.c')

便宜上、 srcdir キーワード引数は、Builder を呼び出すときに指定できます。いつ
指定すると、絶対パスではないすべてのソース ファイル文字列が解釈されます。
指定されたものに対して srcdir。次の例では、 ビルド/プログ (または
ビルド/prog.exe Windows の場合) ファイルからプログラムを作成する src/f1.csrc/f2.c:

env.Program('build/prog', ['f1.c', 'f2.c'], srcdir='src')

ビルダーメソッドを呼び出すときに、構築変数をオーバーライドまたは追加することができます。
追加のキーワード引数を渡します。これらのオーバーライドまたは追加された変数は、
ターゲットのビルド時に影響するため、ビルドの他の部分には影響しません。のために
たとえば、XNUMX つのプログラムのみにライブラリを追加する場合は、次のようにします。

env.Program('hello', 'hello.c', LIBS=['gl', 'glut'])

または、非標準のサフィックスを持つ共有ライブラリを生成します。

env.SharedLibrary('word', 'word.cpp',
SHLIBSUFFIX='.ocx',
LIBSUFFIXES=['.ocx'])

(SCons が必要な場合は、$SHLIBSUFFIX 変数と $LIBSUFFIXES 変数の両方を設定する必要があることに注意してください
非標準ライブラリ名への依存関係を自動的に検索します。を参照してください
詳細については、以下のこれらの変数の説明を参照してください。)

使用することも可能です parse_flags オーバーライドのキーワード引数:

env = Program('hello', 'hello.c', parse_flags = '-Iinclude -DEBUG -lm')

この例では、「include」を追加します CPPPATH、「EBUG」に CPPDEFINES、そして「m」に LIBS(レーザー誘起分光法).

によって定義されたビルダーメソッドですが、 軽蔑的 実際、これらは構築方法です
環境オブジェクトは、明示的な環境なしで呼び出すこともできます。

プログラム('hello', 'hello.c')
SharedLibrary('word', 'word.cpp')

この場合、メソッドはデフォルトの構築環境を使用して内部的に呼び出されます。
それはツールと価値で構成されています。 軽蔑的 に適切であると判断した
ローカルシステム。

明示的な環境なしで呼び出すことができるビルダー メソッドは、次から呼び出すことができます。
カスタム Python モジュール。以下を追加して SConscript ファイルにインポートします。
Python モジュール:

SCons.Script インポートから *

すべてのビルダー メソッドは、ターゲットを表すノードを含むリストのようなオブジェクトを返します。
または構築されるターゲット。あ Node ビルドを表す内部 SCons オブジェクトです
ターゲットまたはソース。

返された Node-list オブジェクトは、ソースとして他のビルダー メソッドに渡すことも、
ファイル名が通常受け入れられる任意の SCons 関数またはメソッドに渡されます。のために
たとえば、特定のパラメータを追加する必要がある場合は、 -D XNUMX つの特定のオブジェクトをコンパイルするときのフラグ
ファイル:

bar_obj_list = env.StaticObject('bar.c', CPPDEFINES='-DBAR')
env.Program(source = ['foo.c', bar_obj_list, 'main.c'])

この方法でノードを使用すると、ノードを指定する必要がなくなり、ビルドの移植性が高まります。
Program() ビルダー メソッドを呼び出すときのプラットフォーム固有のオブジェクト サフィックス。

Builder 呼び出しでは、ソース ファイルとターゲット ファイルのリストが自動的に「フラット化」されることに注意してください。
途中で StaticObject() 呼び出しによって bar_obj リストが返されても問題ありません。
ソースファイルのリスト。ビルダーから返されたリストのリストを操作する必要がある場合
Python を直接使用してリストを手動で作成することもできます。

foo = オブジェクト('foo.c')
bar = オブジェクト('bar.c')
オブジェクト = ['begin.o'] + foo + ['middle.o'] + bar + ['end.o']
オブジェクト内のオブジェクトの場合:
print str(オブジェクト)

または、 平らにする() 関数は scons によって提供され、次のものだけを含むリストを作成します。
ノード。これはより便利かもしれません:

foo = オブジェクト('foo.c')
bar = オブジェクト('bar.c')
オブジェクト = Flatten(['begin.o', foo, 'middle.o', bar, 'end.o'])
オブジェクト内のオブジェクトの場合:
print str(オブジェクト)

Builder 呼び出しは実際の Python リストではなく、リストのようなオブジェクトを返すため、
あなたがすべき Pythonを使用する += 演算子を使用して、Builder の結果を Python リストに追加します。
リストとオブジェクトは異なる型であるため、Python は元のリストを更新しません。
リストは適切に配置されますが、代わりに連結を含む新しい Node-list オブジェクトが作成されます。
リスト要素とビルダーの結果。これは他のものに問題を引き起こす可能性があります
SCons 構成内の Python 変数は、
オリジナルリスト。代わりに、Python を使用してください 。伸ばす() リストが更新されていることを確認するメソッド
所定の位置に。例:

オブジェクトファイル = []

# 次のように += を使用しないでください。
#
# object_files += Object('bar.c')
#
# object_files リストはその場で更新されません。
#
# 代わりに、.extend() メソッドを使用します。
object_files.extend(Object('bar.c'))

ノードのファイルのパス名は、ノードを Python 組み込み関数に渡すことによって使用できます。
str() 関数:

bar_obj_list = env.StaticObject('bar.c', CPPDEFINES='-DBAR')
print "bar_obj へのパスは次のとおりです:", str(bar_obj_list[0])

Builder 呼び出しはリストを返すため、最初のリストにアクセスする必要があることにもう一度注意してください。
リスト内の要素 (bar_obj_list[0]) 実際に表すノードを取得するには
オブジェクトファイル。

ビルダーはサポートを呼び出します Chdir Builder のアクションを指定するキーワード引数
ディレクトリを変更した後に実行する必要があります。もし Chdir 引数は文字列または
directory ノード、scons は指定されたディレクトリに変更されます。もし Chdir 文字列ではありません
または Node がゼロ以外の場合、scons はターゲット ファイルのディレクトリに変更されます。

# scons は「sub」サブディレクトリに変更されます
# 「cp」コマンドを実行する前に。
env.Command('sub/dir/foo.out', 'sub/dir/foo.in',
"cp dir/foo.in dir/foo.out",
chdir='サブ')

# chdir は文字列ではないため、scons は
# ターゲットのディレクトリ ("sub/dir") を実行する前に
# 「cp」コマンド。
env.Command('sub/dir/foo.out', 'sub/dir/foo.in',
"cp foo.in foo.out",
chdir=1)

scons は、 次のような構築変数の展開を自動的に変更します。
$TARGET$ソース chdir キーワード引数を使用する場合、つまり展開されたファイルを使用する場合
名前は依然として最上位の SConstruct ディレクトリを基準とするため、
chdir ディレクトリとの相対関係が正しくありません。 chdir キーワード引数を使用すると、次のようになります。
通常は、次のような拡張を使用して別のコマンドラインを指定する必要があります。 ${TARGET.file}
${ソース.ファイル} ターゲットとソースのファイル名部分のみを使用します。

軽蔑的 は、次のビルダー メソッドを提供します。

CFile(), env.CFile()
lex (.l) または yacc (.y) 入力ファイルを指定して C ソース ファイルをビルドします。指定されたサフィックス
を通じて、タンピングされたコーヒーベッドの上から均一にフィルターバスケットの内の粉に浸透していきます。 $CFILESUFFIX 構築変数 (デフォルトでは .c) が自動的に追加されます。
ターゲットがまだ存在しない場合は、ターゲット。例:

# foo.c をビルドします
env.CFile(ターゲット = 'foo.c'、ソース = 'foo.l')
# bar.c をビルドします
env.CFile(ターゲット = 'bar'、ソース = 'bar.y')

指示(), env.Command()
この Command 「Builder」は実際にはBuilderに似た機能として実装されており、
しかし実際には、ビルダーが取得すべきアクションの追加引数を受け取ります。
作られる。を参照してください。 Command 呼び出し構文と詳細についての関数の説明。

CXXファイル(), env.CXXFile()
lex (.ll) または yacc (.yy) 入力ファイルを指定して C++ ソース ファイルを構築します。接尾語
によって指定された $CXXFILESUFFIX 構築変数 (デフォルトでは .cc) は
ターゲットがまだ存在しない場合は、ターゲットに自動的に追加されます。例:

# foo.cc をビルドする
env.CXXFile(ターゲット = 'foo.cc'、ソース = 'foo.ll')
# bar.cc をビルドします
env.CXXFile(ターゲット = 'bar'、ソース = 'bar.yy')

DocbookEpub(), env.DocbookEpub()
EPUB 出力用の Docbook ツールチェーンを提供する疑似ビルダー。

env = 環境(tools=['docbook'])
env.DocbookEpub('manual.epub', 'manual.xml')

または単に

env = 環境(tools=['docbook'])
env.DocbookEpub('マニュアル')

DocbookHTML(), env.DocbookHtml()
疑似ビルダー。HTML 出力用の Docbook ツールチェーンを提供します。

env = 環境(tools=['docbook'])
env.DocbookHtml('manual.html', 'manual.xml')

または単に

env = 環境(tools=['docbook'])
env.DocbookHtml('マニュアル')

DocbookHtmlChunked(), env.DocbookHtmlChunked()
チャンク化された HTML 出力用の Docbook ツールチェーンを提供する疑似ビルダー。サポートします
Base.dir パラメータ。 chunkfast.xsl ファイル (「EXSLT」が必要) は、
デフォルトのスタイルシート。基本的な構文:

env = 環境(tools=['docbook'])
env.DocbookHtmlChunked('manual')

ここで、manual.xml は入力ファイルです。

独自のスタイルシートで root.filename パラメータを使用する場合は、
新しいターゲット名。これにより、特に依存関係が正しくなります。
「scons -c」によるクリーンアップ:

env = 環境(tools=['docbook'])
env.DocbookHtmlChunked('mymanual.html', 'manual', xsl='htmlchunk.xsl')

Base.dir の基本的なサポートがいくつか提供されています。 Base_dir キーワードを追加できます。
Builder を呼び出すと、指定されたプレフィックスが作成されたすべてのファイル名の先頭に追加されます。

env = 環境(tools=['docbook'])
env.DocbookHtmlChunked('manual', xsl='htmlchunk.xsl', Base_dir='output/')

ベースフォルダーの末尾のスラッシュを忘れないように注意してください。
ファイルの名前が変更されるだけです。

DocbookHTMLhelp(), env.DocbookHTMLhelp()
疑似ビルダー。HTMLHELP 出力用の Docbook ツールチェーンを提供します。その基本的な構文
次のとおりです。

env = 環境(tools=['docbook'])
env.DocbookHtmlhelp('マニュアル')

ここで、manual.xml は入力ファイルです。

独自のスタイルシートで root.filename パラメータを使用する場合は、
新しいターゲット名。これにより、特に依存関係が正しくなります。
「scons -c」によるクリーンアップ:

env = 環境(tools=['docbook'])
env.DocbookHtmlhelp('mymanual.html', 'manual', xsl='htmlhelp.xsl')

Base.dir パラメータの基本的なサポートがいくつか提供されています。 Base_dir を追加できます
Builder 呼び出しにキーワードを追加すると、指定された接頭辞が作成されたすべてのキーワードの先頭に付加されます。
ファイル名:

env = 環境(tools=['docbook'])
env.DocbookHtmlhelp('manual', xsl='htmlhelp.xsl', Base_dir='output/')

ベースフォルダーの末尾のスラッシュを忘れないように注意してください。
ファイルの名前が変更されるだけです。

ドックブックマン(), env.DocbookMan()
擬似ビルダー。Man ページ出力用の Docbook ツールチェーンを提供します。その基本的な構文
次のとおりです。

env = 環境(tools=['docbook'])
env.DocbookMan('マニュアル')

ここで、manual.xml は入力ファイルです。ターゲット名を指定できますが、
実際の出力名は、XML ソースの refname エントリから自動的に設定されます。

DocbookPdf(), env.DocbookPdf()
PDF 出力用の Docbook ツールチェーンを提供する疑似ビルダー。

env = 環境(tools=['docbook'])
env.DocbookPdf('manual.pdf', 'manual.xml')

または単に

env = 環境(tools=['docbook'])
env.DocbookPdf('マニュアル')

DocbookSlidesHtml(), env.DocbookSlidesHtml()
疑似ビルダー。HTML スライド出力用の Docbook ツールチェーンを提供します。

env = 環境(tools=['docbook'])
env.DocbookSlidesHtml('マニュアル')

独自のスタイルシートで titlefoil.html パラメータを使用する場合は、
新しいターゲット名。これにより、特に依存関係が正しくなります。
「scons -c」によるクリーンアップ:

env = 環境(tools=['docbook'])
env.DocbookSlidesHtml('mymanual.html','manual', xsl='slideshtml.xsl')

Base.dir パラメータの基本的なサポートがいくつか提供されています。 Base_dir を追加できます
Builder 呼び出しにキーワードを追加すると、指定された接頭辞が作成されたすべてのキーワードの先頭に付加されます。
ファイル名:

env = 環境(tools=['docbook'])
env.DocbookSlidesHtml('manual', xsl='slideshtml.xsl', Base_dir='output/')

ベースフォルダーの末尾のスラッシュを忘れないように注意してください。
ファイルの名前が変更されるだけです。

DocbookSlidesPdf(), env.DocbookSlidesPdf()
PDF スライド出力用の Docbook ツールチェーンを提供する疑似ビルダー。

env = 環境(tools=['docbook'])
env.DocbookSlidesPdf('manual.pdf', 'manual.xml')

または単に

env = 環境(tools=['docbook'])
env.DocbookSlidesPdf('マニュアル')

DocbookXInclude(), env.DocbookXInclude()
別の処理ステップで Xinclude を解決するための擬似ビルダー。

env = 環境(tools=['docbook'])
env.DocbookXInclude('manual_xinclude.xml', 'manual.xml')

DocbookXslt(), env.DocbookXslt()
指定された XSL 変換を入力ファイルに適用する擬似ビルダー。

env = 環境(tools=['docbook'])
env.DocbookXslt('manual_transformed.xml', 'manual.xml', xsl='transform.xslt')

このビルダーでは xsl パラメーターを設定する必要があることに注意してください。

DVI(), env.DVI()
.tex、.ltx、または .latex 入力ファイルから .dvi ファイルを構築します。ソースファイルの接尾辞が
が .tex の場合、scons はファイルの内容を検査します。文字列 \documentclass または
\documentstyle が見つかった場合、ファイルは LaTeX ファイルであると想定され、ターゲットは
を呼び出すことによって構築されます $LATEXCOM コマンドライン;それ以外の場合は、 $TEXCOM コマンドラインは
使用済み。ファイルが LaTeX ファイルの場合、 DVI builder メソッドはまた、
.aux ファイルの内容を読み込んで、 $ビブテックス 文字列 bibdata が次の場合のコマンド ライン
見つかった、開始 $MAKEINDEX .ind ファイルが見つかった場合にインデックスを生成し、検査します。
内容の .log ファイルを確認し、再実行します。 $LATEXCOM ログファイルにある場合はコマンド
必要。

次の場合、接尾辞 .dvi (TeX 自体内でハードコーディングされている) がターゲットに自動的に追加されます。
それはすでに存在していません。例:

# aaa.tex からビルドする
env.DVI(ターゲット = 'aaa.dvi'、ソース = 'aaa.tex')
# bbb.dvi をビルドします
env.DVI(ターゲット = 'bbb'、ソース = 'bbb.ltx')
# ccc.latex からビルドします
env.DVI(ターゲット = 'ccc.dvi'、ソース = 'ccc.latex')

Gs(), env.Gs()
gs 実行可能ファイルを明示的に呼び出すためのビルダー。基盤となる OS に応じて、
gs、gsos2、gswin32c という異なる名前が試行されます。

env = 環境(tools=['gs'])
env.Gs('cover.jpg','scons-scons.pdf',
GSFLAGS='-dNOPAUSE -dBATCH -sDEVICE=jpeg -dFirstPage=1 -dLastPage=1 -q')
)

インストール(), env.Install()
指定されたターゲットに XNUMX つ以上のソース ファイルまたはディレクトリをインストールします。
ディレクトリになります。指定されたソース ファイルまたはディレクトリの名前は変わりません。
宛先ディレクトリ内。ソースは文字列またはノードとして指定できます。
建築業者から返却されました。

env.Install('/ usr / local / bin'、ソース = ['foo', 'bar'])

InstallAs(), env.InstallAs()
XNUMX つ以上のソース ファイルまたはディレクトリを特定の名前でインストールし、変更を許可します
インストールの一部としてのファイル名またはディレクトリ名。ターゲットと
ソース引数には、さまざまな数のファイルまたはディレクトリがリストされます。

env.InstallAs(target = '/usr/local/bin/foo',
ソース = 'foo_debug')
env.InstallAs(target = ['../lib/libfoo.a', '../lib/libbar.a'],
ソース = ['libFOO.a', 'libBAR.a'])

InstallVersionedLib(), env.InstallVersionedLib()
バージョン管理された共有ライブラリをインストールします。アーキテクチャに適したシンボリックリンクは、
ソースライブラリのシンボリックリンクに基づいて生成されます。

env.InstallVersionedLib(target = '/usr/local/bin/foo',
ソース = 'libxyz.1.5.2.so')

瓶(), env.Jar()
指定されたソースのリストから Java アーカイブ (.jar) ファイルを構築します。任意のディレクトリ
ソース リスト内の .class ファイルが検索されます)。ソース内のすべての .java ファイル
リストは、を呼び出すことによって .class ファイルにコンパイルされます。 Java ビルダー。

Status $JARCHDIR 値が設定されている場合、jar コマンドは指定されたディレクトリに変更されます。
-C オプション。 場合 $JARCHDIR が明示的に設定されていない場合、SCons は任意の先頭を使用します。
Java .class が構築されたサブディレクトリ ツリー Java ビルダー。

いずれかのソース ファイルの内容が文字列 Manifest-Version で始まる場合、
ファイルはマニフェストであるとみなされ、次のコマンドを使用して jar コマンドに渡されます。 m オプション
設定します。

env.Jar(ターゲット = 'foo.jar', ソース = 'クラス')

env.Jar(ターゲット = 'bar.jar',
ソース = ['bar1.java', 'bar2.java'])

Java(), env.Java()
XNUMX つ以上の Java クラス ファイルを構築します。ソースは、明示的なものの任意の組み合わせにすることができます。
.java ファイル、または .java ファイルがスキャンされるディレクトリ ツリー。

SCons は各ソース .java ファイルを解析してクラス (内部クラスを含む) を見つけます。
そのファイル内で定義され、そこからターゲットの .class ファイルが特定されます。
作成されます。クラス ファイルは、指定したターゲット ディレクトリの下に配置されます。

SCons はまた、各 Java ファイルで Java パッケージ名を検索します。
最初の列の文字列 package で始まる行にあります。の
結果の .class ファイルは、指定されたパッケージを反映するディレクトリに配置されます。
名前。たとえば、単一のパブリック Foo クラスを定義し、次の内容を含むファイル Foo.java は、
パッケージ名が sub.dir の場合、対応する sub/dir/Foo.class クラス ファイルが生成されます。

例:

env.Java(ターゲット = 'クラス', ソース = 'src')
env.Java(ターゲット = 'クラス', ソース = ['src1', 'src2'])
env.Java(ターゲット = 'クラス', ソース = ['File1.java', 'File2.java'])

Java ソース ファイルでは、基盤となる OS のネイティブ エンコーディングを使用できます。 SCコン以来
デフォルトではシンプル ASCII モードでコンパイルすると、コンパイラは次の警告を生成します。
マップできない文字。ファイルがさらに処理されるときにエラーが発生する可能性があります。で
この場合、ユーザーは LANG 環境変数を指定してコンパイラに伝える必要があります。
どのようなエンコーディングが使用されているか。移植性を考慮すると、エンコーディングがハードコーディングされていることが最善です。
別のエンコーディングを使用したシステムでコンパイルを実行しても、コンパイルは機能することを確認します。

env = 環境()
env['ENV']['LANG'] = 'en_GB.UTF-8'

JavaH(), env.JavaH()
Java ネイティブ メソッドを実装するための C ヘッダー ファイルとソース ファイルを構築します。ターゲットは、
ヘッダー ファイルが書き込まれるディレクトリ、またはヘッダー ファイル名のいずれかになります。
これにはすべての定義が含まれます。ソースは .class の名前にすることができます。
ファイル、呼び出しによって .class ファイルにコンパイルされる .java ファイルの名前。 Java
ビルダー メソッド、またはビルダー メソッドから返されたオブジェクト Java ビルダーメソッド。

構築変数の場合 $ジャヴァクラスディール 環境または
に電話する ジャバH builder メソッド自体の場合、変数の値は次のようになります。
.class ファイル名の先頭から削除されます。

例:

# java_native.h をビルドします
クラス = env.Java(ターゲット = 'classdir', ソース = 'src')
env.JavaH(ターゲット = 'java_native.h'、ソース = クラス)

# include/package_foo.h および include/package_bar.h をビルドします
env.JavaH(ターゲット = 'インクルード',
ソース = ['パッケージ/foo.class', 'パッケージ/bar.class'])

# エクスポート/foo.h とエクスポート/bar.h をビルドします
env.JavaH(ターゲット = 'エクスポート',
ソース = ['classes/foo.class', 'classes/bar.class'],
JAVACLASSDIR = 'クラス')

図書館(), env.Library()
の同義語 静的ライブラリ ビルダーメソッド。

LoadableModule(), env.LoadableModule()
ほとんどのシステムでは、これは次と同じです。 共有ライブラリ。 Mac OS X (Darwin) プラットフォームでは、
これにより、ロード可能なモジュール バンドルが作成されます。

M4(), env.M4()
M4 入力ファイルから出力ファイルを構築します。これはデフォルトを使用します $M4FLAGS の値 -E,
これは、すべての警告を致命的であるとみなし、使用時の最初の警告で停止します。
m4 の GNU バージョン。例:

env.M4(ターゲット = 'foo.c'、ソース = 'foo.c.m4')

モック(), env.Moc()
moc 入力ファイルから出力ファイルを構築します。 Moc 入力ファイルはいずれかのヘッダー ファイルです
または cxx ファイル。このビルダーは、ツール「qt」を使用した後にのみ使用できます。を参照してください。 $ QTDIR
詳細については、変数を参照してください。例:

env.Moc('foo.h') # moc_foo.cc を生成します
env.Moc('foo.cpp') # foo.moc を生成します

MOファイル(), env.MOFiles()
このビルダーは msgfmt ツールに属します。ビルダーは PO ファイルを MO ファイルにコンパイルします。

1。 pl.po と en.po をコンパイルして、pl.mo と en.mo を作成します。

#..。
env.MOFiles(['pl', 'en'])

2。 LINGUAS ファイルで定義されている言語のファイルをコンパイルします。

#..。
env.MOFiles(LINGUAS_FILE = 1)

3。 pl.po および en.po plus ファイルをコンパイルして、pl.mo および en.mo を作成します。
LINGUAS ファイルで定義されている言語:

#..。
env.MOFiles(['pl', 'en'], LINGUAS_FILE = 1)

4。 LINGUAS ファイル (別のバージョン) で定義されている言語のファイルをコンパイルします。

#..。
env['LINGUAS_FILE'] = 1
env.MOFiles()

MSVSProject(), env.MSVSProject()
Microsoft Visual Studio プロジェクト ファイルをビルドし、デフォルトでソリューション ファイルをビルドします。
同様に。

これにより、Visual Studio のバージョンに基づいて、Visual Studio プロジェクト ファイルが構築されます。
構成されている (インストールされている最新のバージョン、またはによって指定されたバージョンのいずれか)
$MSVS_VERSION 環境コンストラクター内)。 Visual Studio 6 の場合、
.dsp ファイル。 Visual Studio 7 (.NET) 以降のバージョンでは、.vcproj が生成されます。
ファイルにソフトウェアを指定する必要があります。

デフォルトでは、指定されたプロジェクトのソリューション ファイル (.dsw ファイル) も生成されます。
Visual Studio 6 の場合は .sln ファイル、Visual Studio 7 (.NET) の場合は .sln ファイルです。この動作は次の可能性があります
呼び出し時に auto_build_solution=0 を指定すると無効になります MSVSプロジェクトその場合
おそらく、 MSVSソリューション ビルダー
(下記参照)。

この MSVSプロジェクト ビルダーは、プロジェクトに配置するファイル名のリストをいくつか受け取ります。
ファイル。これらは現在、srcs、incs、localincs、resources、misc に限定されています。これら
非常に一目瞭然ですが、これらのリストは
$SOURCES 構築変数は SCons ファイル ノードとしてではなく、文字列として使用されます。それの訳は
これらは、使用されるソース ファイルではなく、プロジェクト ファイルに追加されるファイル名を表します。
プロジェクトファイルをビルドします。

上記のファイル名リストはすべてオプションですが、少なくとも 1 つは指定する必要があります。
結果として得られるプロジェクト ファイルは空ではありません。

上記の値のリストに加えて、次の値を指定できます。

ターゲット
ターゲットの .dsp または .vcproj ファイルの名前。のバージョンの正しいサフィックス
Visual Studio を使用する必要がありますが、 $MSVSPROJECTSUFFIX 構築変数は
正しい値に定義する必要があります (以下の例を参照)。

異形
この特定のバリアントの名前。 Visual Studio 7 プロジェクトの場合、これは次のこともできます。
バリアント名のリストになります。これらは通常、「デバッグ」や「リリース」などです。
しかし実際には何でも構いません。 Visual Studio 7 プロジェクトの場合は、次のこともできます。
ターゲット プラットフォームをバリアント名から | で区切って指定します。 (縦パイプ)
キャラクター: デバッグ|Xbox。デフォルトのターゲット プラットフォームは Win32 です。への複数の呼び出し
MSVSプロジェクト 異なるバリアントも許可されます。すべてのバリアントが
プロジェクト ファイルに適切なビルド ターゲットとソースを含めます。

cmdargs
さまざまなバリアント用の追加のコマンド ライン引数。の数
cmdargs エントリは、バリアント エントリの数と一致するか、空である必要があります (
指定された)。 1 つだけ指定すると、自動的にすべてに伝播されます
バリアント。

ビルドターゲット
オプションの文字列、ノード、または文字列またはノードのリスト (ビルド バリアントごとに 1 つ)。
Visual Studio デバッガーに、どのビルド バリアントでどの出力ターゲットを使用するかを指示します。
buildtarget エントリの数は、バリアント エントリの数と一致する必要があります。

ランファイル
Visual Studio 7 以降が実行およびデバッグするファイルの名前。これ
結果として得られる Visual Studio プロジェクトの [出力] フィールドの値として表示されます。
ファイル。これが指定されていない場合、デフォルトは指定されたものと同じになります。
ビルドターゲットの値。

SCons は常にそのビルド コマンドを次のディレクトリから実行することに注意してください。
別の場所でプロジェクト ファイルを生成する場合、SConstruct ファイルは見つかります。
ディレクトリを SConstruct ディレクトリよりも大きくすると、ユーザーはそのディレクトリをダブルクリックできなくなります。
Visual Studio コンソール出力に表示されるコンパイル エラー メッセージ内のファイル名
窓。これは、Visual C/C++ /FC コンパイラ オプションを
$CCFLAGS 変数を使用して、コンパイラがファイルの絶対パス名を出力するようにします。
コンパイルエラーの原因となります。

使用例:

barrcs = ['bar.cpp'],
barincs = ['bar.h'],
barlocalincs = ['StdAfx.h']
barresources = ['bar.rc','resource.h']
barmisc = ['bar_readme.txt']

dll = env.SharedLibrary(ターゲット = 'bar.dll',
ソース = barrcs)

env.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'],
srcs = barrcs、
incs = バインクス、
localincs = barlocalincs、
リソース = バーリソース、
その他 = バーミスク、
ビルドターゲット = dll、
バリアント = 'リリース')

SCons のバージョン 2.4 以降では、オプションの引数を指定することも可能です
デバッグ設定これにより、Visual Studio でデバッグ用のファイルが作成されます。

デバッグ設定
.vcproj.user または
.vcxproj.user ファイル (インストールされているバージョンに応じて)。 cmdargs の場合と同様に
(上記を参照)、次のように指定できます。 デバッグ設定 バリアントごとの辞書。あなたが与えるなら
1 つだけの場合は、すべてのバリアントに伝播されます。

現在、Visual Studio v9.0 と Visual Studio バージョン v11 のみが実装されています。
他のバージョンではファイルは生成されません。ユーザーファイルを生成するには、
デバッグ設定 MSVS に適切なパラメータを使用して環境に辞書を追加する
バージョン。辞書が空であるか、適切な値が含まれていない場合、ファイルは実行されません。
生成されます。

以下は、バリアント用のプロジェクトのセットアップを含む、より不自然な例です。
および DebugSettings:

# デフォルトをファイルに保存すると仮定します
vars = 変数('変数.py')
msvcver = vars.args.get('vc', '9')

# コマンド引数を確認して、1 つの Microsoft Visual Studio バージョンを強制します
msvcver == '9' または msvcver == '11' の場合:
env = 環境(MSVC_VERSION=msvcver+'.0'、MSVC_BATCH=False)
その他:
env = 環境()

AddOption('--userfile'、action='store_true'、dest='userfile'、default=False、
help="Visual Studio プロジェクトのユーザー ファイルを作成する")

#
# 1. リストに必要なオプションを使用してデバッグ設定辞書を構成します
許可されるオプションの数 (たとえば、起動するユーザー ファイルを作成する場合)
# Microsoft Visual Studio 2008 (v9) で DLL をテストするための特定のアプリケーション:
#
V9DebugSettings = {
'コマンド':'c:\\myapp\\using\\thisdll.exe',
'WorkingDirectory': 'c:\\myapp\\using\\',
'CommandArguments': '-p パスワード',
# '添付':'false',
# 'デバッガタイプ':'3',
# 'リモート':'1',
# 'RemoteMachine': なし、
# 'リモートコマンド': なし、
# 'HttpUrl': なし、
# 'PDBPath': なし、
# 'SQLデバッグ': なし、
# '環境': ''、
# '環境マージ':'true',
# 'DebuggerFlavor': なし、
# 'MPIRunCommand': なし、
# 'MPIRunArguments': なし、
# 'MPIRunWorkingDirectory': なし、
# 'アプリケーションコマンド': なし、
# 'ApplicationArguments': なし、
# 'ShimCommand': なし、
# 'MPIAcceptMode': なし、
# 'MPIAcceptFilter': なし、
}

#
# 2. Microsoft に応じてさまざまなオプションがあるため
# Visual Studio バージョン。複数のバージョンを使用する場合は、次のことを行う必要があります。
# ユーザーを作成する場合など、バージョンごとに辞書を定義します
# Microsoft で DLL をテストするための特定のアプリケーションを起動するファイル
# Visual Studio 2012 (v11):
#
V10DebugSettings = {
'LocalDebuggerCommand': 'c:\\myapp\\using\\thisdll.exe',
'LocalDebuggerWorkingDirectory': 'c:\\myapp\\using\\',
'LocalDebuggerCommandArguments': '-p パスワード',
# 'LocalDebuggerEnvironment': なし、
# 'DebuggerFlavor': 'WindowsLocalDebugger',
# 'LocalDebuggerAttach': なし、
# 'LocalDebuggerDebuggerType': なし、
# 'LocalDebuggerMergeEnvironment': なし、
# 'LocalDebuggerSQLDebugging': なし、
# 'RemoteDebuggerCommand': なし、
# 'RemoteDebuggerCommandArguments': なし、
# 'RemoteDebuggerWorkingDirectory': なし、
# 'RemoteDebuggerServerName': なし、
# 'RemoteDebuggerConnection': なし、
# 'RemoteDebuggerDebuggerType': なし、
# 'RemoteDebuggerAttach': なし、
# 'RemoteDebuggerSQLDebugging': なし、
# 'DeploymentDirectory': なし、
# '追加ファイル': なし、
# 'RemoteDebuggerDeployDebugCppRuntime': なし、
# 'WebBrowserDebuggerHttpUrl': なし、
# 'WebBrowserDebuggerDebuggerType': なし、
# 'WebServiceDebuggerHttpUrl': なし、
# 'WebServiceDebuggerDebuggerType': なし、
# 'WebServiceDebuggerSQLDebugging': なし、
}

#
# 3. Visual Studio のバージョンに応じて必要な辞書を選択します
# 生成したいファイル。
#
env.GetOption('userfile') でない場合:
dbgSettings = なし
elif env.get('MSVC_VERSION', なし) == '9.0':
dbgSettings = V9DebugSettings
elif env.get('MSVC_VERSION', なし) == '11.0':
dbgSettings = V10DebugSettings
その他:
dbgSettings = なし

#
# 4. DebugSettings キーワードに辞書を追加します。
#
barrcs = ['bar.cpp', 'dllmain.cpp', 'stdafx.cpp']
barincs = ['targetver.h']
barlocalincs = ['StdAfx.h']
barresources = ['bar.rc','resource.h']
barmisc = ['ReadMe.txt']

dll = env.SharedLibrary(ターゲット = 'bar.dll',
ソース = barrcs)

env.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'],
srcs = barrcs、
incs = バインクス、
localincs = barlocalincs、
リソース = バーリソース、
その他 = バーミスク、
buildtarget = [dll[0]] * 2、
バリアント = ('デバッグ|Win32', 'リリース|Win32'),
cmdargs = 'vc=%s' % msvcver,
DebugSettings = (dbgSettings, {}))

MSVSSolution(), env.MSVSSolution()
Microsoft Visual Studio ソリューション ファイルをビルドします。

これにより、Visual Studio のバージョンに基づいて、Visual Studio ソリューション ファイルが構築されます。
構成されている (インストールされている最新のバージョン、またはによって指定されたバージョンのいずれか)
$MSVS_VERSION 構築環境内)。 Visual Studio 6 の場合、次のように生成されます。
.dsw ファイル。 Visual Studio 7 (.NET) の場合は、.sln ファイルが生成されます。

次の値を指定する必要があります。

ターゲット
ターゲットの .dsw または .sln ファイルの名前。のバージョンの正しいサフィックス
Visual Studio を使用する必要がありますが、値は $MSVSSOLUTIONSFFIX に定義されます
正しい値です (以下の例を参照)。

異形
この特定のバリアントの名前、またはバリアント名のリスト (後者は
MSVS 7 ソリューションでのみサポートされます)。これらは通常、「デバッグ」や
「リリース」ですが、実際には何でも構いません。 MSVS 7 の場合は、次のように指定することもできます。
ターゲット プラットフォーム (この「Debug|Xbox」など)。デフォルトのプラットフォームは Win32 です。

プロジェクト(実績作品)
プロジェクト ファイル名のリスト、または
MSVSプロジェクト ビルダー。ソリューション ファイルに配置されます。注意すべきこと
これらのファイル名は、次の形式で $SOURCES 環境変数に追加されません。
ファイルではなく文字列として。これは、これらがファイル名を表すためです。
ソリューション ファイルのビルドに使用されるソース ファイルではなく、ソリューション ファイルに追加されます。

使用例:

env.MSVSSolution(target = 'Bar' + env['MSVSSOLUTIONSUFFIX']、プロジェクト = ['bar'
+ env['MSVSPROJECTSUFFIX']]、バリアント = 'リリース')

物体(), env.Object()
の同義語 静的オブジェクト ビルダーメソッド。

パッケージ(), env.Package()
指定されたソース ファイルのバイナリ パッケージをビルドします。

env.Package(source = FindInstalledFiles())

ソフトウェア配布パッケージを構築します。パッケージはインストールするファイルと
梱包情報。前者は次のように指定できます。 source パラメータと可能性があります
除外される場合、 インストールされたファイルの検索 関数は、次のすべてのファイルを収集します。
持っている インストールを開始する or 名前を付けてインストール ビルダー付属。もし ターゲット 指定されていません
このビルダーに提供された追加情報から推測されます。

パッケージング情報は構築変数を使用して指定されます。
以下に文書化されています。この情報はタグと呼ばれ、一部の情報は次のような可能性があることを強調します。
ファイルに添付することもできます。 タグ 関数。必須のものは次の場合に文句を言います。
それらは特定されていませんでした。これらは、選択したターゲット パッケージャーによって異なります。

ターゲット パッケージャーは、「PACKAGETYPE」コマンド ライン オプションまたは
  $パッケージタイプ 構築変数。現在、次のパッケージャーが利用可能です。

* msi - Microsoft インストーラー * rpm - Redhat パッケージ マネージャー * ipkg - Itsy パッケージ
管理システム * tarbz2 - 圧縮 tar * targz - 圧縮 tar * zip - zip ファイル
* src_tarbz2 - 圧縮 tar ソース * src_targz - 圧縮 tar ソース * src_zip -
zip ファイルのソース

更新されたリストは、実行時に「package_type」オプションで常に利用可能です。
パッケージ化がアクティブになっているプロジェクトの「scons --help」。

env = 環境(ツール=['デフォルト', 'パッケージング'])
env.Install('/ 置き場 /'、'my_program')
env.Package( NAME = 'foo',
バージョン = '1.2.3'、
パッケージバージョン = 0、
パッケージタイプ = 'rpm',
ライセンス = 'gpl'、
概要 = 'バララララル'、
DESCRIPTION = 'これは本当に長いはずです',
X_RPM_GROUP = 'アプリケーション/fu',
SOURCE_URL = 'http://foo.org/foo-1.2.3.tar.gz'
)

PCH(), env.PCH()
Microsoft Visual C++ プリコンパイル済みヘッダーを構築します。このビルダー メソッドを呼び出すと、次の結果が返されます。
2 つのターゲットのリスト: 最初の要素としての PCH、2 番目の要素としてのオブジェクト ファイル
要素。通常、オブジェクト ファイルは無視されます。このビルダーメソッドはのみ提供されています
Microsoft Visual C++ がコンパイラとして使用されている場合。 PCH ビルダーのメソッドは次のとおりです。
通常、オブジェクト ファイルを強制するために PCH 構築変数と組み合わせて使用​​されます。
プリコンパイルされたヘッダーを使用するには:

env['PCH'] = env.PCH('StdAfx.cpp')[0]

PDF(), env.PDF()
.dvi 入力ファイル (または拡張子により .tex、.ltx、または .latex) から .pdf ファイルを構築します。
入力ファイル)。で指定されたサフィックス $PDFSUFFIX 構築変数 (.pdf by
デフォルト) がまだ存在しない場合は、ターゲットに自動的に追加されます。例:

# aaa.tex からビルドする
env.PDF(ターゲット = 'aaa.pdf'、ソース = 'aaa.tex')
# bbb.dvi から bbb.pdf をビルドします
env.PDF(ターゲット = 'bbb'、ソース = 'bbb.dvi')

POInit(), env.POInit()
このビルダーは msginit ツールに属します。ビルダーは、次の場合に欠落している PO ファイルを初期化します。
$POAUTOINIT が設定されています。 もしも $POAUTOINIT 設定されていません (デフォルト)、 POInit の指示を印刷します
ユーザー (翻訳者であると考えられます) が、PO ファイルがどうあるべきかを指示します。
初期化された。通常のプロジェクトでは フォーム すべき つかいます POInit つかいます POアップデート を取得する必要がある者.
POアップデート ~の間で賢く選択します メッセージマージ(1)msginit(1). POInit いつも使う
msginit(1) 特別な目的または一時的な使用のためのビルダーとみなされるべきです
(たとえば、多数の PO ファイルの迅速な 1 回限りの初期化) またはテスト用。

によって定義されたターゲット ノード POInit デフォルトではビルドされません (「.」から無視されます)。
ノード) ですが、特別なエイリアス (デフォルトでは「po-create」) に追加されます。エイリアス名は次のとおりです。
を通じて変化した $POCREATE_ALIAS 構築変数。すべての PO ファイルが定義されている
  POInit によって簡単に初期化できます 軽蔑的 ポクリエイト.

1。 messages.pot から en.po と pl.po を初期化します。

#..。
env.POInit(['en', 'pl']) #messages.pot --> [en.po, pl.po]

2。 foo.pot から en.po と pl.po を初期化します。

#..。
env.POInit(['en', 'pl'], ['foo']) # foo.pot --> [en.po, pl.po]

3。 foo.pot から en.po と pl.po を初期化しますが、 $ポットドメイン 建設
変数:

#..。
env.POInit(['en', 'pl'], POTDOMAIN='foo') # foo.pot --> [en.po, pl.po]

4。 LINGUAS ファイルで定義された言語の PO ファイルを初期化します。ファイルは
テンプレートmessages.potから初期化されます:

#..。
env.POInit(LINGUAS_FILE = 1) # 'LINGUAS' ファイルが必要です

5。 en.po および pl.pl PO ファイルと、で定義されている言語のファイルを初期化します。
LINGUAS ファイル。ファイルはテンプレートmessages.potから初期化されます。

#..。
env.POInit(['en', 'pl'], LINGUAS_FILE = 1)

6。最初に環境を事前構成してから、PO ファイルを初期化することもできます。

#..。
env['POAUTOINIT'] = 1
env['LINGUAS_FILE'] = 1
env['POTDOMAIN'] = 'foo'
env.POInit()

これは次と同じ効果があります。

#..。
env.POInit(POAUTOINIT = 1、LINGUAS_FILE = 1、POTDOMAIN = 'foo')

ポストスクリプト(), env.PostScript()
.dvi 入力ファイル (または拡張子により .tex、.ltx、または .latex) から .ps ファイルを構築します。
入力ファイル)。で指定されたサフィックス $PSSUFFIX 構築変数 (.ps by
デフォルト) がまだ存在しない場合は、ターゲットに自動的に追加されます。例:

# aaa.tex からビルドする
env.PostScript(ターゲット = 'aaa.ps'、ソース = 'aaa.tex')
# bbb.dvi から bbb.ps をビルドします
env.PostScript(ターゲット = 'bbb'、ソース = 'bbb.dvi')

POTUpdate(), env.POTUpdate()
ビルダーは xgettext ツールに属します。ビルダーはターゲット POT ファイルが存在する場合は更新します。
存在しない場合は作成します。ノードはデフォルトでは構築されません (つまり、ノードは無視されます)
'.')、ただしオンデマンドのみ (つまり、指定された POT ファイルが必要な場合、または特別なエイリアスが必要な場合)
が呼び出されます)。このビルダーは、ターゲット ノード (messages.pot など) を特別なエイリアスに追加します。
(デフォルトではpot-update、参照 $POTUPDATE_ALIAS)ので、簡単に更新/作成できます
  軽蔑的 ポットアップデート。実際の変更がなくなるまで、ファイルは書き込まれません。
国際化されたメッセージ (または POT ファイルに入るコメント)。

注意
あなたが見ることができます xgettext(1) 存在しない場合でも、xgettext ツールによって呼び出されます。
国際化されたメッセージの実際の変更 (したがって、POT ファイルは更新されません)。
これは、ソース ファイルが変更されるたびに発生します。そのような場合に呼び出すのは、
xgettext(1) そしてその出力と POT ファイルの内容を比較して、
ファイルを更新するかどうか。

1. po/ ディレクトリを作成し、そこに次の SConstruct スクリプトを配置しましょう。

# 'po/' サブディレクトリの SConstruct
env = 環境( tools = ['default', 'xgettext'] )
env.POTUpdate(['foo'], ['../a.cpp', '../b.cpp'])
env.POTUpdate(['bar'], ['../c.cpp', '../d.cpp'])

次に、scon を数回呼び出します。

user@host:$ scons # foo.pot も bar.pot も作成しません
user@host:$ scons foo.pot # foo.pot を更新または作成します
user@host:$ scons Pot-update # foo.pot と bar.pot を更新または作成します
user@host:$ scons -c # foo.pot も bar.pot もクリーンアップしません。

結果は上記のコメントの通りになります。

2. この POTアップデート Builder はターゲットを指定せずに使用することもできます。その場合、
デフォルトのターゲットmessages.potが使用されます。デフォルトのターゲットは次によってオーバーライドされる場合もあります。
設定 $ポットドメイン 構築変数、またはそれをオーバーライドとして提供します POTアップデート
ビルダー:

# SConstruct スクリプト
env = 環境( tools = ['default', 'xgettext'] )
env['POTDOMAIN'] = "foo"
env.POTUpdate(source = ["a.cpp", "b.cpp"]) # foo.pot を作成します ...
env.POTUpdate(POTDOMAIN = "bar", source = ["c.cpp", "d.cpp"]) # および bar.pot

3. ソースは別のファイル内で指定できます。たとえば、
ポットファイル.in:

# 'po/' サブディレクトリ内の POTFILES.in
../a.cpp
../b.cpp
# ファイルの終わり

ソースのリストを含むファイル (POTFILES.in) の名前は、次の方法で提供されます。
$XGETTEXTFROM:

# S'po/' サブディレクトリ内のファイルを構築します
env = 環境( tools = ['default', 'xgettext'] )
env.POTUpdate(XGETTEXTFROM = 'POTFILES.in')

4. あなたは使用することができます $XGETTEXTPATH ソース検索パスを定義します。仮定すると、
たとえば、ファイル a.cpp、b.cpp、po/SConstruct、po/POTFILES.in があるとします。それからあなたの
POT 関連のファイルは次のようになります。

# 'po/' サブディレクトリ内の POTFILES.in
a.cpp
b.cpp
# ファイルの終わり

# S'po/' サブディレクトリ内のファイルを構築します
env = 環境( tools = ['default', 'xgettext'] )
env.POTUpdate(XGETTEXTFROM = 'POTFILES.in', XGETTEXTPATH='../')

5. 複数の検索ディレクトリをリスト内で定義できます。
XGETTEXTPATH = ['dir1', 'dir2', ...]。リスト内の順序によって検索が決まります
ソースファイルの順番。最初に見つかったファイルへのパスが使用されます。

0/1/po/SConstruct スクリプトを作成しましょう。

# S'0/1/po/' サブディレクトリ内のファイルを構築します
env = 環境( tools = ['default', 'xgettext'] )
env.POTUpdate(XGETTEXTFROM = 'POTFILES.in', XGETTEXTPATH=['../', '../../'])

および 0/1/po/POTFILES.in:

# '0/1/po/' サブディレクトリ内の POTFILES.in
a.cpp
# ファイルの終わり

0 つの *.cpp ファイルを書き込みます。最初のファイルは XNUMX/a.cpp です。

/* 0/a.cpp */
gettext("こんにちは、../../a.cppから")

0 番目は 1/XNUMX/a.cpp です。

/* 0/1/a.cpp */
gettext("こんにちは、../a.cpp から")

それからスコンを実行します。 「Hello from」というメッセージが含まれる 0/1/po/messages.pot を取得します。
../a.cpp"。順序を逆にすると $XGETTEXTFOM、つまり、SConscript を次のように書くとき

# S'0/1/po/' サブディレクトリ内のファイルを構築します
env = 環境( tools = ['default', 'xgettext'] )
env.POTUpdate(XGETTEXTFROM = 'POTFILES.in', XGETTEXTPATH=['../../'、'../'])

その場合、messages.pot には msgid ではなく msgid "Hello from ../../a.cpp" 行が含まれます。
「../a.cpp からこんにちは」。

POUpdate(), env.POUpdate()
ビルダーは msgmerge ツールに属します。ビルダーは PO ファイルを次のように更新します。 メッセージマージ(1),
または、msginit ツールのドキュメントに記載されているように、欠落している PO ファイルを初期化します。
POInit ビルダー (こちらも参照) $POAUTOINIT)。ご了承ください POアップデート ありません 加えます その ターゲット 〜へ
ポクリエイト alias as POInit ありません。

によって定義されたターゲット ノード POアップデート デフォルトではビルドされません(無視されます)
「。」ノード)。代わりに、それらは特別なエイリアス ('po-update' によって) に自動的に追加されます。
デフォルト)。エイリアス名は次の方法で変更できます。 $POUPDATE_ALIAS 建設
変数。次の方法でプロジェクト内の PO ファイルを簡単に更新できます。 軽蔑的 アップデート.

1. messages.pot テンプレートから en.po と pl.po を更新します (こちらも参照) $ポットドメイン),
後者のものが存在するか、それを構築するルールがあると仮定します (「 POTアップデート):

#..。
env.POUpdate(['en','pl']) #messages.pot --> [en.po, pl.po]

2. foo.pot テンプレートから en.po と pl.po を更新します。

#..。
env.POUpdate(['en', 'pl'], ['foo']) # foo.pot --> [en.po, pl.pl]

3. foo.pot (別のバージョン) から en.po と pl.po を更新します。

#..。
env.POUpdate(['en', 'pl'], POTDOMAIN='foo') # foo.pot -- > [en.po, pl.pl]

4. LINGUAS ファイルで定義されている言語のファイルを更新します。ファイルが更新されます
messages.pot テンプレートから:

#..。
env.POUpdate(LINGUAS_FILE = 1) # 'LINGUAS' ファイルが必要です

5. 上記と同じですが、foo.pot テンプレートから更新します。

#..。
env.POUpdate(LINGUAS_FILE = 1, ソース = ['foo'])

6. LINGUAS ファイルで定義されている言語の en.po および pl.po plus ファイルを更新します。
ファイルはmessages.potテンプレートから更新されます。

# 'en.po'、'pl.po' + 'LINGUAS' で定義されたファイルを生成します:
env.POUpdate(['en', 'pl' ], LINGUAS_FILE = 1)

7.   $POAUTOINIT PO ファイルが存在しない場合に自動的に初期化するには:

#..。
env.POUpdate(LINGUAS_FILE = 1、POAUTOINIT = 1)

8. LINGUAS ファイルで定義されている言語の PO ファイルを更新します。ファイルは
foo.pot テンプレートから更新されました。必要な設定はすべて、次の方法で事前に構成されています。
環境。

#..。
env['POAUTOINIT'] = 1
env['LINGUAS_FILE'] = 1
env['POTDOMAIN'] = 'foo'
env.POUpdate()

プログラム(), env.Program()
1 つ以上のオブジェクト ファイルまたは C、C++、D、または Fortran ソースを指定して実行可能ファイルをビルドします
ファイル。 C、C++、D、または Fortran ソース ファイルが指定されている場合、それらは次のようになります。
を使用してオブジェクト ファイルに自動的にコンパイルされます。 オブジェクト ビルダーメソッド;それを見てください
有効なソース ファイル サフィックスのリストとそのサフィックスがどのようなものであるかについてのビルダー メソッドの説明
解釈した。ターゲットの実行可能ファイルのプレフィックス ( $PROGPREFIX
構築変数。デフォルトでは何もありません) とサフィックス ( $PROGSUFFIX
構築変数。デフォルトでは、Windows システムでは .exe、POSIX システムでは何もありません)
まだ存在しない場合は、ターゲットに自動的に追加されます。例:

env.Program(ターゲット = 'foo', ソース = ['foo.o', 'bar.c', 'baz.f'])

RES(), env.RES()
Microsoft Visual C++ リソース ファイルを構築します。このビルダー メソッドは次の場合にのみ提供されます。
コンパイラとして Microsoft Visual C++ または MinGW が使用されています。 .res (または .o)
他のサフィックスが指定されていない場合、MinGW) サフィックスがターゲット名に追加されます。ソースファイル
C ファイルであるかのように、暗黙的な依存関係がスキャンされます。例:

env.RES('リソース.rc')

RMIC(), env.RMIC()
Java .class ファイルからリモート オブジェクトのスタブ クラス ファイルとスケルトン クラス ファイルを構築します。の
target は、スタブおよびスケルトンのクラス ファイルが配置される相対ディレクトリです。
書かれた。ソースには、.class ファイルの名前、または、.class ファイルから返されるオブジェクトを指定できます。
Java ビルダーメソッド。

構築変数の場合 $ジャヴァクラスディール 環境または
に電話する RMIC builder メソッド自体の場合、変数の値は次のようになります。
.class ファイル名の先頭から削除されます。

クラス = env.Java(ターゲット = 'classdir', ソース = 'src')
env.RMIC(ターゲット = 'outdir1'、ソース = クラス)

env.RMIC(ターゲット = 'outdir2',
ソース = ['パッケージ/foo.class', 'パッケージ/bar.class'])

env.RMIC(ターゲット = 'outdir3',
ソース = ['classes/foo.class', 'classes/bar.class'],
JAVACLASSDIR = 'クラス')

RPCGenClient(), env.RPCGenClient()
指定された RPC (.x) ソース ファイルから RPC クライアント スタブ (_clnt.c) ファイルを生成します。
rpcgen はローカル ディレクトリに出力ファイルのみを構築するため、コマンドは次のようになります。
デフォルトではソースファイルのディレクトリで実行されます。

# src/rpcif_clnt.c をビルドします
env.RPCGenClient('src/rpcif.x')

RPCGenHeader(), env.RPCGenHeader()
指定された RPC (.x) ソース ファイルから RPC ヘッダー (.h) ファイルを生成します。なぜなら
rpcgen はローカル ディレクトリに出力ファイルを構築するだけであり、コマンドは実行されます。
デフォルトではソースファイルのディレクトリにあります。

# src/rpcif.h をビルドします
env.RPCGenHeader('src/rpcif.x')

RPCGenService(), env.RPCGenService()
指定された RPC (.x) ソース ファイルから RPC サーバー スケルトン (_svc.c) ファイルを生成します。
rpcgen はローカル ディレクトリに出力ファイルのみを構築するため、コマンドは次のようになります。
デフォルトではソースファイルのディレクトリで実行されます。

# src/rpcif_svc.c をビルドします
env.RPCGenClient('src/rpcif.x')

RPCGenXDR(), env.RPCGenXDR()
指定された RPC (.x) ソース ファイルから RPC XDR ルーチン (_xdr.c) ファイルを生成します。
rpcgen はローカル ディレクトリに出力ファイルのみを構築するため、コマンドは次のようになります。
デフォルトではソースファイルのディレクトリで実行されます。

# src/rpcif_xdr.c をビルドします
env.RPCGenClient('src/rpcif.x')

共有ライブラリ(), env.SharedLibrary()
1 つ以上の指定された共有ライブラリ (POSIX システムでは .so、Windows では .dll) を構築します。
オブジェクト ファイル、または C、C++、D、または Fortran ソース ファイル。ソース ファイルが指定されている場合は、
これらは自動的にオブジェクト ファイルにコンパイルされます。静的ライブラリの接頭辞と
サフィックス (存在する場合) はターゲットに自動的に追加されます。ターゲットライブラリファイルのプレフィックス
(によって指定された $SHLIBPREFIX 構築変数。デフォルトでは、POSIX 上の lib
システム、Windows システムでは何もありません)とサフィックス( $SHLIBSUFFIX
構築変数。デフォルトでは、Windows システムでは .dll、POSIX システムでは .so)
まだ存在しない場合は、ターゲットに自動的に追加されます。例:

env.SharedLibrary(ターゲット = 'bar', ソース = ['bar.c', 'foo.o'])

Windows システムでは、 共有ライブラリ builder メソッドは常にインポートをビルドします
共有 (.dll) ライブラリに加えて (.lib) ライブラリを追加し、
.lib ファイルがまだ明示的にリストされていない場合は、同じベース名
ターゲット。

Cygwin システムでは、 共有ライブラリ builder メソッドは常にインポートをビルドします
共有 (.dll) ライブラリに加えて (.dll.a) ライブラリ、.dll.a ライブラリを追加
.dll.a ファイルがまだ明示的にリストされていない場合は、同じベース名を使用します。
ターゲット。

ソースにリストされているオブジェクト ファイルはすべて、共有ライブラリ (
つまり、 共有オブジェクト ビルダーメソッド)。 scons は、何かがある場合にエラーを発生させます。
ミスマッチ。

一部のプラットフォームでは、共有ライブラリ (ロードされたライブラリ) が区別されます。
外部参照を解決するためにシステムによって自動的に) とロード可能なモジュール
(ユーザーアクションによって明示的にロードされます)。可搬性を最大限に高めるには、 ロード可能なモジュール
後者のビルダー。

$SHLIBVERSION 構築変数が定義されている バージョン管理された共有ライブラリが定義されている
作成した。これにより、 $SHLINKFLAGS 必要に応じて、バージョン番号を
ライブラリ名を指定し、必要なシンボリックリンクを作成します。

env.SharedLibrary(ターゲット = 'bar', ソース = ['bar.c', 'foo.o'], SHLIBVERSION='1.5.2')

POSIX システムでは、単一のトークンを持つバージョンは 1 つのシンボリックリンクを作成します。
libbar.so.6 にはシンボリックリンク libbar.so のみが含まれます。 POSIX システムでは、XNUMX つのバージョン
2.3.1 つ以上のトークンにより、正確に XNUMX つのシンボリックリンクが作成されます。libbar.so.XNUMX にはシンボリックリンクが含まれます。
libbar.so および libbar.so.2; Darwin (OSX) システムでは、ライブラリは次のようになります。
libbar.2.3.1.dylib であり、リンクは libbar.dylib になります。

Windows システムでは、 register=1 を指定すると、.dll が後で登録されます。
REGSVR32 を使用して構築されています。実行されるコマンド (デフォルトでは「regsvr32」) は次のとおりです。
によって決定 $REGSVR 構築変数、および渡されるフラグは次によって決定されます。
$REGSVRFLAGS。 デフォルトでは、 $REGSVRFLAGS 含まれています /s オプション、ダイアログが表示されないようにする
ポップアップが表示され、実行時にユーザーの注意が必要になります。変更する場合 $REGSVRFLAGS  
必ず含めてください /s オプション。 例えば、

env.SharedLibrary(ターゲット = 'バー',
ソース = ['bar.cxx', 'foo.obj'],
レジスタ=1)

リンクが完了すると、bar.dll が COM オブジェクトとして登録されます。

SharedObject(), env.SharedObject()
共有ライブラリに含めるためのオブジェクト ファイルを構築します。ソース ファイルには次のいずれかが含まれている必要があります。
上で指定したのと同じ拡張子のセット 静的オブジェクト ビルダーメソッド。の上
一部のプラットフォームでは、共有オブジェクトを構築するには追加のコンパイラ オプションが必要です (例:
-fPIC gcc の場合)、通常の (静的) オブジェクトを構築するために必要なものに加えて、
一部のプラットフォームでは、共有オブジェクトと通常の (静的) オブジェクトに違いはありません
1つ。違いがある場合、SCons は共有オブジェクトのリンクのみを許可します。
共有ライブラリに追加され、共有オブジェクトには別のサフィックスが使用されます。の上
違いがないプラットフォームでは、SCons は通常 (静的) と両方のプラットフォームを許可します。
共有オブジェクトは共有ライブラリにリンクされ、同じサフィックスを使用します。
共有オブジェクトと通常の (静的) オブジェクト。ターゲット オブジェクト ファイルのプレフィックス (
$SHOBJPREFIX 構築変数。デフォルトでは、と同じ $OBJPREFIX) と接尾辞
(によって指定された $SHOBJSUFFIX 構築変数) が自動的に追加されます。
まだ存在しない場合はターゲットを指定します。例:

env.SharedObject(ターゲット = 'ddd'、ソース = 'ddd.c')
env.SharedObject(ターゲット = 'eee.o'、ソース = 'eee.cpp')
env.SharedObject(ターゲット = 'fff.obj'、ソース = 'fff.for')

ソース ファイルは、
SourceFileScanner オブジェクト。詳細については、以下の「スキャナ オブジェクト」セクションを参照してください。
情報を表示します。

静的ライブラリ(), env.StaticLibrary()
1 つ以上のオブジェクト ファイル、または C、C++、D、または Fortran ソースを指定して静的ライブラリを構築します
ファイル。ソース ファイルが指定されている場合、それらは自動的にコンパイルされます。
オブジェクトファイル。静的ライブラリのプレフィックスとサフィックス (存在する場合) が自動的に追加されます。
ターゲット。ターゲット ライブラリ ファイルのプレフィックス ( $LIBPREFIX 建設
変数;デフォルトでは、POSIX システムでは lib、Windows システムでは何もありません)およびサフィックス
(によって指定された $LIBSUFFIX 構築変数。デフォルトでは、Windows の .lib
システムでは .a、POSIX システムでは .a) がまだターゲットに追加されていない場合は自動的に追加されます
現在。 例:

env.StaticLibrary(ターゲット = 'bar', ソース = ['bar.c', 'foo.o'])

ソースにリストされているオブジェクト ファイルはすべて、静的ライブラリ (
つまり、 静的オブジェクト ビルダーメソッド)。 scons は、何かがある場合にエラーを発生させます。
ミスマッチ。

静的オブジェクト(), env.StaticObject()
1 つ以上の C、C++、D、または Fortran ソース ファイルから静的オブジェクト ファイルを構築します。
ソース ファイルには、次のいずれかの拡張子が必要です。

.asm アセンブリ言語ファイル
.ASM アセンブリ言語ファイル
.c C ファイル
.C Windows: C ファイル
POSIX: C++ ファイル
.cc C++ ファイル
.cpp C++ ファイル
.cxx C++ ファイル
.cxx C++ ファイル
.c++ C++ ファイル
.C++ C++ ファイル
.dDファイル
.f Fortran ファイル
.F Windows: Fortran ファイル
POSIX: Fortran ファイル + C プリプロセッサ
.for Fortran ファイル
.FOR Fortran ファイル
.fpp Fortran ファイル + C プリプロセッサ
.FPP Fortran ファイル + C プリプロセッサ
.m オブジェクト C ファイル
.mm オブジェクト C++ ファイル
.s アセンブリ言語ファイル
.S Windows: アセンブリ言語ファイル
ARM: CodeSourcery Sourcery Lite
.sx アセンブリ言語ファイル + C プリプロセッサ
POSIX: アセンブリ言語ファイル + C プリプロセッサ
.spp アセンブリ言語ファイル + C プリプロセッサ
.SPP アセンブリ言語ファイル + C プリプロセッサ

ターゲット オブジェクト ファイルのプレフィックス ( $OBJPREFIX 構築変数。
デフォルトでは何もありません) とサフィックス ( $OBJSUFFIX 構築変数。
Windows システムでは .obj、POSIX システムでは .o) は、次の場合に自動的にターゲットに追加されます。
すでに存在していません。例:

env.StaticObject(ターゲット = 'aaa'、ソース = 'aaa.c')
env.StaticObject(ターゲット = 'bbb.o'、ソース = 'bbb.c++')
env.StaticObject(ターゲット = 'ccc.obj'、ソース = 'ccc.f')

ソース ファイルは、次のサフィックス マッピングに従ってスキャンされることに注意してください。
SourceFileScanner オブジェクト。詳細については、以下の「スキャナ オブジェクト」セクションを参照してください。
情報を表示します。

サブファイル(), env.Substfile()
この サブファイル ビルダーは、別のファイルまたは一連のファイルから単一のテキスト ファイルを作成します。
それらを連結する $LINESEPARATOR を使用してテキストを置き換えます $SUBST_DICT
構築変数。ソース ファイルのネストされたリストはフラット化されます。こちらも参照 テキストファイル.

.in 接尾辞が付いた単一のソース ファイルが存在する場合、その接尾辞は削除され、
残りはデフォルトのターゲット名として使用されます。

で指定されたプレフィックスとサフィックス $SUBSTFILEPREFIX$SUBSTFILESUFFIX
構築変数 (どちらの場合もデフォルトでは NULL 文字列) は自動的に
まだ存在しない場合はターゲットに追加されます。

という名前の構築変数がある場合、 $SUBST_DICT が存在する場合は、Python のいずれかである可能性があります
辞書または (キー,値) タプルのシーケンス。辞書の場合は変換されます
任意の順序でタプルのリストに変換するため、あるキーが別のキーのプレフィックスである場合
または、ある置換を別の置換によってさらに拡張できる場合は、
拡大が起こるかどうかは予測できません。

ソース内でキーが出現すると、対応する値に置き換えられます。
Python 呼び出し可能な関数または文字列を指定できます。値が呼び出し可能な場合は、
文字列を取得するために引数なしで呼び出されます。文字列は SUBST-展開と結果
鍵を交換します。

env = 環境(ツール = ['デフォルト', 'テキストファイル'])

env['プレフィックス'] = '/ usr / bin'
script_dict = {'@prefix@': '/ binに', @exec_prefix@: '$prefix'}
env.Substfile('script.in', SUBST_DICT = script_dict)

conf_dict = {'%VERSION%': '1.2.3', '%BASE%': 'MyProg'}
env.Substfile('config.h.in', conf_dict, SUBST_DICT = conf_dict)

# 予測不可能 - あるキーが別のキーのプレフィックスである
bad_foo = {'$foo': '$foo', '$foobar': '$foobar'}
env.Substfile('foo.in', SUBST_DICT = bad_foo)

# 予測可能 - キーは最も長く最初に適用されます
Good_foo = [('$foobar', '$foobar'), ('$foo', '$foo')]
env.Substfile('foo.in', SUBST_DICT = Good_foo)

# 予測不可能 - 1 つの置換がさらに拡張される可能性があります
bad_bar = {'@bar@': '@soap@', '@soap@': '灰汁'}
env.Substfile('bar.in', SUBST_DICT = bad_bar)

# PREDICTABLE - 置換は順番に展開されます
Good_bar = (('@bar@', '@soap@'), ('@soap@', 'lye'))
env.Substfile('bar.in', SUBST_DICT = Good_bar)

# SUBST_DICT は共通である可能性があります (オーバーライドではありません)。
置換 = {}
subst = 環境(ツール = ['テキストファイル']、SUBST_DICT = 置換)
置換['@foo@'] = 'foo'
subst['SUBST_DICT']['@bar@'] = 'バー'
subst.Substfile('pgm1.c', [Value('#include "@[メール保護]"")、
値('#include "@[メール保護]"")、
"common.in"、
「pgm1.in」
])
subst.Substfile('pgm2.c', [Value('#include "@[メール保護]"")、
値('#include "@[メール保護]"")、
"common.in"、
「pgm2.in」
])

タール(), env.Tar()
指定されたファイルやディレクトリの tar アーカイブを構築します。ほとんどのビルダーとは異なります
メソッド、 タール builder メソッドは、特定のターゲットに対して複数回呼び出される場合があります。それぞれ
追加の呼び出しにより、アーカイブに組み込まれるエントリのリストが追加されます。どれでも
ソース ディレクトリは、ディスク上のファイルへの変更がないかどうかに関係なくスキャンされます。
scons が他の Builder または関数呼び出しからそれらについて知っているかどうか。

env.Tar('src.tar', 'src')

#stuff.tar ファイルを作成します。
env.Tar('stuff', ['subdir1', 'subdir2'])
# また、stuff.tar ファイルに「another」を追加します。
env.Tar('もの', '別')

# TARFLAGS を設定して gzip フィルタリングされたアーカイブを作成します。
env = 環境(TARFLAGS = '-c -z')
env.Tar('foo.tar.gz', 'foo')

# サフィックスも .tgz に設定します。
env = 環境(TARFLAGS = '-c -z',
TARSUFFIX = '.tgz')
env.Tar('foo')

テキストファイル(), env.Textfile()
この テキストファイル ビルダーは単一のテキスト ファイルを生成します。ソース文字列は、
行;ソースのネストされたリストはフラット化されます。 $LINESEPARATOR を分離するために使用されます
文字列。

存在する場合、 $SUBST_DICT 構築変数は、文字列を変更するために使用されます。
それらは書かれています。を参照してください サブファイル 詳細については説明を参照してください。

で指定されたプレフィックスとサフィックス $TEXTFILEPREFIX$TEXTFILESUFFIX
構築変数 (デフォルトではそれぞれ null 文字列と .txt) は次のとおりです。
まだ存在しない場合は、ターゲットに自動的に追加されます。例:

# foo.txt をビルド/書き込みします
env.Textfile(ターゲット = 'foo.txt', ソース = ['ゲーテ', 42, 'シラー'])

# bar.txt を構築/書き込みします
env.Textfile(ターゲット = 'バー',
出典 = ['ラララ', 'たんてい亭'],
LINESEPARATOR='|*')

# 個のネストされたリストは自動的にフラット化されます
env.Textfile(ターゲット = 'blob',
出典 = ['lalala', ['ゲーテ', 42 'シラー'], 'たんてい亭'])

# ファイルは File() でラップすることで入力として使用できます
env.Textfile(target = 'concat', # 間にマーカーを入れてファイルを連結します
ソース = [ファイル('concat1'), ファイル('concat2')],
LINESEPARATOR = '====================\n')

結果は次のとおりです。
foo.txt
....8<----
ゲーテ
42
シラー
....8<---- (最後に改行なし)

bar.txt:
....8<----
ラララ|*たんて亭
....8<---- (最後に改行なし)

blob.txt
....8<----
LALALA
ゲーテ
42
シラー
探偵亭
....8<---- (最後に改行なし)

翻訳する(), env.Translate()
この疑似ビルダーは gettext ツールセットに属します。ビルダーは国際化された抽出物を抽出します
ソース ファイルからのメッセージ、POT テンプレートの更新 (必要な場合)、その後 PO の更新
翻訳(必要な場合)。もし $POAUTOINIT が設定されている場合、不足している PO ファイルは
自動的に作成されます (つまり、翻訳者の介入なしで)。変数
$LINGUAS_FILE$ポットドメイン も考慮されます。その他すべての工事
によって使用される変数 POTアップデート, POアップデート ここでも働け。

1。最も簡単な方法は、入力ファイルと出力言語をインラインで指定することです。
呼び出し時の SCons スクリプト 翻訳します

# 'po/' ディレクトリ内の SConscript
env = 環境( tools = ["default", "gettext"] )
env['POAUTOINIT'] = 1
env.Translate(['en','pl'], ['../a.cpp','../b.cpp'])

2。必要に応じて、オートツールで知られている従来のスタイルに固執することもできます。
つまり、POTFILES.in および LINGUAS ファイルを使用する

#リンガ
英語
#終わり

#ポットファイル.in
a.cpp
b.cpp
# 終わり

#SConscript
env = 環境( tools = ["default", "gettext"] )
env['POAUTOINIT'] = 1
env['XGETTEXTPATH'] = ['../']
env.Translate(LINGUAS_FILE = 1, XGETTEXTFROM = 'POTFILES.in')

おそらく最後のアプローチが推奨される方法です。簡単に分割できます
別個の SCons スクリプトへの国際化/ローカライゼーション。
ソース ツリーは、翻訳 (ソースから PO ファイルへ) とスクリプトを担当します。
バリアント ディレクトリの下では、PO から MO ファイルのコンパイルを担当します。
MOファイルのインストール。これら 2 つのスクリプトを同期させる「結合要素」は次のようになります。
LINGUAS ファイルの内容。更新された POT および PO ファイルは通常、
リポジトリにコミットバックされるため、ソース内で更新する必要があります
ディレクトリ (バリアント ディレクトリではない)。さらに、po/ のファイルリスト
ディレクトリには LINGUAS ファイルが含まれているため、ソース ツリーは翻訳者にとって見慣れたものに見えます。
彼らは通常の方法でプロジェクトに取り組むことができます。

3。以下のような開発ツリーを用意しましょう

プロジェクト/
+ SConstruct
+ ビルド/
+ソース/
+ポ/
+ SConscript
+ SConscript.i18n
+ ポットファイル.in
+リンガ

build はバリアント ディレクトリです。最上位の SConstruct スクリプトを次のように記述します。

#SConstruct
env = 環境( tools = ["default", "gettext"] )
VariantDir('build', 'src', 重複 = 0)
env['POAUTOINIT'] = 1
SConscript('src/po/SConscript.i18n', エクスポート = 'env')
SConscript('build/po/SConscript', エクスポート = 'env')

src/po/SConscript.i18n として

# src/po/SConscript.i18n
インポート('env')
env.Translate(LINGUAS_FILE=1, XGETTEXTFROM='POTFILES.in', XGETTEXTPATH=['../'])

および src/po/SConscript

# src/po/SConscript
インポート('env')
env.MOFiles(LINGUAS_FILE = 1)

このようなセットアップでは、src/po/ のソース ツリーの下に POT ファイルと PO ファイル、およびバイナリ MO ファイルが生成されます。
build/po/ のバリアント ツリーの下にあります。このようにして、POT ファイルと PO ファイルが分離されます。
他の出力ファイル。ソース リポジトリ (MO など) にコミットして戻すことはできません。
ファイル)。

注意
上の例では、PO ファイルは更新されず、実行時に自動的に作成されません。
問題 軽蔑的 '。' 指示。ファイルは手動で更新 (作成) する必要があります。 軽蔑的
アップデート その後、MO ファイルを実行してコンパイルできます。 軽蔑的 '。'.

TypeLibrary(), env.TypeLibrary()
入力 IDL ファイル (.idl) から Windows タイプ ライブラリ (.tlb) ファイルを構築します。加えて、
関連するインターフェイス スタブとプロキシ ソース ファイルを構築し、名前を付けます。
.idl ファイルのベース名に応じて。例えば、

env.TypeLibrary(source="foo.idl")

foo.tlb、foo.h、foo_i.c、foo_p.c、および foo_data.c ファイルが作成されます。

ウイック(), env.Uic()
ui ファイルからヘッダー ファイル、実装ファイル、moc ファイルを構築します。そして
対応するノードを上記の順序で返します。このビルダーはのみ利用可能です
ツール「qt」を使用した後。注: .ui ファイルをソース ファイルとして直接指定して、
  演奏曲目, 図書室へようこそ共有ライブラリ このビルダーを使用せずにビルダーを作成します。これを使うと
Builder を使用すると、標準の命名規則をオーバーライドできます (注意: 接頭辞は
ビルドされたファイルの名前の先頭に常に追加されます。プレフィックスが不要な場合は、プレフィックスを設定できます
”)に。を参照してください。 $ QTDIR 詳細については、変数を参照してください。例:

env.Uic('foo.ui') # -> ['foo.h', 'uic_foo.cc', 'moc_foo.cc']
env.Uic(target = Split('include/foo.h gen/uicfoo.cc gen/mocfoo.cc'),
ソース = 'foo.ui') # -> ['include/foo.h', 'gen/uicfoo.cc', 'gen/mocfoo.cc']

ジップ(), env.Zip()
指定されたファイルやディレクトリの zip アーカイブを構築します。ほとんどのビルダーとは異なります
メソッド、 builder メソッドは、特定のターゲットに対して複数回呼び出される場合があります。それぞれ
追加の呼び出しにより、アーカイブに組み込まれるエントリのリストが追加されます。どれでも
ソース ディレクトリは、ディスク上のファイルへの変更がないかどうかに関係なくスキャンされます。
scons が他の Builder または関数呼び出しからそれらについて知っているかどうか。

env.Zip('src.zip', 'src')

#stuff.zip ファイルを作成します。
env.Zip('stuff', ['subdir1', 'subdir2'])
# また、stuff.tar ファイルに「another」を追加します。
env.Zip('もの', '別')

ビルダー メソッドのすべてのターゲットは、自動的にソースに依存します。明示的な
依存関係は、 依存 コンストラクション環境のメソッド (「
下)。

加えて、 軽蔑的 さまざまなプログラミング言語のソース ファイルを自動的にスキャンします。
依存関係を明示的に指定する必要はありません。デフォルトでは、SCons は C ソースを実行できます。
ファイル、C++ ソース ファイル、Fortran ソース ファイル .F (POSIX システムのみ)、 .fpp、 or .FPP
ファイル拡張子、およびアセンブリ言語ファイル .S (POSIX システムのみ)、 .spp、 or .SPP
C プリプロセッサの依存関係のファイル拡張子。 SCons もデフォルトでサポートしています。
D ソース ファイルをスキャンします。独自のスキャナを作成して、D ソース ファイルのサポートを追加することもできます。
追加のソース ファイル タイプ。これらは、によって使用されるデフォルトの Scanner オブジェクトに追加できます。
オブジェクト()、 静的オブジェクト()、 と 共有オブジェクト() ビルダーを
ソースファイルスキャナ 物体。詳細については、以下の「スキャナ オブジェクト」セクションを参照してください。
独自の Scanner オブジェクトの定義と ソースファイルスキャナ オブジェクト。

メソッド 機能 〜へ Do 物事
ビルダーメソッドに加えて、 軽蔑的 その他多数の構築環境を提供
ビルド構成を操作するためのメソッドとグローバル関数。

通常、同じ名前のコンストラクション環境メソッドとグローバル関数の両方が使用されます。
機能の特定のビットを実行する必要があるかどうかを覚えておく必要がないように存在します。
コンストラクション環境の有無に関係なく呼び出されます。次のリストで電話をかけると、
グローバル関数としては次のようになります。

関数(引数)

コンストラクション環境を通じて何かを呼び出すと、次のようになります。

env.Function(引数)

両方の方法で機能を呼び出すことができる場合は、両方の形式がリストされます。

グローバル関数は、
SConscript ファイルを作成するには、Python モジュールに以下を追加します。

SCons.Script インポートから *

特に断りのない限り、同名のコンストラクション環境メソッドとグローバル
関数はまったく同じ機能を提供します。唯一の違いは、どこで
適切な場合は、コンストラクション環境を介して機能を呼び出すと、
構築変数を指定された文字列に変換します。例えば:

env = 環境(FOO = 'foo')
デフォルト('$FOO')
env.Default('$FOO')

上の例では、グローバルへの最初の呼び出しは、 デフォルト() 関数は実際に追加します
名前付きターゲット $FOO デフォルトのターゲットのリストにアクセスし、2 番目の呼び出しは
env.Default() コンストラクション環境メソッドは値を展開し、という名前のターゲットを追加します。
foo デフォルトのターゲットのリストに追加します。構築変数の展開の詳細については、
構築変数に関する次のセクション。

でサポートされるコンストラクション環境メソッドとグローバル機能 軽蔑的 次のとおりです。

Action(action, [cmd/str/fun, [var, ...]] [option=value, ...]), env.Action(action,
[cmd/str/fun, [var, ...]] [option=value, ...])
指定されたアクションのアクションオブジェクトを作成します。 アクション。 「アクションオブジェクト」セクションを参照してください。
引数と動作の完全な説明については、以下を参照してください。

なお、 環境アクション() 形式の呼び出しは構築変数を展開します
引数文字列には、 アクション 引数を使用して呼び出されたとき
の構築変数 env 建設環境を通じて
環境アクション() と呼ばれていました。の 行動() 形式は、
実際にアクションオブジェクトが使用されます。

AddMethod(オブジェクト, 関数, [名前])、env.AddMethod(関数, [名前])
で呼び出されたとき 追加メソッド() 形式で、指定された内容を追加します function 指定する
オブジェクト 指定された方法として 。で呼び出すと、 env.AddMethod() 形式で追加します
指定された function 建設環境への env 指定された方法として
。どちらの場合も、 省略またはNone、指定された名前 function
それ自体がメソッド名として使用されます。

例:

# 関数の最初の引数が
# メソッドとしてアタッチされるのはオブジェクトである必要があります
# このメソッドが呼び出されます。パイソン
# 慣例として、これを「self」と呼びます。
def my_method(self, arg):
print "my_method() got", arg

# グローバル AddMethod() 関数を使用してメソッドを追加します
# 環境クラスに。これ
AddMethod(環境, my_method)
env = 環境()
env.my_method('arg')

# 関数を使用して関数をメソッドとして追加します
# メソッド呼び出しの名前。
env = 環境()
env.AddMethod(my_method, 'other_method_name')
env.other_method_name('別の引数')

AddOption(引数)
この関数は、認識される新しいコマンドライン オプションを追加します。指定された 引数
標準の Python でサポートされているものと同じです optparse.add_option() メソッド (
以下にいくつかの追加機能を示します)。 optparse のドキュメントを参照してください。
オプション処理能力について徹底的に議論します。

でサポートされている引数と値に加えて、 optparse.add_option() 方法、
Sコン オプションの追加 関数を使用すると、nargs キーワード値を「?」に設定できます。 (
疑問符のみを含む文字列) は、指定された長いオプションであることを示します
を取る 任意 口論。 nargs = '?' の場合に渡されます オプションの追加 機能、
const キーワード引数は、「デフォルト」値を指定するために使用できます。
コマンドラインで明示的な引数を指定せずにオプションを指定する場合に使用されます。

呼び出し時にdefault=キーワード引数が指定されていない場合 オプションの追加、オプションは
デフォルト値は「なし」です。

新しいコマンドライン オプションが追加されると、 オプションの追加、オプションの値は次のようになります。
を使用してアクセス GetOption or env.GetOption()。値は次を使用して設定することもできます。
オプションの設定 or env.SetOption()、SConscript の条件をオーバーライドする必要がある場合
デフォルト値。ただし、コマンドラインで指定した値は、 常に
SConscript ファイルによって設定された値をオーバーライドします。

新しいオプションに対して指定された help= 文字列は、 -H or -h
オプション (後者は、SConscript ファイルで他のヘルプ テキストが指定されていない場合のみ)。
で指定されたローカル オプションのヘルプ テキスト オプションの追加 SConsの下に表示されます
オプション自体は、別のローカル オプションの見出しの下にあります。オプションが表示されます
ヘルプテキストは、 オプションの追加 通話が発生します。

例:

AddOption('--プレフィックス',
dest='プレフィックス',
nargs=1、タイプ='文字列'、
アクション='ストア'、
メタ変数='DIR',
help='インストールプレフィックス')
env = 環境(PREFIX = GetOption('prefix'))

AddPostAction(ターゲット, アクション)、env.AddPostAction(ターゲット, アクション)
指定されたものを手配します アクション 指定された後に実行される ターゲット されています
建てられた。指定されたアクションは、Action オブジェクト、またはアクション オブジェクトである可能性があるものであれば何でもかまいません。
Action オブジェクトに変換されます (以下を参照)。

複数のターゲットが指定された場合、アクションは複数回呼び出される可能性があります。
リスト内に 1 つ以上のターゲットを生成する各アクションの後に。

AddPreAction(ターゲット, アクション)、env.AddPreAction(ターゲット, アクション)
指定されたものを手配します アクション 指定された時間の前に実行される ターゲット is
建てられた。指定されたアクションは、Action オブジェクト、またはアクション オブジェクトである可能性があるものであれば何でもかまいません。
Action オブジェクトに変換されます (以下を参照)。

複数のターゲットが指定されている場合、アクションは複数回呼び出される可能性があります。
リスト内に 1 つ以上のターゲットを生成する各アクションの前に。

いずれかのターゲットが複数のステップで構築されている場合、アクションは次のようになります。
指定されたものを具体的に生成する「最終」アクションの直前に呼び出されます。
ターゲット。たとえば、指定されたソース .c から実行可能プログラムをビルドする場合
中間オブジェクト ファイル経由でファイルを作成します。

foo = プログラム('foo.c')
AddPreAction(foo, 'pre_action')

指定された pre_action は、scons がリンク コマンドを呼び出す前に実行されます。
実際には、foo.c をコンパイルする前ではなく、実行可能プログラムのバイナリ foo を生成します。
ファイルをオブジェクトファイルに変換します。

Alias(エイリアス, [ターゲット, [アクション]])、env.Alias(エイリアス, [ターゲット, [アクション]])
1 つ以上の他のターゲットに拡張する 1 つ以上の偽のターゲットを作成します。アン
任意 アクション (コマンド) または実行されるアクションのリストを指定できます
エイリアス ターゲットのいずれかが古くなったとき。 Nodeオブジェクトを返します。
ファイル システムの外部に存在するエイリアスを表します。この Node オブジェクト、または
エイリアス名は、別のターゲットを含む他のターゲットの依存関係として使用できます。
エイリアス。 エイリアス 同じエイリアスに対して複数回呼び出して追加の追加を行うことができます
ターゲットをエイリアスに追加するか、追加のアクションをこのエイリアスのリストに追加します。

例:

エイリアス('インストール')
Alias('インストール', '/ usr / bin')
Alias(['install', 'install-lib'], '/ usr / local / lib')

env.Alias('インストール', ['/ usr / local / bin」、「/ usr / local / lib'])
env.Alias('インストール', ['/ usr / local / man'])

env.Alias('update', ['file1', 'file2'], "update_database $SOURCES")

AllowSubstExceptions([例外, ...])
構築変数を展開するときに許可される例外を指定します。
デフォルトでは、NameError または
IndexError 例外は '' (null 文字列) に展開され、scon は失敗しません。
指定されたリストにない例外はすべてエラー メッセージを生成して終了します。
処理。

If 許可SubstExceptions が複数回呼び出される場合、各呼び出しによって完全に上書きされます。
許可される例外の以前のリスト。

例:

# すべての構築変数名が存在する必要があります。
# (厳密に強制したい場合はこれを実行するとよいでしょう
# すべての構築変数は使用前に定義する必要があります。)
AllowSubstExceptions()

# ゼロ除算展開を含む文字列も許可します
# '${1 / 0}' のように '' に評価します。
AllowSubstExceptions(IndexError、NameError、ZeroDivisionError)

AlwaysBuild(ターゲット, ...)、env.AlwaysBuild(ターゲット, ...)
それぞれに与えられたマーク ターゲット そのため、常に古いものとみなされます。
必要に応じて常に再構築してください。ただし、次のことに注意してください。 AlwaysBuild それを追加しません
ターゲットをデフォルトのターゲット リストに追加するため、ターゲットは次の場合にのみ構築されます。
コマンドラインで指定されたもの、またはコマンドで指定されたターゲットに依存するもの
ライン -- しかし、彼らはそうするだろう 常に 指定されている場合はビルドされます。複数のターゲットを渡すことができます
たった一度の電話で AlwaysBuild.

env.Append(key=val, [...])
指定されたキーワード引数を構築変数の末尾に追加します。
環境。環境に指定された構築変数がない場合、
単に環境に追加されるだけです。構築変数の値と
キーワード引数が同じ型の場合、2 つの値は単純に加算されます。
それ以外の場合、構築変数とキーワード引数の値は両方とも
リストに強制され、リストは一緒に追加されます。 (Prepend メソッドも参照してください。
以下。)

例:

env.Append(CCFLAGS = ' -g', FOO = ['foo.yyy'])

env.AppendENVPath(name, newpath, [envname, sep, delete_existing])
これにより、指定された外部環境内の指定されたパスに新しいパス要素が追加されます。
(デフォルトでは ENV)。これにより、特定のパスが 1 回だけ追加されます (最後のパスはそのまま残ります)。
パスの順序を維持するために、遭遇し、残りを無視します)、これを保証するために、
すべてのパスを正規化します(使用して os.path.normpathos.path.normcase)。 これもできます
指定された古いパス変数が文字列ではなくリストである場合を処理します。
この場合、文字列の代わりにリストが返されます。

If 既存の削除 が 0 の場合、既に存在するパスを追加しても、パスは XNUMX に移動されません。
終わり;リスト内のどこにでも残ります。

例:

print 'before:',env['ENV']['INCLUDE']
include_path = '/foo/bar:/foo'
env.AppendENVPath('INCLUDE', include_path)
print 'after:',env['ENV']['INCLUDE']

収量:
前: /foo:/biz
後: /biz:/foo/bar:/foo

env.AppendUnique(key=val, [...], delete_existing=0)
指定されたキーワード引数を構築変数の末尾に追加します。
環境。環境に指定された構築変数がない場合、
単に環境に追加されるだけです。追加される構築変数が
リストの場合、構築変数にすでに存在する値はすべて be
再びリストに追加されました。ただし、delete_existing が 1 の場合、既存の一致する値は
が最初に削除されるため、arg リスト内の既存の値はリストの最後に移動します。

例:

env.AppendUnique(CCFLAGS = '-g', FOO = ['foo.yyy'])

env.BitKeeper()
ソース ファイルのフェッチに使用される Builder オブジェクトを返すファクトリ関数
BitKeeperを使用します。返されたビルダーは、 ソースコード
機能。

この関数は廃止されました。詳細については、のエントリを参照してください。 ソースコード 機能。

例:

env.SourceCode('.', env.BitKeeper())

BuildDir(build_dir, src_dir, [重複])、env.BuildDir(build_dir, src_dir, [重複])
非推奨の同義語 バリアントディレクトリenv.VariantDir()。 NS ビルドディレクトリ 引数
になります バリアントディレクトリ の引数 バリアントディレクトリ or env.VariantDir()。

Builder(アクション, [引数])、env.Builder(アクション, [引数])
指定されたオブジェクトの Builder オブジェクトを作成します。 アクション。 「ビルダーオブジェクト」セクションを参照してください。
引数と動作の完全な説明については、以下を参照してください。

なお、 環境ビルダー() 形式の呼び出しは構築変数を展開します
引数文字列には、 アクション 引数、呼び出された時点で
の構築変数を使用して、 env 建設環境を通じて
環境ビルダー() と呼ばれていました。の ビルダー フォームはすべての変数の展開を後まで遅らせます。
Builder オブジェクトが実際に呼び出されます。

CacheDir(cache_dir)、env.CacheDir(cache_dir)
scons が派生ファイルのキャッシュを維持することを指定します。 キャッシュディレクトリ。派生した
キャッシュ内のファイルは、同じものを使用するすべてのビルド間で共有されます。 キャッシュディレクトリ コール。
の指定 キャッシュディレクトリ None を指定すると、派生ファイルのキャッシュが無効になります。

呼び出し env.CacheDir() は、指定されたターゲットを通じてビルドされたターゲットにのみ影響します。
建設環境。電話をかける キャッシュディレクトリ によって使用されるグローバルなデフォルトを設定します。
構築環境を通じて構築されたすべてのターゲット 持っている env.CacheDir()
指定。

キャッシュディレクトリ() が使用されており、scons は必要な派生ファイルを見つけます。
再構築されると、まずキャッシュ内を調べて、派生ファイルがすでに作成されているかどうかを確認します。
同一の入力ファイルと同一のビルド アクションからビルドされます (
MD5 ビルド署名)。その場合、scons はキャッシュからファイルを取得します。もし
派生ファイルがキャッシュに存在しない場合、scons はそれを再構築してコピーを配置します
キャッシュ内のビルドされたファイル (MD5 ビルド署名によって識別される) の
同一のファイルから同じ派生ファイルをビルドする必要がある他のビルドによって取得される
入力。

指定されたものを使用する キャッシュディレクトリ を使用すると、呼び出しを無効にすることができます。
--キャッシュ無効化 オプションを選択します。

Status --キャッシュフォース オプションが使用されると、scons は次のコピーを配置します。 派生ファイル
キャッシュがすでに存在していて、この呼び出しによって構築されなかった場合でも。これは
初めてキャッシュを作成する場合に便利です キャッシュディレクトリ ビルドに追加されるか、使用後に追加されます
  --キャッシュ無効化 オプションを選択します。

使用時 キャッシュディレクトリ、scons は、次の場合を除き、「キャッシュから `file' を取得しました」と報告します。
--キャッシュショー オプションが使用されています。とき --キャッシュショー オプションが使用されると、scons は
そのアクションを出力します でしょう 何の兆候もなく、ファイルの構築に使用されました
ファイルが実際にキャッシュから取得されたものであることを確認します。これはビルドを生成するのに役立ちます
特定の派生ファイルが構築されたかどうかに関係なく、同等のログ
インプレースで、またはキャッシュから取得されます。

この キャッシュなし メソッドを使用すると、特定のファイルのキャッシュを無効にすることができます。これは可能です
何らかのツールの入力および/または出力が予測不可能な場合や、
法外に大きい。

Clean(ターゲット、ファイルまたはディレクトリ)、env.Clean(ターゲット、ファイルまたはディレクトリ)
これは、次の場合に常に削除する必要があるファイルまたはディレクトリのリストを指定します。
ターゲットは、 -c コマンドラインオプション。指定されたターゲットは、
リストまたは個別のターゲット。への複数の呼び出し 石斑魚 合法であり、新しいものを作成する
ターゲットを削除するか、指定されたターゲットのクリーン リストにファイルとディレクトリを追加します。

複数のファイルまたはディレクトリは、
石斑魚 メソッドまたはリストとして。 石斑魚 また、次のいずれかの戻り値も受け入れます。
構築環境ビルダーメソッド。例:

関連する ノークリーン 関数は呼び出しをオーバーライドします 石斑魚 同じターゲットに対しても、
両方の関数に渡されるターゲットは、 によって削除される -c オプションを選択します。

例:

Clean('foo', ['bar', 'baz'])
Clean('dist', env.Program('hello', 'hello.c'))
Clean(['foo', 'bar'], 'something_else_to_clean')

この例では、プロジェクトをインストールすると、ドキュメント用のサブディレクトリが作成されます。
このステートメントにより、プロジェクトがアンインストールされた場合にサブディレクトリが削除されます。

Clean(docdir, os.path.join(docdir, プロジェクト名))

env.Clone([key=val, ...])
コンストラクション環境の別のコピーを返します。何かキーワードがあれば
引数を指定すると、返されたコピーに追加され、既存の引数が上書きされます。
キーワードの値。

例:

env2 = env.Clone()
env3 = env.Clone(CCFLAGS = '-g')

さらに、環境のように、ツールのリストとツールパスを指定することもできます。
ビルダー:

def MyTool(env): env['FOO'] = 'bar'
env4 = env.Clone(tools = ['msvc', MyTool])

この parse_flags キーワード引数も認識されます。

# wxWidgets を使用するプログラムをコンパイルするための環境を作成する
wx_env = env.Clone(parse_flags = '!wx-config --cflags --cxxflags')

Command(ターゲット, ソース, アクション, [key=val, ...]), env.Command(ターゲット, ソース, アクション,
[キー=val, ...])
特定のアクション (またはアクションのリスト) を実行して、ターゲット ファイルをビルドします。これ
単一の特殊なケースに対して個別の Builder オブジェクトを定義するよりも便利です
ビルド。

特殊な場合として、 ソーススキャナー キーワード引数を使用して、
ソースのスキャンに使用されるスキャナ オブジェクト。 (グローバル DirScanner オブジェクト
いずれかのソースがディスク上でスキャンする必要があるディレクトリである場合に使用できます。
関数呼び出しの他のビルダーでまだ指定されていないファイルへの変更。)

指定された他のキーワード引数は、同じ名前の既存の構造をオーバーライドします。
変数。

アクションは、文字列として指定された外部コマンド、または呼び出し可能な Python にすることができます。
物体;詳細については、以下の「アクション オブジェクト」を参照してください。また、
外部コマンドを指定する文字列の前に @ (アットマーク) を付けて抑制することができます
問題のコマンドを出力するか、- (ハイフン) を使用してコマンドの終了ステータスを無視します。
外部コマンド。

例:

env.Command('foo.out', 'foo.in',
"$FOO_BUILD < $SOURCES > $TARGET")

env.Command('bar.out', 'bar.in',
["rm -f $TARGET",
"$BAR_BUILD < $SOURCES > $TARGET"],
ENV = {'パス' : '/ usr / local / bin /'})

def rename(環境、ターゲット、ソース):
輸入OS
os.rename('.tmp', str(target[0]))

env.Command('baz.out', 'baz.in',
["$BAZ_BUILD < $SOURCES > .tmp",
名前を変更])

なお、 Command 関数は通常、デフォルトで、指定された
構成の他の部分で識別されない場合、ターゲットおよび/またはソースはファイルです。
どのような種類のエントリーなのか。必要に応じて、ターゲットまたは
ソース ノードは、 あなた or 環境ディレクトリ()
機能します。

例:

env.Command('ddd.list', Dir('ddd'), 'ls -l $SOURCE > $TARGET')

env['DISTDIR'] = '宛先/ディレクトリ'
env.Command(env.Dir('$DISTDIR'))、なし、make_distdir)

(また、SCons は通常、必要なディレクトリを自動的に作成することにも注意してください。
ターゲット ファイルを保持するため、通常は手動でディレクトリを作成する必要はありません。)

Configure(env, [custom_tests, conf_dir, log_file, config_h]), env.Configure([custom_tests,
conf_dir、log_file、config_h])
GNU autoconf と同様の統合機能の Configure オブジェクトを作成します。見る
引数の詳細な説明については、以下の「コンテキストの構成」セクションを参照してください。
と行動。

env.Copy([key=val, ...])
現在は非推奨となった次の同義語 環境クローン()。

env.CVS(リポジトリ、モジュール)
ソース ファイルをフェッチするために使用される Builder オブジェクトを返すファクトリ関数。
指定されたCVS 倉庫。返されたビルダーは、
ソースコード 機能。

この関数は廃止されました。詳細については、のエントリを参照してください。 ソースコード 機能。

オプションで指定された モジュール すべてのリポジトリ パスの先頭に追加されます
名前;これは本質的に、最初のディレクトリ名をディレクトリから削除するために使用できます。
リポジトリのパス名を変更することで、リポジトリの一部だけを複製するだけで済みます。
ローカルのビルド ディレクトリ内のディレクトリ階層。

例:

# foo/bar/src.c を取得します
# /usr/local/CVSROOT/foo/bar/src.c から。
env.SourceCode('.', env.CVS('/usr/local/CVSROOT'))

# bar/src.c を取得します
# /usr/local/CVSROOT/foo/bar/src.c から。
env.SourceCode('.', env.CVS('/usr/local/CVSROOT', 'foo'))

# src.c を取得します
# /usr/local/CVSROOT/foo/bar/src.c から。
env.SourceCode('.', env.CVS('/usr/local/CVSROOT', 'foo/bar'))

Decider(関数)、env.Decider(関数)
この構築を通じて構築されたターゲットのすべての最新の決定を指定します。
環境は指定されたものによって処理されます functionを選択します。 function のいずれかになります
実行する決定関数のタイプを指定する次の文字列:

タイムスタンプが新しい
ターゲットが古いものとみなされ、再構築されることを指定します。
依存関係のタイムスタンプがターゲット ファイルのタイムスタンプより新しいです。これは
従来の Make ユーティリティの動作と同様であり、make は次の同義語として使用できます。
タイムスタンプが新しい。

タイムスタンプの一致
ターゲットが古いものとみなされ、再構築されることを指定します。
依存関係のタイムスタンプが、最後に記録されたタイムスタンプとは異なります。
ターゲットが構築されました。これにより、従来の Make ユーティリティと非常によく似た動作が提供されます。
(特に、ファイルの内容をチェックサムできるようにファイルは開かれません)
ただし、依存関係ファイルが復元されている場合はターゲットも再構築されます。
を備えたバージョンに タイムスタンプ(ファイルの復元時に発生する可能性がある)
バックアップアーカイブから。

MD5
ターゲットが古いものとみなされ、再構築されることを指定します。
依存関係の内容は、ターゲットが最後にビルドされたときから変更されています。
依存関係のコンテンツに対して MD5 チェックサムを実行していると判断され、
それを、ターゲットが最後にビルドされたときに記録されたチェックサムと比較します。コンテンツ
MD5 の同義語として使用できます。

MD5 タイムスタンプ
ターゲットが古いものとみなされ、再構築されることを指定します。
依存関係の内容は、ターゲットが最後にビルドされたときから変更されています。
ターゲットが最後に作成された時刻と一致するタイムスタンプを持つ依存関係
再構築されたものは最新であるとみなされます。 再建された。これにより動作が提供されます
ファイルの内容を常にチェックサムする MD5 の動作とよく似ています。
タイムスタンプが設定されていないファイルの内容をチェックしない最適化
かわった。欠点は、SCons が ファイルの内容が次のようなものであるかどうかを検出します。
変更されたが、タイムスタンプは同じです。これは、自動化されたスクリプトで発生する可能性があります。
ビルドの実行、ファイルの更新、ビルドの再実行をすべて単一の実行内で実行します。
秒。

例:

# デフォルトで正確に一致するタイムスタンプを使用します。
Decider('タイムスタンプの一致')

# ビルドされたターゲットには MD5 コンテンツ署名を使用します
# アタッチされた構築環境。
env.Decider('コンテンツ')

上記の既存の機能に加えて、 function 引数は
次の 3 つの引数を取る実際の Python 関数:

依存関係
原因となるノード (ファイル) ターゲット 「変わった」場合は再構築される
前回以来 ターゲット 建った。

ターゲット
構築中のノード (ファイル)。通常の場合、これは再構築されるべきものです
もし 依存関係 変更されました。"

前へ
の状態に関する保存された情報 依存関係 前回は ターゲット ました
建てられた。これを参照して、次のようなさまざまなファイル特性に一致させることができます。
タイムスタンプ、サイズ、またはコンテンツの署名。

この function の場合、True (ゼロ以外) 値を返す必要があります。 依存関係 変更されました"
前回以来 ターゲット がビルドされました (ターゲットがビルドされたことを示します) すべき be
それ以外の場合は False (ゼロ) (ターゲットが再構築されるべきであることを示します) be
再建されました)。適切な基準を使用して決定を行うことができることに注意してください。
関数の引数の一部またはすべてを無視するのはまったく正常です。

例:

def my_decider(依存関係、ターゲット、prev_ni):
os.path.exists(str(target)) を返しません

環境決定者(私の決定者)

デフォルト(ターゲット)、env.Default(ターゲット)
これは、デフォルトのターゲットのリストを指定します。明示的なターゲットがない場合、scons によって構築されます。
ターゲットはコマンドラインで指定します。への複数の呼び出し デフォルト 合法であり、さらに追加する
デフォルトのターゲットのリスト。

複数のターゲットは、 デフォルト メソッド、または
リストとして。 デフォルト また、いずれかの構築によって返されたノードも受け入れます。
環境のビルダーメソッド。

例:

デフォルト('foo', 'bar', 'baz')
env.Default(['a', 'b', 'c'])
hello = env.Program('hello', 'hello.c')
env.Default(こんにちは)

に対する議論 デフォルト [なし] を選択すると、デフォルトのターゲットがすべてクリアされます。その後の電話 デフォルト
通常どおり、(現在は空の) デフォルトのターゲット リストに追加されます。

を使用して追加されたターゲットの現在のリスト デフォルト 関数またはメソッドは次の場所で利用できます
DEFAULT_TARGETS リスト。以下を参照してください。

DefaultEnvironment([args])
デフォルトのコンストラクション環境オブジェクトを作成して返します。この工事は
環境は、グローバル コンポーネントの多くを実行するために、SCons によって内部的に使用されます。
このリストの関数を使用し、ソース コードから透過的にソース ファイルを取得します。
管理システム。

depends(ターゲット, 依存関係), env.Depends(ターゲット, 依存関係)
明示的な依存関係を指定します。の ターゲット いつでも再構築されます 依存関係
変更されました。指定された両方の ターゲット依存関係 文字列にすることもできます (通常は
ファイルまたはディレクトリのパス名)、Node オブジェクト、または文字列のリストまたは Node
オブジェクト (Builder 呼び出しによって返されるオブジェクトなど)。これは場合にのみ必要です
ファイルのスキャナーによって依存関係が検出されない場合。

例:

env.Depends('foo', 'foo の他の入力ファイル')

mylib = env.Library('mylib.c')
インストールされた_lib = env.Install('lib', mylib)
bar = env.Program('bar.c')

# ライブラリがインストール環境にコピーされるように手配します
# "bar" プログラムをビルドする前にディレクトリを参照してください。
# (これは単なる例であることに注意してください。「実際の」ライブラリ
# 依存関係は通常 $LIBS を通じて設定されます
# および $LIBPATH 変数。env.Depends() 呼び出しは使用しません。)

env.Depends(bar、installed_lib)

env.Dictionary([vars])
すべての構築変数のコピーを含む辞書オブジェクトを返します。
環境。変数名が指定されている場合は、指定された変数名のみが表示されます。
構築変数は辞書に返されます。

例:

dict = env.Dictionary()
cc_dict = env.Dictionary('CC', 'CCFLAGS', 'CCCOM')

Dir(名前, [ディレクトリ])、env.Dir(名前, [ディレクトリ])
これは、指定されたディレクトリを表すオブジェクトであるディレクトリ ノードを返します。 .
相対パスまたは絶対パスを指定できます。 ディレクトリにジョブを開始します。 はオプションのディレクトリです。
親ディレクトリとして使用されます。いいえの場合 ディレクトリにジョブを開始します。 が指定されている場合、現在のスクリプトの
ディレクトリが親として使用されます。

If がリストの場合、SCons は Dir ノードのリストを返します。構築変数は次のとおりです。
で拡張されました .

ディレクトリ ノードは、ディレクトリ名として文字列を指定する任意の場所で使用できます。
ビルダーのメソッドまたは関数。ディレクトリ ノードには、次のような属性とメソッドがあります。
多くの状況で役立ちます。以下の「ファイルおよびディレクトリ ノード」を参照してください。

env.Dump([キー])
環境の印刷可能なきれいな表現を返します。 キーなしでない場合は、
は、対象の変数の名前を含む文字列である必要があります。

この SConstruct:

env=環境()
print env.Dump('CCCOM')

印刷されます:

'$CC -c -o $TARGET $CCFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS $SOURCES'

この SConstruct の間:

env=環境()
print env.Dump()

印刷されます:

{ 'AR': 'ar',
'ARCOM': '$AR $ARFLAGS $TARGET $SOURCES\n$RANLIB $RANLIBFLAGS $TARGET',
'ARFLAGS': ['r'],
'と同じように'、
'ASCOM': '$AS $ASFLAGS -o $TARGET $SOURCES',
'ASFLAGS': [],
...

EnsurePythonVersion(メジャー、マイナー)、env.EnsurePythonVersion(メジャー、マイナー)
Python のバージョンが少なくとも次のバージョンであることを確認してください 主要な.マイナー。この関数は出力します
実際の Python バージョンの場合は、エラー メッセージが表示され、ゼロ以外の終了コードで SCons が終了します。
十分遅れていません。

例:

EnsurePythonVersion(2,2)

EnsureSConsVersion(メジャー、マイナー、[リビジョン])、env.EnsureSConsVersion(メジャー、マイナー、
[リビジョン])
SCons のバージョンが少なくとも次のバージョンであることを確認してください。 メジャー、マイナーまたは メジャーリビジョン、マイナーリビジョン。 もし
リビジョン と指定されている。この関数はエラー メッセージを出力し、SCons を終了します。
実際の SCons バージョンが十分に遅れていない場合は、ゼロ以外の終了コードが返されます。

例:

EnsureSConsVersion(0,14)

EnsureSConsVersion(0,96,90)

環境([キー=値, ...])、env.Environment([キー=値, ...])
指定された環境で初期化された新しいコンストラクション環境を返します。 キー=

Execute(アクション, [strfunction, varlist])、env.Execute(action, [strfunction, varlist])
Action オブジェクトを実行します。指定された アクション Action オブジェクトの場合もあります (「
引数と
動作)、またはコマンドライン文字列、コマンドのリスト、または実行可能な Python の場合もあります。
関数。それぞれが Action オブジェクトに変換されて実行されます。の
コマンドの終了値またはPython関数の戻り値が返されます。

scons が実行された場合、エラー メッセージが出力されることに注意してください。 アクション 失敗します、つまり
終了するか、ゼロ以外の値を返します。軽蔑者はするだろう ただし、自動的に
指定された場合はビルドを終了します アクション 失敗します。ビルドを停止したい場合は、
失敗したときの対応 実行する 呼び出しの場合は、ゼロ以外の戻り値を明示的にチェックする必要があります
値:

実行(コピー('file.out', 'file.in'))

if Execute("mkdir sub/dir/ectory"):
# mkdir が失敗しました。ビルドしないでください。
出口(1)

Exit([値])、env.Exit([値])
これは、scons に指定されたコマンドを使用して直ちに終了するように指示します。 。デフォルトの終了値は、
値が指定されていない場合は、0 (ゼロ) が使用されます。

エクスポート(vars)、env.Export(vars)
これは、現在の SConscript ファイルからすべてのファイルに変数のリストをエクスポートするように scons に指示します。
他の SConscript ファイル。エクスポートされた変数はグローバル コレクションに保持されるため、
その後の呼び出し エクスポート 同じ名前を持つ以前のエクスポートを上書きします。
複数の変数名を渡すことができます エクスポート 個別の引数またはリストとして。
キーワード引数を使用して、名前とその値を指定できます。辞書は次のようになります。
エクスポート時に変数を別の名前にマップするために使用されます。ローカル変数と
グローバル変数をエクスポートできます。

例:

env = 環境()
# すべての SConscript ファイルで env を Import() に使用できるようにします。
エクスポート("環境")

パッケージ = 'my_name'
# env と package をすべての SConscript ファイルで利用できるようにします。
Export("環境", "パッケージ")

# すべての SConscript ファイルで env と package を使用できるようにします。
エクスポート(["環境", "パッケージ"])

# debug という名前を使用して env を使用可能にします。
エクスポート(デバッグ = 環境)

# debug という名前を使用して env を使用可能にします。
エクスポート({"デバッグ":env})

なお、 S徴兵 関数がサポートする 輸出 ~を容易にする議論
変数または変数セットを単一の SConscript ファイルにエクスポートします。を参照してください。
の説明 S徴兵 関数を以下に示します。

File(名前, [ディレクトリ])、env.File(名前, [ディレクトリ])
これは、指定されたファイルを表すオブジェクトであるファイル ノードを返します。 . できる
相対パスまたは絶対パスにすることができます。 ディレクトリにジョブを開始します。 は使用されるオプションのディレクトリです
親ディレクトリとして。

If がリストの場合、SCons はファイル ノードのリストを返します。構築変数は次のとおりです。
で拡張されました .

ファイル ノードは、ビルダーにファイル名として文字列を指定する任意の場所で使用できます。
メソッドまたは関数。ファイル ノードには、さまざまな用途に役立つ属性とメソッドがあります。
状況。以下の「ファイルおよびディレクトリ ノード」を参照してください。

FindFile(ファイル, ディレクトリ)、env.FindFile(ファイル, ディレクトリ)
検索する file で指定されたパス内 Dirs. Dirs ディレクトリ名のリストである場合があります
または単一のディレクトリ名。に存在するファイルを検索するだけでなく、
ファイルシステムの場合、この関数は、まだ作成されていない派生ファイルも検索します。
建てられました。

例:

foo = env.FindFile('foo', ['dir1', 'dir2'])

FindInstalledFiles()、env.FindInstalledFiles()
によって設定されたターゲットのリストを返します。 インストールを開始する or 名前を付けてインストール ビルダー。

この関数は、バイナリの内容を選択する便利な方法として機能します。
パッケージ。

例:

インストール( '/ binに', [ '実行可能ファイル_a', '実行可能ファイル_b' ] )

# ファイルノードリストを返します
# [ '/bin/executable_a', '/bin/executable_b' ]
FindInstalledFiles()

インストール( '/ lib', [ 'some_library' ] )

# ファイルノードリストを返します
# [ '/bin/executable_a', '/bin/executable_b', '/lib/some_library' ]
FindInstalledFiles()

FindPathDirs(変数)
として使用することを目的とした関数 (実際には呼び出し可能な Python オブジェクト) を返します。
パス関数 Scanner オブジェクトの。返されたオブジェクトは、指定されたオブジェクトを検索します。
変数 コンストラクション環境では、コンストラクション変数の値を次のように扱います。
検索する必要があるディレクトリ パスのリスト (例: $CPPPATH, $LIBPATHなど)。

の使用に注意してください FindPathDirs 一般に、自分で作成するよりも推奨されます
パス関数 次の理由による: 1) 返されるリストには、すべてのものが含まれます。
ソース ツリー内で適切なディレクトリが見つかった場合 ( バリアントディレクトリ が使用されます)、またはコード内で
リポジトリ (いつ 倉庫 または -Y オプションが使用されます)。 2) scons は識別します
の拡張 変数 実際には、同じディレクトリのリストとして評価されます。
同じリストを使用し、可能な場合はディレクトリのファイルの再スキャンを避けてください。

例:

def my_scan(ノード、環境、パス、引数):
# ファイルの内容をスキャンするコードがここにあります...
include_files を返す

スキャナ = スキャナ(名前 = 'myscanner',
関数 = my_scan、
path_function = FindPathDirs('MYPATH'))

FindSourceFiles(node='"."')、env.FindSourceFiles(node='"."')
ビルドされたファイルのソースとして機能するノードのリストを返します。それは次のようにして行われます
オプションの引数から始まる依存関係ツリーを検査する どちらがデフォルトになるか
「.」ノードに。その後、すべての葉が返されます 。これらはすべて子供です
それ以上の子供はいません。

この機能は、ソース パッケージの内容を選択するのに便利な方法です。

例:

プログラム( 'src/main_a.c' )
プログラム( 'src/main_b.c' )
プログラム( 'main_c.c' )

# ['main_c.c', 'src/main_a.c', 'SConstruct', 'src/main_b.c'] を返します
FindSourceFiles()

# ['src/main_b.c', 'src/main_a.c' ] を返します
FindSourceFiles( 'src' )

ご覧のとおり、ビルド サポート ファイル (上記の例では SConstruct) も
この関数によって返されます。

Flatten(シーケンス)、env.Flatten(シーケンス)
ネストされたシーケンスを含む可能性のあるシーケンス (つまり、Python リストまたはタプル) を受け取ります
そして、任意の要素のすべてを含むフラット化されたリストを返します。
順序。これは、Builder への呼び出しによって返されるリストを収集するのに役立ちます。
他のビルダーは入力として指定されたリストを自動的にフラット化しますが、Python は直接
これらのリストを操作することはできません。

例:

foo = オブジェクト('foo.c')
bar = オブジェクト('bar.c')

# `foo' と `bar' は Object() Builder によって返されるリストであるため、
# `objects' は、ネストされたリストを含むリストになります。
オブジェクト = ['f1.o', foo, 'f2.o', bar, 'f3.o']

# このようなリストを別の Builder に渡しても問題ありません。
# ビルダーはリストを自動的にフラット化します。
プログラム(ソース = オブジェクト)

# Python を使用してリストを直接操作する必要がある場合は、次のようにする必要があります。
# Flatten() を自分で呼び出すか、ネストされたリストを処理します。
Flatten(objects) のオブジェクトの場合:
print str(オブジェクト)

GetBuildFailures()
ビルドの試行中に失敗したアクションの例外のリストを返します。
ターゲット。返されるリストの各要素は、次の内容を含む BuildError オブジェクトです。
ビルド失敗のさまざまな側面を記録する属性:

.node ビルド失敗が発生したときにビルドされていたノード。

.status 失敗したコマンドまたは Python 関数によって返された終了ステータスの数値
指定されたノードを構築しようとしたとき。

.errstr ビルドの失敗を説明する SCons エラー文字列。 (これはジェネリック医薬品であることが多いです)
「エラー 2」のようなメッセージは、実行されたコマンドが次のステータスで終了したことを示します。
2。)

.filename 実際に失敗の原因となったファイルまたはディレクトリの名前。これはもしかしたら
.node 属性とは異なるものにする必要があります。たとえば、ターゲットを構築しようとすると、
sub/dir ディレクトリを作成できなかったため、sub/dir/target という名前のコマンドは失敗します。
.node 属性は sub/dir/target になりますが、.filename 属性は
サブ/ディレクトリ。

.executor 構築中のターゲット ノードの SCons Executor オブジェクト。これは使えます
失敗したアクションに使用されたコンストラクション環境を取得します。

.action 失敗した実際の SCons Action オブジェクト。これは 1 つの具体的なアクションになります
ターゲットを構築するために実行される可能性のあるアクションのリストから。

.command の展開後に、実行されて失敗した実際の展開されたコマンド。
$TARGET, $ソース、およびその他の構築変数。

なお、 GetBuildFailures 関数は、次の条件が満たされるまで常に空のリストを返します。
ビルド失敗が発生しました。つまり、 GetBuildFailures 常に返します
SConscript ファイルの読み取り中は空のリスト。その主な使用目的は次のとおりです。
SCons を標準に渡すことによって終了する前に実行される関数
Python atexit.登録() 関数。例:

インポートアテキジット

def print_build_failures():
SCons.Script インポートから GetBuildFailures
GetBuildFailures() の bf の場合:
印刷 "%s が失敗しました: %s" % (bf.node, bf.errstr)

atexit.register(print_build_failures)

GetBuildPath(ファイル, [...])、env.GetBuildPath(ファイル, [...])
指定された scons パス名 (複数可) を返します。 file (またはファイル)。の
指定の file または、ファイルは scons ノードまたはパス名を表す文字列である場合があります。

GetLaunchDir()、env.GetLaunchDir()
scons が最初に作成されたディレクトリの絶対パス名を返します。
呼び出された。これは、 -u, -U or -D 内部的にはオプション
SConstruct ファイルが見つかったディレクトリに変更します。

GetOption(名前)、env.GetOption(名前)
この関数は、scons コマンドに設定された SCons オプションの値をクエリする方法を提供します。
行(または オプションの設定 関数)。サポートされているオプションは次のとおりです。

キャッシュデバッグ
これは --cache-debug に対応します。

キャッシュの無効化
これは --cache-disable に対応します。

キャッシュフォース
これは --cache-force に対応します。

キャッシュショー
これは --cache-show に対応します。


これは、-c、--clean、および --remove に対応します。

設定
これは --config に対応します。

ディレクトリにジョブを開始します。
これは、-C および --directory に対応します。

ディスクチェック
--diskcheck に対応します

複製
これは --duplicate に対応します。

file
これは、-f、--file、--makefile、および --sconstruct に対応します。

助けます
これは、-h および --help に対応します。

無視エラー
これは --ignore-errors に対応します。

暗黙的キャッシュ
これは --implicit-cache に対応します。

implicit_deps_changed
これは --implicit-deps-changed に対応します。

implicit_deps_unchanged
これは --implicit-deps-unchanged に対応します。

相互作用的
これは --interact および --interactive に対応します。

続けて
これは、-k および --keep-going に対応します。

マックスドリフト
これは --max-drift に対応します。

no_exec
これは、-n、--no-exec、--just-print、--dry-run、および --recon に対応します。

no_site_dir
これは --no-site-dir に対応します。

ジョブ数
これは、-j および --jobs に対応します。

プロフィールファイル
これは --profile に対応します。

question
これは、-q および --question に対応します。

ランダム
これは --random に対応します。

倉庫
これは、-Y、--repository、および --srcdir に対応します。

サイレント
これは、-s、--silent、および --quiet に対応します。

サイトディレクトリ
これは --site-dir に対応します。

スタックサイズ
これは --stack-size に対応します。

タスクマスタートレース_ファイル
これは --taskmastertrace に対応します。そして

警告する
これは --warn と --warning に対応します。

詳細については、対応するコマンド ライン オブジェクトのドキュメントを参照してください。
それぞれの具体的なオプション。

Glob(パターン, [オンディスク, ソース, 文字列, 除外]), env.Glob(パターン, [オンディスク, ソース,
文字列、除外])
指定されたノードに一致するノード (または文字列) を返します。 パターン、ディレクトリに相対
現在の SConscript ファイルの。の 環境グロブ() フォームは文字列置換を実行します。
パターン そして、結果の展開されたパターンに一致するものを返します。

目標とする抽出時間(Shot time target) 適正な品質基準を達成するための抽出時間の範囲。 パターン Unix シェル スタイルのメタ文字を照合に使用します。

* すべてに一致します
?任意の 1 文字に一致します
[seq] は seq 内の任意の文字と一致します
[!seq] は seq にない任意の文字と一致します

ファイル名の最初の文字がドットの場合は、明示的に一致させる必要があります。
文字の一致は行われます スパンディレクトリ区切り文字。

この グロブ リポジトリについて知っています ( 倉庫 関数)とソースディレクトリ
(参照 バリアントディレクトリ 関数) を返し、ノード (構成されている場合は文字列) を返します。
対応するノードのどこかに一致するノードが見つかった場合は、ローカル (SConscript) ディレクトリ
リポジトリまたはソースディレクトリ。

この オンディスク 引数を False (またはその他の True 以外の値) に設定して、
ディスク上で一致するものを検索し、すでに構成されているものの間で一致するもののみを返します。
ファイルまたはディレクトリノード。デフォルトの動作では、対応するノードを返します。
ディスク上の一致が見つかりました。

この source 引数を True (または同等の値) に設定して、次の場合にそれを指定できます。
ローカルディレクトリは バリアントディレクトリ、返されるノードは、
ローカルディレクトリではなく、対応するソースディレクトリ。

この ストリング 引数を True (または同等の値) に設定すると、 グロブ
関数は、一致したファイルまたはディレクトリを表すノードではなく文字列を返します。
返される文字列は、ローカル (SConscript) ディレクトリを基準としたものになります。 (ご了承ください
これにより、ファイル名の任意の操作が容易になる可能性がありますが、
返された文字列は別の SConscript ファイルに渡され、ノード変換は行われます。
元の SConscript ディレクトリではなく、他の SConscript ディレクトリを基準にしてください)。

この 除外する 引数はパターンまたはパターンのリストに設定できます (以下同様)
Unix シェル セマンティクス)、返された要素からフィルターで除外する必要があります。要素
このリストの少なくとも 1 つのパターンに一致するものは除外されます。

例:

プログラム('foo', Glob('*.c'))
Zip('/tmp/everything', Glob('.??*') + Glob('*'))
ソース = Glob('*.cpp', exclude=['os_*_specific_*.cpp']) + Glob('os_%s_specific_*.cpp'%currentOS)

Help(text, append=False)、env.Help(text, append=False)
これは、次の場合に印刷するヘルプ テキストを指定します。 -h 引数はsconsに与えられます。もし カスタマーサービス
が複数回呼び出される場合、テキストは次の順序で追加されます。 カスタマーサービス is
と呼ばれた。 append を False に設定すると、 カスタマーサービス で生成されたテキスト オプションの追加 破壊されています。
append が True の場合、AddOption ヘルプがヘルプ文字列の前に付加されるため、ヘルプ文字列が保持されます。
  -h メッセージ。

Ignore(ターゲット、依存関係)、env.Ignore(ターゲット、依存関係)
指定された依存関係ファイルは、ターゲット ファイルかどうかを決定するときに無視されます。
再構築する必要があります。

使用することもできます 無視する デフォルトのビルドからターゲットを削除します。これを行うためには
ターゲットとしてビルドされるディレクトリとファイルを指定する必要があります。
依存関係としてのビルドをスキップしたい場合。

これにより、ビルドされたファイルからリストされた依存関係のみが削除されることに注意してください。
デフォルト。依存関係が別のオブジェクトで必要な場合でもビルドされます。
建てられた。以下の 3 番目と 4 番目の例を参照してください。

例:

env.Ignore('foo', 'foo.c')
env.Ignore('bar', ['bar1.h', 'bar2.h'])
env.Ignore('.','foobar.obj')
env.Ignore('bar','bar/foobar.obj')

Import(vars)、env.Import(vars)
これは、変数のリストを現在の SConscript ファイルにインポートするように scons に指示します。これ
でエクスポートされた変数をインポートします エクスポート または 輸出 への議論
S徴兵。によってエクスポートされた変数 S徴兵 優先権があります。複数の変数名
に渡すことができます インポート 個別の引数またはリストとして。変数「*」は次のとおりです。
すべての変数をインポートするために使用されます。

例:

インポート("環境")
Import("環境", "変数")
Import(["環境", "変数"])
輸入("*")

リテラル(文字列)、env.Literal(文字列)
目標とする抽出時間(Shot time target) 適正な品質基準を達成するための抽出時間の範囲。 string そのまま保存され、構築変数はありません
拡大しました。

ローカル(ターゲット)、env.Local(ターゲット)
目標とする抽出時間(Shot time target) 適正な品質基準を達成するための抽出時間の範囲。 ターゲット すでにローカルツリーにコピーが作成されている場合でも、
最新のコピーがリポジトリに存在します。ターゲット ノードのリストを返します。

env.MergeFlags(arg, [unique])
指定されたものをマージします argは 構築環境の構築に対する価値観
変数。もし argは 引数は辞書ではありません。呼び出しによって辞書に変換されます。
env.ParseFlags 値がマージされる前の引数。ご了承ください argは する必要があります
値は単一であるため、複数の文字列は個別ではなくリストとして渡す必要があります。
引数 env.MergeFlags.

デフォルトでは、重複する値は削除されます。ただし、unique=0 を指定して、
重複した値を追加できるようにします。重複する値を削除する場合、
文字列 PATH で終わる構築変数は、左端の一意の値を保持します。
他のすべての構築変数は、右端の一意の値を保持します。

例:

# 最適化フラグを $CCFLAGS に追加します。
env.MergeFlags('-O3')

# pkg-config の実行から返されたフラグを最適化と組み合わせる
# フラグを付けて、結果を構築変数にマージします。
env.MergeFlags(['!pkg-config gtk+-2.0 --cflags', '-O3'])

# 最適化フラグを、pkg-config の実行から返されたフラグと結合します。
# 2 回実行し、結果を構築変数にマージします。
env.MergeFlags(['-O3',
'!pkg-config gtk+-2.0 --cflags --libs',
'!pkg-config libpng12 --cflags --libs'])

NoCache(ターゲット, ...)、env.NoCache(ターゲット, ...)
必要なファイルのリストを指定します。 いつでもキャッシュされる キャッシュディレクトリ メソッドには
活性化されました。指定されたターゲットはリストまたは個別のターゲットです。

複数のファイルは、 キャッシュなし 方法、
またはリストとして。 キャッシュなし 任意の構築の戻り値も受け入れます
環境ビルダーのメソッド。

呼び出し キャッシュなし ディレクトリおよびその他の非ファイル ノード タイプでは効果がありません。
ファイル ノードのみがキャッシュされます。

例:

NoCache('foo.elf')
NoCache(env.Program('hello', 'hello.c'))

NoClean(ターゲット, ...)、env.NoClean(ターゲット, ...)
必要なファイルまたはディレクトリのリストを指定します。 いつでも削除される
ターゲット (またはその依存関係) は、 -c コマンドラインオプション。 の
指定されたターゲットはリストまたは個別のターゲットです。への複数の呼び出し ノークリーン  
合法的であり、指定された各ターゲットが、 -c オプションを選択します。

複数のファイルまたはディレクトリは、
ノークリーン メソッドまたはリストとして。 ノークリーン また、次のいずれかの戻り値も受け入れます。
構築環境ビルダーメソッド。

呼び出し ノークリーン ターゲットの場合は呼び出しをオーバーライドします 石斑魚 同じターゲットに対しても、
両方の関数に渡されるターゲットは、 によって削除される -c オプションを選択します。

例:

NoClean('foo.elf')
NoClean(env.Program('hello', 'hello.c'))

env.ParseConfig(コマンド, [関数, 一意])
指定されたものを呼び出します function の出力で指定されたように環境を変更するには
command。 デフォルト function is env.MergeFlags、典型的な出力を期待します
*-config コマンド (gtk-config など) を実行し、適切なオプションにオプションを追加します。
構築変数。デフォルトでは、重複した値はどの構造にも追加されません。
変数; unique=0 を指定すると、重複した値を追加できます。

解釈されたオプションとそれらが影響する構築変数は、
  env.ParseFlags メソッド (このメソッドが呼び出すもの)。そのメソッドの説明を参照してください。
オプションと構築変数の表を以下に示します。

ParseDepends(ファイル名, [必ず存在する, 1 つだけ]), env.ParseDepends(ファイル名, [必ず存在する,
唯一])
指定された内容を解析します ファイル名 スタイル内の依存関係のリストとして
Make または mkdep を使用し、リストされているすべての依存関係を明示的に確立します。

デフォルトでは、指定された場合はエラーになりません。 ファイル名 存在しない。オプションの
必ず存在する scons が例外をスローするように、引数をゼロ以外の値に設定することができます。
ファイルが存在しない場合、またはファイルにアクセスできない場合は、エラーが生成されます。

オプション 唯一 引数をゼロ以外の値に設定すると、scons がスローされる場合があります。
ファイルに詳細な依存関係情報が含まれている場合は例外が発生し、エラーが生成されます。
ターゲットは 1 つではありません。これにより、ファイルの健全性を簡単にチェックできます。
たとえば、 gcc -M フラグによって生成されます。通常は次の書き込みのみを行う必要があります。
1 つの出力ファイルの依存関係情報を、対応する .d ファイルに保存します。

この ファイル名 そこにリストされているすべてのファイルは、
を呼び出す SConscript ファイルのディレクトリ 解析依存 機能。

env.ParseFlags(フラグ, ...)
GCC ツール チェーンの一般的なコマンドライン フラグを含む 1 つ以上の文字列を解析します。
適切な SCons に分割されたフラグ値を含む辞書を返します。
構築変数。これは、 env.MergeFlags 方法、
ただし、必要に応じて、返された辞書の値を変更できます。
コンストラクション環境にマージする前に。 (ご了承ください env.MergeFlags 意志
引数が辞書でない場合はこのメソッドを呼び出します。通常は必要ありません。
電話する env.ParseFlags 値を操作する場合を除き、直接実行してください)。

文字列の最初の文字が感嘆符 (!) の場合、残りの文字は
文字列はコマンドとして実行され、コマンドからの出力は GCC ツールとして解析されます。
コマンドライン フラグをチェーンし、結果の辞書に追加します。

フラグ値は、見つかったプレフィックスに従って変換され、次のコードに追加されます。
構築変数:

-arch CCFLAGS、LINKFLAGS
-D CPPDEFINES
-フレームワーク フレームワーク
-frameworkdir= フレームワークパス
-CCFLAG を含む
-isysroot CCFLAGS、LINKFLAGS
-I CPPPATH
-l ライブラリ
-L リブパス
-mno-cygwin CCFLAGS、LINKFLAGS
-mwindows リンクフラグ
-pthread CCFLAGS、LINKFLAGS
-std= CFLAGS
-わ、ASFLAGS、CCFLAGS
-Wl、-rpath= RPATH
-Wl、-R、RPATH
-Wl、-R RPATH
-Wl、リンクフラグ
-Wp、CPPFLAGS
- CCFLAGS
+ CCFLAGS、LINKFLAGS

オプションに関連付けられていないその他の文字列は、ライブラリの名前であるとみなされます。
に追加されました $LIBS 構築変数。

例 (すべて同じ結果が得られます):

dict = env.ParseFlags('-O2 -Dfoo -Dbar=1')
dict = env.ParseFlags('-O2', '-Dfoo', '-Dbar=1')
dict = env.ParseFlags(['-O2', '-Dfoo -Dbar=1'])
dict = env.ParseFlags('-O2', '!echo -Dfoo -Dbar=1')

env.Perforce()
ソース ファイルをフェッチするために使用される Builder オブジェクトを返すファクトリ関数。
Perforce ソース コード管理システム。返されるビルダーは次のことを目的としています。
に渡されます ソースコード 機能。

この関数は廃止されました。詳細については、のエントリを参照してください。 ソースコード 機能。

例:

env.SourceCode('.', env.Perforce())

Perforce は、その動作に多数の外部環境変数を使用します。
したがって、この関数はユーザーの外部から次の変数を追加します。
環境をコンストラクション環境の ENV ディクショナリに変換: P4CHARSET、P4CLIENT、
P4LANGUAGE、P4PASSWD、P4PORT、P4USER、SystemRoot、USER、および USERNAME。

プラットフォーム(文字列)
この プラットフォーム フォームは、初期化に使用できる呼び出し可能なオブジェクトを返します。
のプラットフォームキーワードを使用した構築環境 環境 機能。

例:

env = 環境(プラットフォーム = プラットフォーム('win32'))

この 環境プラットフォーム フォームは、指定されたプラットフォームの呼び出し可能オブジェクトを適用します string 〜へ
メソッドが呼び出された環境。

env.Platform('posix')

win32 プラットフォームでは、SystemDrive 変数と SystemRoot 変数が
ユーザーの外部環境から構築環境へ $ ENV 辞書。これは
そのため、ソケットを使用して他のシステムに接続する実行されたコマンド (
外部 CVS リポジトリ仕様からソース ファイルをフェッチする
:pサーバー:[メール保護]:/cvsroot/scons) は Windows システムで動作します。

Precious(ターゲット, ...)、env.Precious(ターゲット, ...)
それぞれに与えられたマーク ターゲット 貴重なものであるため、再構築される前に削除されることはありません。
通常、scons はターゲットをビルドする前に削除します。複数のターゲットを渡すことができます
たった一度の電話で 貴重な.

env.Prepend(key=val, [...])
指定されたキーワード引数を構築変数の先頭に追加します。
環境。環境に指定された構築変数がない場合、
単に環境に追加されるだけです。構築変数の値と
キーワード引数が同じ型の場合、2 つの値は単純に加算されます。
一緒に。それ以外の場合は、構築変数とキーワード引数の値
両方ともリストに強制され、リストは一緒に追加されます。 (「追加」も参照してください)
上記の方法)

例:

env.Prepend(CCFLAGS = '-g ', FOO = ['foo.yyy'])

env.PrependENVPath(name, newpath, [envname, sep, delete_existing])
これにより、指定された外部環境内の指定されたパスに新しいパス要素が追加されます。
($ ENV デフォルトで)。これにより、特定のパスが 1 回だけ追加されます (最初のパスはそのまま残ります)
パスの順序を維持するために、残りの部分に遭遇しても無視します)、これを保証するために、
すべてのパスを正規化します (os.path.normpath と os.path.normcase を使用)。これも可能です
指定された古いパス変数が文字列ではなくリストである場合を処理します。
この場合、文字列の代わりにリストが返されます。

If 既存の削除 が 0 の場合、既に存在するパスを追加しても、パスは XNUMX に移動されません。
始まり。リスト内のどこにでも残ります。

例:

print 'before:',env['ENV']['INCLUDE']
include_path = '/foo/bar:/foo'
env.PrependENVPath('INCLUDE', include_path)
print 'after:',env['ENV']['INCLUDE']

上の例では次のように出力されます。

前: /biz:/foo
後: /foo/bar:/foo:/biz

env.PrependUnique(key=val, delete_existing=0, [...])
指定されたキーワード引数を構築変数の先頭に追加します。
環境。環境に指定された構築変数がない場合、
単に環境に追加されるだけです。構築変数が追加される場合
がリストの場合、構築変数にすでに存在する値はすべて
再びリストに追加されます。ただし、delete_existing が 1 の場合、既存の一致する値は
が最初に削除されるため、arg リスト内の既存の値がリストの先頭に移動します。

例:

env.PrependUnique(CCFLAGS = '-g', FOO = ['foo.yyy'])

Progress(呼び出し可能、[間隔])、Progress(文字列、[間隔、ファイル、上書き])、
Progress(文字列のリスト, [間隔, ファイル, 上書き])
SCons が文字列を表示するか呼び出して、ビルド中の進行状況を表示できるようにします。
ノード (ファイルなど) を評価する際の関数。

最初に指定された引数が Python 呼び出し可能関数 (関数またはオブジェクト) の場合、
a __コール__() メソッド)、関数は毎回呼び出されます。 インターバル ノードの倍
評価されました。呼び出し可能オブジェクトには、評価されたノードが唯一の引数として渡されます。 (のために
将来の互換性を考慮して、引数として *args と **kw も追加することをお勧めします。
関数またはメソッド。これにより、SCons が変更した場合にコードが壊れるのを防ぐことができます。
将来追加の引数を指定して関数を呼び出すためのインターフェイス。)

を含む文字列を出力する単純なカスタム進行関数の例。
10 ノードごとのノード名:

def my_progress_function(node, *args, **kw):
print 'ノード %s を評価中!' % ノード
Progress(my_progress_function、間隔=10)

文字列を出力するカスタム進行状況表示オブジェクトのより複雑な例
100 個の評価されたノードごとの数が含まれます。 \r (キャリッジリターン) の使用に注意してください。
最後に、文字列が表示上でそれ自体を上書きするようにします。

インポートシステム
クラス ProgressCounter(オブジェクト):
カウント= 0
def __call__(self, ノード, *args, **kw):
self.count += 100
sys.stderr.write('評価された %s ノード\r' % self.count)
Progress(ProgressCounter()、間隔=100)

最初の引数の場合 進捗 が文字列の場合、文字列は次の間隔で表示されます。
インターバル 評価されたノード。デフォルトでは、文字列が標準出力に出力されます。の
代替出力ストリームは、file= 引数で指定できます。以下は
エラー出力に一連のドットを出力します。評価されたノード 100 個ごとに XNUMX つのドットです。

インポートシステム
Progress('.'、間隔=100、ファイル=sys.stderr)

文字列に逐語的な部分文字列が含まれている場合 $TARGETに置き換えられます。
ノード。パフォーマンス上の理由から、これは次のとおりであることに注意してください。 通常の SCons 変数
置換なので、他の変数を使用したり、中括弧を使用したりすることはできません。次の
この例では、\r (キャリッジ リターン) を使用して、評価されたすべてのノードの名前を出力します。
各行が次の行と overwrite= キーワード引数によって上書きされます。
以前に出力されたファイル名が空白スペースで上書きされていることを確認するには、次のようにします。

インポートシステム
進行状況('$TARGET\r'、上書き=True)

最初の引数が 進捗 は文字列のリストであり、リスト内の各文字列
ごとにローテーションして表示されます インターバル 評価されたノード。これは使えます
次のようにユーザーの画面に「スピナー」を実装します。

進行状況(['-\r', '\\\r', '|\r', '/\r'], 間隔=5)

Pseudo(ターゲット, ...)、env.Pseudo(ターゲット, ...)
これは、与えられたそれぞれの ターゲット ビルド ルールによって作成されるべきではありません。
ターゲットが作成されると、エラーが生成されます。これは gnu make に似ています
.PHONY ターゲット。ただし、ほとんどの場合、 エイリアス より適切です。
複数のターゲットを 1 回の呼び出しに渡すことができます。 ニックネーム.

env.RCS()
ソース ファイルをフェッチするために使用される Builder オブジェクトを返すファクトリ関数。
RCS。返されたビルダーは、 ソースコード 関数:

この関数は廃止されました。詳細については、のエントリを参照してください。 ソースコード 機能。

例:

env.SourceCode('.', env.RCS())

scons は RCS サブディレクトリからソース ファイルを自動的にフェッチすることに注意してください。
上記の例で示したように RCS を設定する必要があるのは、次の場合のみです。
ソース ファイルと同じディレクトリにある RCS,v ファイルからフェッチしている場合、または
特定のサブディレクトリに対して RCS を明示的に指定する必要があります。

env.Replace(key=val, [...])
環境内の構築変数を指定されたキーワードで置き換えます。
引数

例:

env.Replace(CCFLAGS = '-g', FOO = 'foo.xxx')

リポジトリ(ディレクトリ)、env.Repository(ディレクトリ)
それを指定します ディレクトリにジョブを開始します。 ファイルを検索するリポジトリです。への複数の呼び出し
倉庫 は合法であり、それぞれがリポジトリのリストに追加されます。
検索しました。

誤解を恐れずに言えば、リポジトリはソース ツリーの最上位ディレクトリからのコピーです。
ダウン。これには、ビルドに使用できるソース ファイルと派生ファイルの両方が含まれる場合があります。
ローカル ソース ツリー内のターゲット。正規の例は公式のソースになります
インテグレーターによって維持されるツリー。リポジトリに派生ファイルが含まれている場合、
派生ファイルは scons を使用して構築されている必要があるため、リポジトリには
scons がいつ適切であるかを判断できるようにするために必要な署名情報
ローカルにファイルを構築するのではなく、派生ファイルのリポジトリ コピーを使用します。

最新の派生ファイルがリポジトリにすでに存在する場合、scons は
ローカル ディレクトリ ツリーにコピーを作成します。ローカル コピーが確実に保存されることを保証するため、
作られたら、それを使用してください ローカル 方法。

Requires(ターゲット、前提条件)、env.Requires(ターゲット、前提条件)
指定されたターゲット ファイルとファイル間の順序のみの関係を指定します。
指定された前提条件ファイル。次の場合、前提条件ファイルが (再) ビルドされます。
必要、 ターゲット ファイルですが、ターゲット ファイルは実際には依存しません。
前提条件ファイルが存在するため、再構築されません。
変更します。

例:

env.Requires('foo', 'foo 前にビルドする必要があるファイル')

Return([vars..., stop=])
デフォルトでは、現在の SConscript ファイルの処理が停止され、元の状態に戻ります。
SConscript ファイルを呼び出して、 VARS string
引数。変数名を含む複数の文字列を渡すことができます。 返品。 どれか
空白を含む文字列

処理を続行するには、オプションの stop= キーワード引数を false 値に設定することができます。
SConscript ファイルの残りの部分 返品 電話。これはデフォルトの動作でした
SCons 0.98 より前。ただし、返される値は依然として
名前付きの変数 VARS その時点で 返品 が呼び出されます。

例:

# 値を返さずに戻ります。
戻る()

# 'foo' Python 変数の値を返します。
Return("foo")

# Python 変数「foo」と「bar」の値を返します。
Return("foo", "bar")

# Python 変数 'val1' と 'val2' の値を返します。
Return('val1 val2')

Scanner(関数、[引数、キー、パス関数、ノードクラス、ノードファクトリー、スキャンチェック、
再帰的])、env.Scanner(関数、[引数、キー、パス関数、ノードクラス、
ノードファクトリー、スキャンチェック、再帰的])
指定されたオブジェクトの Scanner オブジェクトを作成します。 function。 「スキャナ」セクションを参照してください。
引数と動作の詳細については、以下の「オブジェクト」を参照してください。

env.SCCS()
ソース ファイルをフェッチするために使用される Builder オブジェクトを返すファクトリ関数。
SCCS。返されたビルダーは、 ソースコード 機能。

例:

env.SourceCode('.', env.SCCS())

scons は SCCS サブディレクトリからソース ファイルを自動的にフェッチすることに注意してください。
上記の例で示したように SCCS を設定する必要があるのは、次の場合のみです。
ソース ファイルと同じディレクトリにある s.SCCS ファイルからフェッチしている場合、または
特定のサブディレクトリに対して SCCS を明示的に指定する必要があります。

SConscript(スクリプト, [エクスポート, バリアントディレクトリ, 重複]), env.SConscript(スクリプト, [エクスポート,
バリアント ディレクトリ、重複])、SConscript(ディレクトリ = サブディレクトリ、[名前 = スクリプト、エクスポート、バリアント ディレクトリ、
重複])、env.SConscript(dirs=subdirs、[name=script、エクスポート、variant_dir、重複])
これは、scons に 1 つ以上の補助的な SConscript (構成) ファイルを実行するように指示します。
呼び出されたスクリプトによって返される変数。 返品 への呼び出しによって返されます
S徴兵。を呼び出す方法は 2 つあります S徴兵 機能。

最初に電話をかける方法 S徴兵 1 つ以上を明示的に指定することです スクリプト as
最初の引数。単一のスクリプトを文字列として指定できます。複数のスクリプト
リストとして指定する必要があります (明示的に、または次のような関数によって作成されたものとして)
スプリット)。 例:

SConscript('SConscript') # 現在のディレクトリで SConscript を実行します
SConscript('src/SConscript') # src ディレクトリで SConscript を実行します
SConscript(['src/SConscript', 'doc/SConscript'])
config = SConscript('MyConfig.py')

2 番目の電話方法 S徴兵 (サブ)ディレクトリ名のリストを次のように指定することです。
ディレクトリ=サブディレクトリ キーワード引数。この場合、scons はデフォルトで、
指定された各ディレクトリに、SConscript という名前の補助構成ファイルが保存されます。
オプションの name= を指定すると、SConscript 以外の名前を指定できます。スクリプト
キーワード引数。以下の最初の 3 つの例は、最初の例と同じ効果があります。
上記の 3 つの例:

SConscript(dirs='.') # 現在のディレクトリで SConscript を実行します
SConscript(dirs='src') # src ディレクトリで SConscript を実行します
SConscript(dirs=['src', 'doc'])
SConscript(dirs=['sub1', 'sub2'], name='MySConscript')

オプション 輸出 引数は変数名のリストまたは辞書を提供します。
にエクスポートする名前付きの値 スクリプト。これらの変数はローカルにのみエクスポートされます。
指定された スクリプトで使用される変数のグローバル プールには影響しません。
エクスポート 関数。子会社 スクリプト を使用する必要があります インポート をインポートする関数
変数。例:

foo = SConscript('sub/SConscript'、exports='env')
SConscript('dir/SConscript'、exports=['env', 'variable'])
SConscript(dirs='サブディレクトリ'、exports='環境変数')
SConscript(dirs=['one', 'two', 'three'],exports='shared_info')

オプションの バリアントディレクトリ 引数が存在すると、それと同等の効果が生じます。
バリアントディレクトリ 以下に説明する方法。 (もし バリアントディレクトリ が存在しない場合、

複製 引数は無視されます。) バリアントディレクトリ 引数は相対的に解釈されます
呼び出し元の SConscript ファイルのディレクトリ。の説明を参照してください。 バリアントディレクトリ
追加の詳細と制限については、以下の関数を参照してください。

If バリアントディレクトリ が存在する場合、ソース ディレクトリは、
SConscript ファイルが存在し、SConscript ファイルは、
バリアントディレクトリ ディレクトリ:

SConscript('src/SConscript',variant_dir = 'ビルド')

に相当します

VariantDir('ビルド', 'ソース')
SConscript('ビルド/SConscript')

この後者のパラダイムは、ソースがソースと同じディレクトリにある場合によく使用されます。
S構築:

SConscript('SConscript',variant_dir = 'ビルド')

に相当します

VariantDir('ビルド', '.')
SConscript('ビルド/SConscript')

以下にいくつかの複合例を示します。

# 構成情報を収集し、それを使用して src と doc をビルドします
共有情報 = SConscript('MyConfig.py')
SConscript('src/SConscript'、exports='shared_info')
SConscript('doc/SConscript'、exports='shared_info')

# デバッグ バージョンと実稼働バージョンをビルドします。 S徴兵
# Dir('.').path を使用してバリアントを決定できます。
SConscript('SConscript'、variant_dir='デバッグ'、重複=0)
SConscript('SConscript'、variant_dir='prod'、duplicate=0)

# デバッグ バージョンと実稼働バージョンをビルドします。 S徴兵
# には使用するフラグが渡されます。
opts = { 'CPPDEFINES' : ['DEBUG'], 'CCFLAGS' : '-pgdb' }
SConscript('SConscript'、variant_dir='debug'、duplicate=0、exports=opts)
opts = { 'CPPDEFINES' : ['NODEBUG'], 'CCFLAGS' : '-O' }
SConscript('SConscript'、variant_dir='prod'、duplicate=0、exports=opts)

# 共通のドキュメントを構築し、さまざまなアーキテクチャ向けにコンパイルする
SConscript('doc/SConscript'、variant_dir='build/doc'、duplicate=0)
SConscript('src/SConscript'、variant_dir='build/x86'、duplicate=0)
SConscript('src/SConscript'、variant_dir='build/ppc'、duplicate=0)

SConscriptChdir(値)、env.SConscriptChdir(値)
デフォルトでは、scons は作業ディレクトリをそれぞれのディレクトリに変更します。
子会社の SConscript ファイルは存続します。この動作は、次のいずれかを指定することで無効にできます。

SConscriptChdir(0)
env.SConscriptChdir(0)

この場合、scons はすべての SConscript を読み取る間、最上位ディレクトリに留まります。
ファイル。 (これは、リポジトリからビルドする場合に必要になる場合があります。
SConscript ファイルが存在するディレクトリは、必ずしもローカルに存在するとは限りません。)
SConscriptChdir() を複数回呼び出すことで、この機能を有効または無効にできます。

例:

env = 環境()
SConscriptChdir(0)
SConscript('foo/SConscript') # foo への chdir は行いません
env.SConscriptChdir(1)
SConscript('bar/SConscript') # bar に chdir します

SConsignFile([ファイル, dbm_module])、env.SConsignFile([ファイル, dbm_module])
これは、すべてのファイル署名を指定されたデータベースに保存するように scons に指示します。 file。 もし
file name は省略され、デフォルトでは .sconsign が使用されます。 (実際に保存されているファイル名は、
ディスクには、
dbm_モジュール。)もし file は絶対パス名ではありません。ファイルは同じ場所に配置されます
ディレクトリを最上位の SConstruct ファイルとして使用します。

If file None の場合、scons はファイル署名を別の .sconsign ファイルに保存します。
1 つのグローバル データベース ファイルではなく、ディレクトリごとに。 (これは以前のデフォルトの動作でした)
SCons 0.96.91 および 0.97 まで。)

オプション dbm_モジュール 引数を使用して、Python データベース モジュールを指定できます。
デフォルトでは、ピクル化された Python データを使用するカスタム SCons.dblite モジュールを使用します。
構造体であり、すべての Python バージョンで動作します。

例:

# 署名を「.sconsign.dblite」に明示的に保存します
# 最上位の SConstruct ディレクトリ (
# デフォルトの動作)。
SConsignFile()

# ファイル「etc/scons-signatures」に署名を保存します
# 最上位の SConstruct ディレクトリを基準とした相対パス。
SConsignFile("etc/scons-signatures")

# 指定された絶対ファイル名で署名を保存します。
SConsignFile("/home/me/SCons/signatures")

# 署名を別の .sconsign ファイルに保存します
# 各ディレクトリにあります。
SConsignFile(なし)

env.SetDefault(key=val, [...])
次の場合に、構築変数をキーワード引数で指定されたデフォルト値に設定します。
変数がまだ設定されていない場合に限ります。以下の発言は、
同等:

env.SetDefault(FOO = 'foo')

'FOO' が env にない場合: env['FOO'] = 'foo'

SetOption(名前, 値)、env.SetOption(名前, 値)
この関数は、scons コマンド ライン オプションの選択サブセットを設定する方法を提供します。
SConscript ファイルから。サポートされているオプションは次のとおりです。


これは、-c、--clean、および --remove に対応します。

複製
これは --duplicate に対応します。

助けます
これは、-h および --help に対応します。

暗黙的キャッシュ
これは --implicit-cache に対応します。

マックスドリフト
これは --max-drift に対応します。

no_exec
これは、-n、--no-exec、--just-print、--dry-run、および --recon に対応します。

ジョブ数
これは、-j および --jobs に対応します。

ランダム
これは --random に対応します。そして

スタックサイズ
これは --stack-size に対応します。

詳細については、対応するコマンド ライン オブジェクトのドキュメントを参照してください。
それぞれの具体的なオプション。

例:

SetOption('max_drift', 1)

SideEffect(side_effect, target), env.SideEffect(side_effect, target)
宣言 副作用 建築の副作用として ターゲット。 両方 副作用ターゲット
リスト、ファイル名、またはノードを指定できます。副作用は、作成されるターゲット ファイルです。
または、他のターゲットを構築する副作用として更新されます。たとえば、Windows PDB ファイル
静的ライブラリの .obj ファイルをビルドする副作用として作成されます。
さまざまなログ ファイルがさまざまな TeX コマンドの副作用として作成され、更新されます。もし
target は複数のビルド コマンドの副作用であり、scons は 1 つのみを保証します。
一連のコマンドが一度に実行されます。したがって、この方法のみを使用する必要があります
複数のビルド コマンドの結果としてビルドされる副作用ターゲットの場合。

複数のビルド コマンドが同じ副作用ファイルを更新する可能性があるため、デフォルトでは
副作用 ターゲットは 自動的に削除されます ターゲット によって削除されます -c
オプション。 (ただし、 副作用 クリーニングの一環として削除される場合があります。
存在するディレクトリ)。 副作用 掃除されます
特定のときはいつでも ターゲット がクリーンアップされている場合は、これを明示的に指定する必要があります。 石斑魚
or 環境クリーン 機能。

SourceCode(エントリ、ビルダー)、env.SourceCode(エントリ、ビルダー)
この関数とそれに関連するファクトリ関数は非推奨です。ありません
交換。意図された用途は、ローカル ツリーをアーカイブと同期しておくことでしたが、
実際には、この関数は最初の実行時にアーカイブを取得するだけです。
アーカイブとの同期は、SCons の外部で行うのが最適です。

存在しないソース ファイルがソース コード管理からフェッチされるように手配する
指定されたシステムを使用する ビルダー。 指定された エントリー ノード、文字列、または
両方のリストであり、個々のソース ファイルまたはディレクトリのいずれかを表す場合があります。
ソースファイルが見つかります。

存在しないソース ファイルについては、scons はディレクトリ ツリーを検索し、
最初の ソースコード それが見つけたビルダー。指定された ビルダー None の場合もあります。その場合は
scons は、指定されたソース ファイルをフェッチするためにビルダーを使用しません。 エントリー、 たとえ
a ソースコード builder はツリーの上位のディレクトリに指定されています。

scons は、デフォルトで、明示的な指定なしで SCCS または RCS サブディレクトリからファイルをフェッチします。
構成。必要な情報を検索するために余分な処理時間がかかります。
ディスク上のソース コード管理ファイル。このような余分な検索を回避し、速度を上げることができます
次のようにこれらの検索を無効にすることで、ビルドを少し改善できます。

env.SourceCode('.', なし)

指定された場合は、 ビルダー 手動で作成したものであるため、
ソース ファイルをフェッチするときに使用する、関連するコンストラクション環境。

scons は、適切なビルダーを返す一連の缶詰ファクトリー関数を提供します。
さまざまな一般的なソース コード管理システム。正規の呼び出し例
次のとおりです。

env.SourceCode('.', env.BitKeeper('/usr/local/BKsources'))
env.SourceCode('src', env.CVS('/usr/local/CVSROOT'))
env.SourceCode('/', env.RCS())
env.SourceCode(['f1.c', 'f2.c'], env.SCCS())
env.SourceCode('no_source.c', なし)

SourceSignatures(タイプ)、env.SourceSignatures(タイプ)
注: まだ正式には非推奨になっていませんが、この関数の使用は
落胆した。を参照してください。 決定者 より柔軟で簡単な方法を実現する関数
SCons の意思決定を構成します。

この ソース署名 関数は scons に、ソース ファイル (
他のファイルから構築されていません) 最後に使用されてから変更されています
特定のターゲット ファイルをビルドします。有効な値は MD5 またはタイムスタンプです。

環境メソッドが使用される場合、指定されたタイプのソース署名のみが使用されます。
その環境で構築されたターゲットが最新であるか、または最新である必要があるかを決定するとき
再建された。グローバル関数を使用する場合、指定されたタイプのソース署名
ターゲットが最新であるかどうかに関するすべての決定に使用されるデフォルトになります。

MD5 は、ソース ファイルの MD5 チェックサムが一致した場合に、scons がソース ファイルが変更されたと判断することを意味します。
特定のターゲットを再構築するために最後に使用されてから内容が変更されました
ファイルにソフトウェアを指定する必要があります。

タイムスタンプとは、タイムスタンプが次の場合にソース ファイルが変更されたと scons が判断することを意味します。
(変更時刻) は、前回の再構築に使用されてから変更されました。
特定のターゲットファイル。 (これは Make の動作に似ていますが、
デフォルトでは、依存関係が次の場合にも再構築されます。 古い 前回よりも
ターゲット ファイルを再構築するために使用されます。)

Python の 2 つの動作に違いはありません ノードオブジェクト。

MD5 署名は計算に時間がかかりますが、タイムスタンプよりも正確です
署名。デフォルト値は MD5 です。

デフォルトであることに注意してください ターゲット署名 設定 (以下を参照) はこれを使用することです
ソース署名 他のターゲットのビルドに使用されるターゲット ファイルの設定
ファイル。したがって、の値を変更すると、 ソース署名 デフォルトでは影響を及ぼします
ビルド内のすべてのファイル (または特定の
施工環境の場合 env.SourceSignatures 使用されている)。

Split(arg)、env.Split(arg)
ファイル名またはその他のオブジェクトのリストを返します。 arg が文字列の場合、分割されます
文字列内に空白文字の文字列が含まれるため、長い文章を書きやすくなります。
ファイル名のリスト。 arg がすでにリストである場合、リストはそのまま返されます。もし
arg が他のタイプのオブジェクトの場合は、
オブジェクト。

例:

files = Split("f1.c f2.c f3.c")
files = env.Split("f4.c f5.c f6.c")
files = Split("""
f7.c
f8.c
f9.c
""")

env.subst(入力, [生、ターゲット、ソース、変換])
指定された文字列またはシーケンスに対して構築変数補間を実行します。
引数 .

デフォルトでは、先頭または末尾の空白は結果から削除されます。そしてすべて
一連の空白文字は単一の空白文字に圧縮されます。さらに、
$( および $) 文字シーケンスは返された文字列から削除されます。
任意 空白と $(-$) を保持したい場合は、引数を 1 に設定できます。
シーケンス。 の すべての文字を削除したい場合は、引数を 2 に設定できます。
$( と $) のペアの間 (署名の計算で行われるように)。

入力がシーケンス (リストまたはタプル) の場合、シーケンスの個々の要素
展開され、結果がリストとして返されます。

オプション ターゲットsource キーワード引数は、ターゲットとターゲットのリストに設定する必要があります。
必要な場合は、それぞれソース ノード $TARGET, $TARGETS, $ソース$SOURCES 〜へ
拡張に利用できるようになります。これは通常、電話をかける場合に必要です 環境サブスト
SCons アクションとして使用される Python 関数内から。

返された文字列値またはシーケンス要素はその文字列に変換されます。
デフォルトでの表現。オプションの conv 引数で変換を指定できます
デフォルトの代わりに使用される関数。たとえば、Python が必要な場合
Python オブジェクトとして返されるオブジェクト (SCons ノードを含む) を使用するには、
単純に未変換を返す名前のない関数を渡す Python Λ イディオム
引数。

例:

print env.subst("C コンパイラは $CC")

def コンパイル(ターゲット、ソース、環境):
sourceDir = env.subst("${SOURCE.srcdir}",
ターゲット=ターゲット、
ソース=ソース)

source_nodes = env.subst('$EXPAND_TO_NODELIST',
conv=ラムダ x: x)

タグ(ノード、タグ)
ファイルまたはディレクトリ ノードに、どのように機能するかに関する情報を注釈として付けます。 パッケージ ビルダー
それらのファイルまたはディレクトリをパッケージ化する必要があります。すべてのタグはオプションです。

例:

# ビルドされたライブラリが 0644 ファイルとともにインストールされることを確認します
# アクセスモード
タグ( ライブラリ( 'lib.c' )、UNIX_ATTR="0644" )

# file2.txt をドキュメント ファイルとしてマークします
タグ( 'file2.txt', DOC )

TargetSignatures(タイプ)、env.TargetSignatures(タイプ)
注: まだ正式には非推奨になっていませんが、この関数の使用は
落胆した。を参照してください。 決定者 より柔軟で簡単な方法を実現する関数
SCons の意思決定を構成します。

この ターゲット署名 関数は scons に、ターゲット ファイル (
is 他のファイルからビルドされたもの) が最後にビルドに使用されてから変更されています
他のターゲット ファイル。有効な値は「ビルド」です。 「コンテンツ」(またはその同義語「MD5」);
「タイムスタンプ」;または「ソース」。

環境メソッドが使用される場合、指定されたタイプのターゲット署名のみが使用されます。
その環境で構築されたターゲットの場合。グローバル関数を使用する場合、指定された
署名のタイプは、署名を持たないすべてのターゲット ファイルに使用されるデフォルトになります。
環境に合わせて指定された明示的なターゲット署名タイプ。

「コンテンツ」(またはその同義語「MD5」)は、次の場合にターゲット ファイルが変更されたと scons が判断することを意味します。
そのコンテンツの MD5 チェックサムは、最後に使用されてから変更されています。
他のターゲット ファイルを再構築します。これは、scons が MD5 の内容を合計して開くことを意味します。
ビルド後にファイルをターゲットにし、再ビルドする必要がないと判断する場合があります。
ファイルがターゲット ファイルとまったく同じ内容で再構築された場合の「ダウンストリーム」ターゲット ファイル
前回。

「タイムスタンプ」とは、タイムスタンプが次の場合にターゲット ファイルが変更されたと scons が判断することを意味します。
(変更時間) は、他のものを再構築するために最後に使用されてから変更されました。
ターゲットファイル。 (これは Make の動作に似ていますが、デフォルトでは
依存関係が次の場合にも再構築されます。 古い 前回使用していた時よりも
ターゲットファイルをリビルドします。)

「ソース」とは、ターゲット ファイルが指定どおりに変更されたと scons が判断することを意味します。
対応する ソース署名 設定 (「MD5」または「タイムスタンプ」)。つまり、スコン
は、ターゲットへのすべての入力ファイルが、ターゲットであるかどうかに関係なく、同じ方法で処理されます。
ソース ファイルか、他のファイルからビルドされています。

"build" は、ターゲット ファイルが再ビルドされている場合に、scons が変更されたと判断することを意味します。
この呼び出し、またはその内容またはタイムスタンプが指定に従って変更されたかどうか
対応する ソース署名 設定。これにより、再構築されたファイルのステータスが「伝播」されます。
そのため、他の「ダウンストリーム」ターゲット ファイルは、コンテンツが
またはタイムスタンプが変更されていません。

「コンテンツ」(または「MD5」)署名の方が時間がかかるため、「ビルド」署名が最も高速です。
計算しますが、「タイムスタンプ」署名よりも正確であり、
ターゲット ファイルがまったく同じものに再構築されるときに、不必要な「ダウンストリーム」再構築が行われる
内容は以前のビルドと同じです。 「ソース」設定は最も一貫性のあるものを提供します。
他のターゲット ファイルがソースとターゲットの両方の入力から再構築される場合の動作
ファイル。デフォルト値は「ソース」です。

デフォルト設定は「ソース」なので、 ソース署名 一般的に
より好ましい ターゲット署名、最新の決定が一貫性を保つようにします。
すべてのファイル (または特定の構築環境でビルドされたすべてのファイル)。の使用
ターゲット署名 ビルドされたターゲット ファイルがターゲット ファイルにどのように影響するかを具体的に制御します。
「下流」の依存関係。

Tool(文字列, [ツールパス, **kw])、env.Tool(文字列, [ツールパス, **kw])
この ツール 関数の形式は、初期化に使用できる呼び出し可能なオブジェクトを返します。
Environment() メソッドの tools キーワードを使用した構築環境。の
オブジェクトはコンストラクション環境を引数として呼び出すことができます。その場合、
オブジェクトは、必要な変数をコンストラクション環境と名前に追加します。
ツールの $TOOLS 構築変数。

追加のキーワード引数はツールの 生成する() 方法。

例:

env = 環境(ツール = [ Tool('msvc') ])

env = 環境()
t = ツール('msvc')
t(env) # 'msvc' を TOOLS 変数に追加します
u = ツール('opengl', ツールパス = ['ツール'])
u(env) # 'opengl' を TOOLS 変数に追加します

この 環境ツール 関数の形式は、指定されたツールの呼び出し可能オブジェクトを適用します
string メソッドが呼び出された環境に転送されます。

追加のキーワード引数はツールの 生成する() 方法。

env.Tool('gcc')
env.Tool('opengl', ツールパス = ['build/tools'])

Value(value, [built_value])、env.Value(value, [built_value])
指定された Python 値を表す Node オブジェクトを返します。バリューノードが使用可能
ターゲットの依存関係として。電話をかけた結果、 STR() SCons 間の変化
実行、ターゲットに応じて ()が再構築されます。 (これは次の場合にも当てはまります
タイムスタンプを使用してファイルが最新かどうかを判断します。) タイムスタンプ ソースを使用する場合
署名、値ノードのタイムスタンプは、ノードが存在するときのシステム時間と等しくなります。
作成しました。

返される Value Node オブジェクトには、 書きます() メソッドを「構築」するために使用できます。
新しい値を設定して値ノードを作成します。オプションの 構築された値 引数を指定できる
ノードがすでに考慮されるべきであることを示すために値ノードが作成されるとき
「建てた」。対応するものがあります read() メソッドは構築された値を返します。
ノード。

例:

env = 環境()

def create(ターゲット、ソース、環境):
# 'prefix=$SOURCE' を書き込む関数
# として指定されたファイル名に文字列を挿入します。
# $TARGET。
f = open(str(ターゲット[0]), 'wb')
f.write('prefix=' +source[0].get_contents())

# prefix= 引数があればそれをコマンドから取得します
# 行を追加して使用します / usr / local デフォルトとして。
prefix = ARGUMENTS.get('prefix', '/ usr / local')

# 上記の関数アクションに .Config() ビルダーをアタッチします
# 構築環境へ。
env['BUILDERS']['Config'] = ビルダー(アクション = 作成)
env.Config(ターゲット = 'パッケージ構成', ソース = 値(プレフィックス))

def build_value(ターゲット、ソース、環境):
# 更新することで Python 値を「構築」する関数
# ファイルの内容を含む Python 値
# Builder 呼び出しのソース ($SOURCE) として指定されます。
target[0].write(source[0].get_contents())

出力 = env.Value('before')
input = env.Value('after')

# 上記の関数に .UpdateValue() ビルダーをアタッチします
# 構築環境に対するアクション。
env['BUILDERS']['UpdateValue'] = ビルダー(アクション = build_value)
env.UpdateValue(ターゲット = 値 (出力)、ソース = 値 (入力))

VariantDir(variant_dir, src_dir, [重複])、env.VariantDir(variant_dir, src_dir,
[重複])
バリアントディレクトリ ソースのコピーを別の場所に作成する機能:
下の名前 バリアントディレクトリ は見つかりませんが、以下に存在します src_dir、ファイルまたはディレクトリは
にコピーされました バリアントディレクトリ。ターゲット ファイルは、
バリアント内のソース (およびターゲット) を単に参照することによる元のソース
ツリー。

バリアントディレクトリ 同じもので複数回呼び出すことができます src_dir 複数設定するには
さまざまなオプションを使用してビルドします (バリアント)。 ザ src_dir 場所は または 内である必要があります
SConstruct ファイルのディレクトリの下にあり、 バリアントディレクトリ 下にいないかもしれない
src_dir.

デフォルトの動作では、scon はソース ファイルを物理的に複製します。
バリアントツリー。したがって、バリアント ツリーで実行されるビルドは、
中間ソース ファイルであっても、ソース ツリーで実行されるビルドと同じ
ビルド中に生成されるか、プリプロセッサまたは他のスキャナが含まれるファイルを検索します。
ソース ファイルに関連するファイル、または個々のコンパイラやその他の呼び出されるツールは、
派生ファイルをソース ファイルと同じディレクトリに配置するようにハードコーディングされています。

プラットフォーム上で可能な場合、複製はリンクではなくリンクによって実行されます。
コピーすること。も参照してください - 複製 コマンドラインオプション。しかも必要なファイルだけ
ビルドの場合は複製されます。使用されていないファイルやディレクトリは存在しません
in バリアントディレクトリ.

ソース ツリーの複製は、duplicate 引数を 0 に設定することで無効にすることができます。
(ゼロ)。これにより、scons はソース ファイルのパス名を使用してビルダーを呼び出すようになります。
in src_dir およびその中の派生ファイルのパス名 バリアントディレクトリ。これはいつも以上です
これは、duplicate=1 よりも効率的であり、通常、ほとんどのビルドにとって安全です (ただし、詳細については上記を参照してください)
トラブルの原因となる場合があります)。

注意してください バリアントディレクトリ 補助的な SConscript ファイルを使用すると最も自然に動作します。しかし、
次に、補助的な SConscript ファイルをソース ディレクトリではなく、
  バリアントディレクトリ、重複の値に関係なく。これが軽蔑者への伝え方です
ソース ツリーのどのバリアントを構築するか:

# 2 つのバリアント ディレクトリで src/SConscript を実行します
VariantDir('build/variant1', 'src')
SConscript('ビルド/バリアント1/SConscript')
VariantDir('build/variant2', 'src')
SConscript('ビルド/バリアント2/SConscript')

参照してください S徴兵 を指定する別の方法については、上で説明した関数を使用します。
補助的な SConscript ファイルの呼び出しと組み合わせて、variant ディレクトリを作成します。

例:

# ソースディレクトリではなく、ビルドディレクトリ内の名前を使用します
VariantDir('ビルド', 'ソース', 重複=0)
プログラム('build/prog', 'build/source.c')

# これにより、ソースとドキュメントの両方が別のサブツリーに構築されます
VariantDir('ビルド', '.', 重複=0)
SConscript(dirs=['build/src','build/doc'])

# 前の例と同じですが、SConscript のみを使用します
SConscript(dirs='src'、variant_dir='build/src'、duplicate=0)
SConscript(dirs='doc',variant_dir='build/doc',duplicate=0)

WhereIs(プログラム, [パス, パステキスト, リジェクト]), env.WhereIs(プログラム, [パス, パステキスト, リジェクト])
指定された実行可能ファイルを検索します プログラム、フルパス名を返します。
見つかった場合はプログラムを返し、見つからなかった場合は None を返します。指定されたものを検索します path
呼び出し元環境の PATH の値 (env['ENV']['PATH'])、またはユーザーの現在の
デフォルトでは外部 PATH (os.environ['PATH'])。 Windows システムでは、次のように検索します。
指定されたファイルにリストされているいずれかの拡張子を持つ実行可能プログラム パステキスト,
呼び出し元環境の PATHEXT (env['ENV']['PATHEXT']) またはユーザーの現在の
デフォルトでは PATHEXT (os.environ['PATHEXT'])。パス名または名前は選択されません
指定された 拒否する あればリスト。

S徴兵 Variables
グローバル関数とメソッドに加えて、 軽蔑的 多くの Python をサポートしています
SConscript ファイルで使用して、ビルドの方法に影響を与える変数
実行されました。これらの変数には、インポートするカスタム Python モジュールからアクセスできます。
以下を Python モジュールに追加して、SConscript ファイルを作成します。

SCons.Script インポートから *

引数リスト
リスト キーワード= コマンドラインで指定された引数。リスト内の各要素
(を含むタプルです)キーワード,) の引数。別個の キーワード
タプルの要素には、要素に添え字を付けることでアクセスできます。 【0]【1] of
それぞれタプル。

例:

print "最初のキーワード、値 =、ARGLIST[0][0]、ARGLIST[0][1]
print "1 番目のキーワード、値 =、ARGLIST[0][1]、ARGLIST[1][XNUMX]
third_tuple = ARGLIST[2]
print "0 番目のキーワード、値 ="、 third_tuple[1]、 third_tuple[XNUMX]
ARGLIST のキーと値の場合:
# キーと値を処理します

議論
すべての辞書 キーワード= コマンドラインで指定された引数。の
辞書の順序が正しくなく、特定のキーワードに複数の値が割り当てられている場合
コマンドライン上では、最後 (右端) の値が 議論
辞書。

例:

if ARGUMENTS.get('debug', 0):
env = 環境(CCFLAGS = '-g')
その他:
env = 環境()

BUILD_TARGETS
ターゲットのリスト 軽蔑的 かどうかに関係なく、実際にビルドしようとします。
それらはコマンドラインまたは デフォルト() 関数またはメソッド。の
このリストの要素は文字列である場合があります or ノードがあるため、リストを実行する必要があります。
Python STR 関数を使用して、ノードのパス名が文字列に変換されていることを確認します。

このリストは、 デフォルト()
関数またはメソッドの場合、リストの内容は連続して呼び出すたびに変更される可能性があります。
デフォルト()。を参照してください。 DEFAULT_TARGETS 追加情報については、以下のリストを参照してください。

例:

BUILD_TARGETS に「foo」がある場合:
print "「foo」プログラムをテストすることを忘れないでください!"
BUILD_TARGETS に「スペシャル/プログラム」がある場合:
SConscript('特別')

なお、 BUILD_TARGETS リストには、コマンドラインにリストされると予想されるターゲットのみが含まれます
またはへの通話を通じて デフォルト() 関数またはメソッド。します すべての依存関係を含む
明示的に指定されたターゲットが確実に実行されたことを確認した結果として構築されるターゲット
最新の状態です。

COMMAND_LINE_TARGETS
コマンドラインで明示的に指定されたターゲットのリスト。ない場合
コマンドラインでターゲットを指定すると、リストは空になります。これは、次の目的で使用できます。
たとえば、特定のターゲットが明示的に指定されている場合にのみ特定のアクションを実行します。
構築されています。

例:

COMMAND_LINE_TARGETS に「foo」がある場合:
print "「foo」プログラムをテストすることを忘れないでください!"
COMMAND_LINE_TARGETS に「特別/プログラム」がある場合:
SConscript('特別')

DEFAULT_TARGETS
ターゲットのリスト ノード を使用して指定されている デフォルト() 関数または
方法。リストの要素はノードなので、Python を通じて実行する必要があります。
STR 各ノードのパス名を取得する関数。

例:

print str(DEFAULT_TARGETS[0])
Map(str, DEFAULT_TARGETS) に 'foo' がある場合:
print "「foo」プログラムをテストすることを忘れないでください!"

の内容 DEFAULT_TARGETS リストは、連続して呼び出すたびにオンに変更されます。
デフォルト() 関数:

print map(str, DEFAULT_TARGETS) # 当初は []
デフォルト('foo')
print map(str, DEFAULT_TARGETS) # ノード ['foo'] になりました
デフォルト('バー')
print map(str, DEFAULT_TARGETS) # ノード ['foo', 'bar'] になりました
デフォルト(なし)
print map(str, DEFAULT_TARGETS) # [] に戻る

したがって、必ず使用してください DEFAULT_TARGETS すべてを終えた後にのみ デフォルト()
または、SConscript ファイル内のこれらのステートメントの順序に注意してください。
これにより、実際に追加される前に特定のデフォルト ターゲットを探す必要がなくなります。
リスト。

建設業 Variables
コンストラクション環境には、次の辞書が関連付けられています。 建設 variables そのアール
組み込みまたはユーザー指定のビルド ルールによって使用されます。構築変数は同じ後に続く必要があります
Python 識別子の規則: 最初の文字はアンダースコアまたは文字である必要があります。
その後に任意の数のアンダースコア、文字、または数字が続きます。

多くの便利な構築変数が、それぞれの scons によって自動的に定義されます。
サポートされているプラ​​ットフォームに合わせて追加の構築変数をユーザーが定義できます。の
以下は、自動的に定義される構築変数のリストです。

__LDMODULEVERSIONFLAGS
この構築変数は自動的に次のように導入します。 $_LDMODULEVERSIONFLAGS if
$LDMODULEVERSION が設定されています。それ以外の場合は、空の文字列として評価されます。

__SHLIBバージョンフラグ
この構築変数は自動的に次のように導入します。 $_SHLIBVERSIONFLAGS if
$SHLIBVERSION が設定されています。それ以外の場合は、空の文字列として評価されます。

AR
静的ライブラリ アーカイバ。

アーキテクチャ
パッケージが構築されるシステム アーキテクチャを指定します。デフォルトは
SCons が実行されているマシンのシステム アーキテクチャ。これは埋めるために使用されます
Ipkg 制御ファイルの Architecture: フィールド内、および名前の一部として
生成されたRPMファイル。

アーコム
オブジェクト ファイルから静的ライブラリを生成するために使用されるコマンド ライン。

アーコムスター
アセンブリ言語ソースからオブジェクトファイルを生成する際に表示される文字列
ファイル。これが設定されていない場合は、 $アルコム (コマンドライン) が表示されます。

env = 環境(ARCOMSTR = "$TARGET のアーカイブ")

アルフラグス
静的ライブラリ アーカイバに渡される一般オプション。

AS
アセンブラー。

アスコム
アセンブリ言語ソースからオブジェクト ファイルを生成するために使用されるコマンド ライン
ファイルにソフトウェアを指定する必要があります。

アスコムスター
アセンブリ言語ソースからオブジェクトファイルを生成する際に表示される文字列
ファイル。これが設定されていない場合は、 $ASCOM (コマンドライン) が表示されます。

env = 環境(ASCOMSTR = "$TARGET のアセンブリ")

アスフラッグス
アセンブラに渡される一般オプション。

ASPPCOM
アセンブリ言語のソース ファイルをオブジェクト ファイルにアセンブルするために使用されるコマンド ライン
最初に C プリプロセッサを通じてファイルを実行した後。で指定されたオプションは、
$ASFLAGS$CPPFLAGS このコマンドラインには構築変数が含まれています。

ASPPCOMSTR
アセンブリ言語ソースからオブジェクトファイルを生成する際に表示される文字列
最初に C プリプロセッサを通じてファイルを実行した後、ファイルを作成します。これが設定されていない場合は、
$ASPPCOM (コマンドライン) が表示されます。

env = 環境(ASPPCOMSTR = "$TARGET のアセンブリ")

ASPPFLAGS
アセンブリ言語ソース ファイルをオブジェクトにアセンブルするときの一般オプション
最初に C プリプロセッサを通じてファイルを実行した後、ファイルを作成します。デフォルトでは使用します
の値 $ASFLAGS.

ビブテックス
TeX フォーマッタとタイプセッター、および LaTeX 用の文献目録ジェネレーター
構造化フォーマッタとタイプセッター。

ビブテックスコム
TeX フォーマッタの参考文献ジェネレータを呼び出すために使用されるコマンド ラインと
タイプセッターと LaTeX 構造化フォーマッタおよびタイプセッター。

BIBTEXCOMSTR
TeX または LaTeX の参考文献を生成するときに表示される文字列。そうでない場合
設定してから $BIBTEXCOM (コマンドライン) が表示されます。

env = 環境(BIBTEXCOMSTR = "参考文献 $TARGET の生成")

ビブテックスフラグ
TeX フォーマッタおよび参考文献ジェネレータに渡される一般オプション
タイプセッターと LaTeX 構造化フォーマッタおよびタイプセッター。

ビットキーパー
BitKeeper 実行可能ファイル。

ビットキーパーコム
BitKeeper を使用してソース ファイルをフェッチするためのコマンド ライン。

ビットキーパーCOMSTR
BitKeeperを使用してソースファイルを取得するときに表示される文字列。これが設定されていない場合は、
その後 $BITKEEPERCOM (コマンドライン) が表示されます。

ビットキーパーゲット
コマンド ($ビットキーパー) と、BitKeeper を使用してソース ファイルをフェッチするためのサブコマンド。

ビットキーパーゲットフラグ
BitKeeper に渡されるオプション 取得する サブコマンド。

ビルダー
この環境を通じて利用可能なビルダーの名前をマッピングする辞書。
基礎となるビルダーオブジェクト。 Alias、CFile、CXXFile、DVI、Library、という名前のビルダー
デフォルトでは、オブジェクト、PDF、PostScript、およびプログラムが使用可能です。これを初期化すると
環境作成時の変数:

env = 環境(BUILDERS = {'NewBuilder' : foo})

デフォルトのビルダーは利用できなくなります。新しい Builder オブジェクトを使用するには
デフォルトの Builder に加えて、次のように新しい Builder オブジェクトを追加します。

env = 環境()
env.Append(BUILDERS = {'NewBuilder' : foo})

またはこれ:

env = 環境()
env['BUILDERS]['NewBuilder'] = foo

CC
C コンパイラ。

CCCOM
C ソース ファイルを (静的) オブジェクト ファイルにコンパイルするために使用されるコマンド ライン。どれでも
で指定されたオプション $CFLAGS, $CCFLAGS$CPPFLAGS 構築変数は
このコマンドラインに含まれています。

CCCOMSTR
C ソース ファイルが (静的) オブジェクト ファイルにコンパイルされるときに表示される文字列。もし
これは設定されていないため、 $CCCOM (コマンドライン) が表示されます。

env = 環境(CCCOMSTR = "静的オブジェクト $TARGET をコンパイルしています")

CCFLAGS
C および C++ コンパイラに渡される一般オプション。

CCPCHFLAGS
プリコンパイルされたビルドをサポートするためにコンパイラ コマンド ラインにオプションが追加されました
ヘッダー。デフォルト値は、適切な Microsoft Visual C++ に展開されます。
コマンドラインオプション $PCH 構築変数が設定されます。

CCPDBFLAGS
デバッグ情報の保存をサポートするオプションがコンパイラ コマンド ラインに追加されました。
Microsoft Visual C++ PDB ファイル。デフォルト値は適切な値に展開されます。
Microsoft Visual C++ コマンドライン オプション $PDB 構築変数が設定されます。

SCons が PDB 情報を生成するためにデフォルトで使用する Visual C++ コンパイラ オプション
is /Z7。これは並列で正しく動作します (-j) デバッグが埋め込まれているためビルドされます。
単一の PDB ファイルを共有するのではなく、中間オブジェクト ファイル内の情報
複数のオブジェクト ファイル間で。これはデバッグ情報を取得する唯一の方法でもあります
静的ライブラリに埋め込まれます。の使用 /Zi 代わりに、リンク時間が改善される可能性があります
ただし、並列ビルドは機能しなくなります。

次のコマンドを使用して PDB ファイルを生成できます。 /Zi デフォルトをオーバーライドして切り替える $CCPDBFLAGS
次のような変数:

env['CCPDBFLAGS'] = ['${(PDB および "/Zi /Fd%s" % File(PDB)) または ""}']

別の方法としては、 /Zi デバッグ情報を別の場所に置く
をオーバーライドして、各オブジェクト ファイルの .pdb ファイルを作成します。 $CCPDBFLAGS 次のような変数:

env['CCPDBFLAGS'] = '/Zi /Fd${TARGET}.pdb'

CCバージョン
C コンパイラのバージョン番号。これは、環境に応じて設定される場合と設定されない場合があります。
特定の C コンパイラが使用されています。

ファイルサフィックス
C ソース ファイルの接尾辞。これは、次の場合に内部 CFile ビルダーによって使用されます。
Lex (.l) または YACC (.y) 入力ファイルから C ファイルを生成します。デフォルトのサフィックス、
もちろん、.c (小文字) です。大文字と小文字を区別しないシステム (Windows など) では、SCons も
.C (大文字) ファイルを C ファイルとして扱います。

CFフラグ
C コンパイラに渡される一般オプション (C のみ。C++ ではありません)。

CHANGE_SPECFILE
パッケージングのビルドを制御するファイル (RPM の .spec、
Ipkg のコントロール、MSI の .wxs)。設定されている場合、関数は
ファイルの SCons テンプレートが書き込まれました。 XXX

CHANGED_SOURCES
コンストラクション環境では設定または使用できない予約済みの変数名。
(下記の「変数置換」を参照してください。)

CHANGED_TARGETS
コンストラクション環境では設定または使用できない予約済みの変数名。
(下記の「変数置換」を参照してください。)

変更履歴
パッケージに含める変更ログ テキストを含むファイルの名前。これ
は、RPM .spec ファイルの %changelog セクションとして含まれます。

_連結
次のような変数を生成するために使用される関数 $_CPPINCFLAGS。 4つか5つかかります
引数: 各要素に連結する接頭辞、要素のリスト、接尾辞
各要素、変数補間の環境、および
連結前にリストを変換するために呼び出されるオプションの関数。

env['_CPPINCFLAGS'] = '$( ${_concat(INCPREFIX, CPPPATH, INCSUFFIX, __env__, RDirs)} $)',

構成ディレクトリ
Configure context テスト ファイルが書き込まれるディレクトリの名前。の
デフォルトは、SConstruct ファイルを含む最上位ディレクトリの .sconf_temp です。

ログの設定
コンフィギュレーション コンテキスト ログ ファイルの名前。デフォルトはトップレベルのconfig.logです。
SConstruct ファイルを含むディレクトリ。

_CPPDEFFLAGS
C プリプロセッサを含む自動生成された構築変数
値を定義するコマンドライン オプション。の値 $_CPPDEFFLAGS によって作成されます
追記 $CPPDEFPREFIX$CPPDEFSUFFIX 各定義の最初と最後まで
in $CPPDEFINES.

CPPDEFINES
C プリプロセッサ定義のプラットフォームに依存しない仕様。定義
自動生成されたものを通じてコマンドラインに追加されます。 $_CPPDEFFLAGS
構築変数 (上記を参照)。値のタイプに従って構築されます。
of $CPPDEFINES:

If $CPPDEFINES は文字列であり、その値は $CPPDEFPREFIX$CPPDEFSUFFIX
構築変数は先頭と末尾に追加されます。

# POSIX コンパイラ コマンド ラインに -Dxyz を追加します。
# および /Dxyz を Microsoft Visual C++ コマンド ラインに変換します。
env = 環境(CPPDEFINES='xyz')

If $CPPDEFINES はリスト、の値 $CPPDEFPREFIX$CPPDEFSUFFIX
構築変数は、各要素の先頭と末尾に追加されます。
リスト。いずれかの要素がリストまたはタプルの場合、最初の項目はその名前になります。
定義されており、2 番目の項目はその値です。

# -DB=2 -DA を POSIX コンパイラ コマンド ラインに追加します。
# および /DB=2 /DA を Microsoft Visual C++ コマンド ラインに変換します。
env = 環境(CPPDEFINES=[('B', 2), 'A'])

If $CPPDEFINES は辞書の場合、の値は $CPPDEFPREFIX$CPPDEFSUFFIX
構築変数は、各項目の先頭と末尾に追加されます。
辞書。各辞書項目のキーは、辞書に定義されている名前です。
項目の対応する値。値が None の場合、名前は拡張子なしで定義されます。
明示的な値。結果として得られるフラグは、キーワードごとにソートされていることを確認します。
コマンドライン上のオプションの順序は、scons が実行されるたびに一貫しています。

# POSIX コンパイラ コマンド ラインに -DA -DB=2 を追加します。
# および /DA /DB=2 を Microsoft Visual C++ コマンド ラインに追加します。
env = 環境(CPPDEFINES={'B':2, 'A':なし})

CPPDEFPREFIX
C コンパイラのコマンド ラインでプリプロセッサ定義を指定するために使用される接頭辞。
これは、ファイル内の各定義の先頭に追加されます。 $CPPDEFINES
構築変数の場合、 $_CPPDEFFLAGS 変数が自動生成されます。

CPPDEFSUFFIX
C コンパイラのコマンド ラインでプリプロセッサ定義を指定するために使用されるサフィックス。
これは、各定義の末尾に追加されます。 $CPPDEFINES 建設
変数の場合 $_CPPDEFFLAGS 変数が自動生成されます。

CPPFLAGS
ユーザー指定の C プリプロセッサ オプション。これらは、を使用するすべてのコマンドに含まれます。
C プリプロセッサ。これには、C および C++ ソース ファイルのコンパイルだけでなく、
$CCCOM, $SHCCCOM, $CXXCOM$SHCXXCOM コマンドラインだけでなく、 $FOTRAPPCOM,
$SHFOTRANPCOM, $F77PPCOM$SHF77PPCOM Fortran のコンパイルに使用されるコマンドライン
ソースファイルと、 $ASPPCOM アセンブリ言語をアセンブルするために使用されるコマンドライン
最初に各ファイルを C プリプロセッサで実行した後、ソース ファイルを作成します。これに注意してください
変数は行います 含む -I (または同様のもの) を無視する検索パス オプションが含まれています。
~から自動的に生成されます $CPPPATH。 見る $_CPPINCFLAGS、以下の変数について
それらのオプションに拡張されます。

_CPPINCFLAGS
C プリプロセッサを含む自動生成された構築変数
インクルード ファイルを検索するディレクトリを指定するためのコマンド ライン オプション。の
の値 $_CPPINCFLAGS を追加することで作成されます $INCPREFIX$INCSUFFIX から
各ディレクトリの先頭と末尾 $CPPPATH.

CPPPATH
C プリプロセッサが検索するディレクトリのリストには、ディレクトリが含まれます。
C/C++ の暗黙的な依存関係スキャナーは、これらのディレクトリーでインクルード ファイルを検索します。
CCFLAGS または CXXFLAGS にインクルード ディレクトリ引数を明示的に指定しないでください。
結果は移植性がなく、ディレクトリは依存関係によって検索されません。
スキャナー。注: CPPPATH 内のディレクトリ名は、SConscript を基準にして検索されます。
コマンドで使用する場合はディレクトリに追加されます。 scons にディレクトリの検索を強制するには
ソースツリーのルートを基準として #: を使用します。

env = 環境(CPPPATH='#/include')

ディレクトリ検索は、次のコマンドを使用して強制することもできます。 あなた() 関数:

include = Dir('include')
env = 環境(CPPPATH=include)

ディレクトリ リストは、自動生成されたコマンド ラインを通じてコマンド ラインに追加されます。
$_CPPINCFLAGS 構築変数。次の値を追加することによって構築されます。
  $INCPREFIX$INCSUFFIX それぞれの先頭と末尾に構築変数を追加します。
のディレクトリ $CPPPATH。 CPPPATH ディレクトリを必要とする定義したコマンド ライン
リストに含める必要があります $_CPPINCFLAGS:

env = 環境(CCCOM="my_compiler $_CPPINCFLAGS -c -o $TARGET $SOURCE")

CPPサフィックス
C プリプロセッサが暗黙的にスキャンするファイルのサフィックスのリスト
依存関係 (#include 行)。デフォルトのリストは次のとおりです。

[".c"、".C"、".cxx"、".cpp"、".c++"、".cc"、
".h"、".H"、".hxx"、".hpp"、".hh"、
「.F」、「.fpp」、「.FPP」、
"。うーん"、
「.S」、「.spp」、「.SPP」]

CVS
CVS 実行可能ファイル。

CVSCOFLAGS
CVS checkout サブコマンドに渡されるオプション。

CVSCOM
CVS リポジトリからソース ファイルをフェッチするために使用されるコマンド ライン。

CVSCOMSTR
CVS リポジトリからソース ファイルをフェッチするときに表示される文字列。そうでない場合
設定してから $CVSCOM (コマンドライン) が表示されます。

CVSFLAGS
CVS に渡される一般的なオプション。デフォルトでは、これは -d $CVSREPOSITORY に設定されます。
ファイルをフェッチする必要がある場所を指定します。

CVSリポジトリ
CVS リポジトリへのパス。これはデフォルトで参照されます $CVSFLAGS の値です。

CXX
C++ コンパイラ。

CXXCOM
C++ ソース ファイルをオブジェクト ファイルにコンパイルするために使用されるコマンド ライン。任意のオプション
で指定 $CXXFLAGS$CPPFLAGS 構築変数はこれに含まれます
コマンドライン。

CXXCOMSTR
C++ ソース ファイルが (静的) オブジェクト ファイルにコンパイルされるときに表示される文字列。もし
これは設定されていないため、 $CXXCOM (コマンドライン) が表示されます。

env = 環境(CXXCOMSTR = "静的オブジェクト $TARGET をコンパイルしています")

CXXファイルサフィックス
C++ ソース ファイルの接尾辞。これは、次の場合に内部 CXXFile ビルダーによって使用されます。
Lex (.ll) または YACC (.yy) 入力ファイルから C++ ファイルを生成します。デフォルトのサフィックスは次のとおりです
.cc。 SCons は、サフィックス .cpp、.cxx、.c++、および .C++ を持つファイルも C++ として扱います。
ファイル、および .mm 接尾辞が付いたファイルは Objective C++ ファイルとなります。大文字と小文字を区別するシステムの場合
(Linux、UNIX、およびその他の POSIX 類似ファイル)、SCons は .C (大文字) ファイルも C++ として扱います
ファイル。

CXXフラグ
C++ コンパイラに渡される一般オプション。デフォルトでは、これには以下が含まれます
の値 $CCFLAGS、その設定 $CCFLAGS C と C++ の両方のコンパイルに影響します。もし、あんたが
C++ 固有のフラグを追加する場合は、次の値を設定またはオーバーライドする必要があります。 $CXXFLAGS.

CXXバージョン
C++ コンパイラのバージョン番号。これは、環境に応じて設定される場合と設定されない場合があります。
特定の C++ コンパイラが使用されています。

DC
DC。

DCOM
DCOM。

DDバグ
DDバグ。

_DDEBUGFLAGS
_DDEBUGFLAGS。

DDBUGプレフィックス
DDBUGプレフィックス。

DDバグサフィックス
DDバグサフィックス。

DESCRIPTION
パッケージ化されるプロジェクトの長い説明。これは関連資料に含まれています
パッケージングのビルドを制御するファイルのセクション。

DESCRIPTION_lang
指定された言語固有の詳細な説明 長い。これはデータを入力するために使用されます
RPM .spec ファイルの %description -l セクション。

Dファイルサフィックス
Dファイルサフィックス。

DFLAGPREFIX
DFLAGPREFIX。

_DFLAGS
_DFLAGS。

DFLAGS
DFLAGS。

DFLAGSUFFIX
DFLAGSUFFIX。

_DINCFLAGS
_DINCFLAGS。

DINCPREFIX
DINCPREFIX。

DINCSUFFIX
DINCSUFFIX。

あなた
文字列をターゲットに相対的な Dir インスタンスに変換する関数
建てられました。

文字列をターゲットに相対的な Dir インスタンスに変換する関数
建てられました。

監督
文字列のリストを相対的な Dir インスタンスのリストに変換する関数
構築中のターゲット。

DLIB
DLIB。

ディリブコム
ディリブコム。

_DLIBDIRFLAGS
_DLIBDIRFLAGS。

DLIBDIRPREFIX
DLIBDIRPREFIX。

DLIBDIRSUFFIX
DLIBDIRSUFFIX。

DLIBFLAGPREFIX
DLIBFLAGプレフィックス。

_DLIBFLAGS
_DLIBFLAGS。

DLIBFLAGSUFFIX
DLIBFLAGSUFFIX。

DLIBLINKプレフィックス
DLIBLINKプレフィックス。

DLIBLINKサフィックス
DLIBLINKサフィックス。

Dlink
リンクします。

DLINKCOM
ディーリンクコム。

DLINKFLAGPREFIX
DLINKFLAGPREFIX。

ドリンクフラッグ
リンクフラグ。

DLINKFLAGSUFFIX
DLINKFLAGSUFFIX。

DOCBOOK_DEFAULT_XSL_EPUB
のデフォルトの XSLT ファイル ドックブックEpub 現在の環境内のビルダー (場合)
他の XSLT はキーワードによって指定されません。

DOCBOOK_DEFAULT_XSL_HTML
のデフォルトの XSLT ファイル DocbookHTML 現在の環境内のビルダー (場合)
他の XSLT はキーワードによって指定されません。

DOCBOOK_DEFAULT_XSL_HTMLCHUNKED
のデフォルトの XSLT ファイル DocbookHtmlチャンク化 現在のビルダー
他の XSLT がキーワードによって指定されていない場合は、環境。

DOCBOOK_DEFAULT_XSL_HTMLHELP
のデフォルトの XSLT ファイル DocbookHTMLヘルプ 現在の環境内のビルダー、
キーワードによって他の XSLT が指定されていない場合。

DOCBOOK_DEFAULT_XSL_MAN
のデフォルトの XSLT ファイル ドックブックマン 現在の環境内のビルダー (存在しない場合)
他の XSLT はキーワードによって指定されます。

DOCBOOK_DEFAULT_XSL_PDF
のデフォルトの XSLT ファイル ドックブックPDF 現在の環境内のビルダー (存在しない場合)
他の XSLT はキーワードによって指定されます。

DOCBOOK_DEFAULT_XSL_SLIDESHTML
のデフォルトの XSLT ファイル DocbookスライドHTML 現在のビルダー
他の XSLT がキーワードによって指定されていない場合は、環境。

DOCBOOK_DEFAULT_XSL_SLIDESPDF
のデフォルトの XSLT ファイル ドックブックスライドPDF 現在の環境内のビルダー、
キーワードによって他の XSLT が指定されていない場合。

DOCBOOK_FOP
PDF レンダラー fop または xep へのパス (いずれかがインストールされている場合) (fop がチェックされる)
最初)。

DOCBOOK_FOPCOM
PDF レンダラー fop または xep の完全なコマンドライン。

DOCBOOK_FOPCOMSTR
fop や xep などのレンダラーを使用して PDF 出力を作成するときに表示される文字列
XML ファイル。

DOCBOOK_FOPFLAGS
PDF レンダラー fop または xep の追加コマンドライン フラグ。

DOCBOOK_XMLLINT
外部実行可能ファイル xmllint がインストールされている場合は、そのパス。これは、
libxml2 または lxml Python がない場合、Xinclude を解決するための最後のフォールバックとしてのみ使用されます。
バインディングは現在のシステムにインポートできます。

DOCBOOK_XMLLINTCOM
外部実行可能ファイル xmllint の完全なコマンドライン。

DOCBOOK_XMLLINTCOMSTR
xmlint を使用して特定の XML ファイルの Xinclude を解決するときに表示される文字列。

DOCBOOK_XMLLINTFLAGS
外部実行可能ファイル xmllint の追加のコマンド ライン フラグ。

DOCBOOK_XSLTPROC
外部実行可能ファイル xsltproc (または saxon、xalan) へのパス (いずれか 1 つが
インストールされています。これは、次の場合に XSL 変換の最後のフォールバックとしてのみ使用されることに注意してください。
現在のシステムには libxml2 または lxml Python バインディングをインポートできません。

DOCBOOK_XSLTPROCCOM
外部実行可能ファイル xsltproc (または saxon、xalan) の完全なコマンドライン。

DOCBOOK_XSLTPROCCOMSTR
xsltproc を使用して特定の XSLT 経由で XML ファイルを変換するときに表示される文字列
スタイルシート。

DOCBOOK_XSLTPROCFLAGS
外部実行可能ファイル xsltproc (または saxon、xalan) の追加のコマンド ライン フラグ。

DOCBOOK_XSLTPROCPARAMS
XSLT プロセッサ実行可能ファイルを対象としていない追加パラメータですが、
XSL 処理自体。デフォルトでは、コマンドラインの最後に追加されます。
それぞれ saxon と saxon-xslt の場合。

DPATH
DPATH。

Dサフィックス
インポートされた D パッケージ ファイルをスキャンするファイルのサフィックスのリスト。の
デフォルトのリストは次のとおりです。

['.d']

_DVERFLAGS
_DVERFLAGS。

DVERPREFIX
DVERプレフィックス。

バージョン
バージョン。

DVERSUFFIX
DVERSUFFIX。

DVIPDF
TeX DVI ファイルから PDF ファイルへのコンバーター。

DVIPDFCOM
TeX DVI ファイルを PDF ファイルに変換するために使用されるコマンド ライン。

DVIPDFCOMSTR
TeX DVI ファイルを PDF ファイルに変換するときに表示される文字列。そうでない場合
設定してから $DVIPDFCOM (コマンドライン) が表示されます。

DVIPDFFLAGS
TeX DVI ファイルから PDF ファイルへのコンバーターに渡される一般オプション。

DVIPS
TeX DVI ファイルから PostScript へのコンバーター。

DVIPSFLAGS
TeX DVI ファイルから PostScript コンバータに渡される一般オプション。

ENV
コマンドを呼び出すときに使用する環境変数の辞書。いつ $ ENV 使用されている
コマンドでは、すべてのリスト値がパス区切り文字やその他の文字を使用して結合されます。
文字列以外の値は単に文字列に強制されます。デフォルトでは、scons
ありません コマンドに対して scon を実行すると、有効な環境が反映されます。
ターゲットファイルをビルドするために使用されます。これは、ビルドの再現性が保証されるようにするためです
scons の呼び出し時に設定された環境変数には関係ありません。

ビルドのために実行されるコマンドに環境変数を反映したい場合
ターゲット ファイルの場合は、明示的に行う必要があります。

輸入OS
env = 環境(ENV = os.environ)

特定の環境変数のみを伝播することを選択できることに注意してください。共通の
例はシステムです パス scons が同じユーティリティを使用するように環境変数を設定します。
呼び出しシェル (または他のプロセス) として:

輸入OS
env = 環境(ENV = {'PATH' : os.environ['PATH']})

エスケープ
コマンドラインでシェル特殊文字をエスケープするために呼び出される関数。
この関数は 1 つの引数を取る必要があります。エスケープするコマンド ライン文字列です。そしてすべきです
エスケープされたコマンドラインを返します。

F03
Fortran 03 コンパイラ。通常は次のように設定する必要があります $FORTRAN 変数、
すべての Fortran バージョンのデフォルトの Fortran コンパイラを指定します。設定するだけで済みます
$03 Fortran 03 ファイルに特定のコンパイラまたはコンパイラ バージョンを使用する必要がある場合。

F03COM
Fortran 03 ソース ファイルをオブジェクト ファイルにコンパイルするために使用されるコマンド ライン。あなただけ
設定する必要があります $F03COM Fortran 03 ファイルに特定のコマンド ラインを使用する必要がある場合。
通常は次のように設定する必要があります $フォートランコム デフォルトのコマンドを指定する変数
すべての Fortran バージョンの行。

F03COMSTR
Fortran 03 ソース ファイルをオブジェクト ファイルにコンパイルするときに表示される文字列。もし
これは設定されていないため、 $F03COM or $フォートランコム (コマンドライン) が表示されます。

F03ファイルサフィックス
F03 方言が使用されるファイル拡張子のリスト。デフォルトでは、これは
は ['.f03']

F03フラッグス
Fortran 03 コンパイラーに渡される一般的なユーザー指定のオプション。ご了承ください
この変数は 含む -I (または同様のもの) を無視する検索パス オプションが含まれています。
~から自動的に生成されます $F03パス。 見る $_F03INCFLAGS 以下の変数について、
それらのオプションに拡張されます。設定するだけで済みます $F03FLAGS 定義する必要がある場合
Fortran 03 ファイルの特定のユーザー オプション。通常は次のように設定する必要があります $フォートランフラッグス
変数。デフォルトの Fortran に渡されるユーザー指定のオプションを指定します。
すべての Fortran バージョンに対応するコンパイラ。

_F03INCFLAGS
Fortran 03 コンパイラを含む自動生成された構築変数
インクルード ファイルを検索するディレクトリを指定するためのコマンド ライン オプション。の
の値 $_F03INCFLAGS を追加することで作成されます $INCPREFIX$INCSUFFIX から
各ディレクトリの先頭と末尾 $F03パス.

F03パス
Fortran 03 コンパイラーが検索するディレクトリのリストには次のものが含まれます。
ディレクトリ。暗黙的な依存関係スキャナーは、これらのディレクトリーでインクルードを検索します。
ファイル。 include ディレクトリ引数を明示的に指定しないでください。 $F03FLAGS なぜなら
結果は移植性がなく、ディレクトリは依存関係によって検索されません。
スキャナー。注: のディレクトリ名 $F03パス を基準にして検索されます。
コマンドで使用する場合の SConscript ディレクトリ。 scons に検索を強制するには
ソースツリーのルートに相対的なディレクトリを使用 #: 設定するだけで済みます $F03パス
Fortran 03 ファイルの特定のインクルード パスを定義する必要がある場合。あなたがすべき
通常は、 $フォートランパス 変数。インクルード パスを指定します。
すべての Fortran バージョンのデフォルトの Fortran コンパイラ。

env = 環境(F03PATH='#/include')

ディレクトリ検索は、次のコマンドを使用して強制することもできます。 あなた() 関数:

include = Dir('include')
env = 環境(F03PATH=include)

ディレクトリ リストは、自動生成されたコマンド ラインを通じてコマンド ラインに追加されます。
$_F03INCFLAGS 構築変数。次の値を追加することによって構築されます。
  $INCPREFIX$INCSUFFIX それぞれの先頭と末尾に構築変数を追加します。
のディレクトリ $F03パス。 F03PATH ディレクトリを必要とする定義したコマンド ライン
リストに含める必要があります $_F03INCFLAGS:

env = 環境(F03COM="my_compiler $_F03INCFLAGS -c -o $TARGET $SOURCE")

F03PPCOM
Fortran 03 ソース ファイルをオブジェクト ファイルにコンパイルするために使用されるコマンド ライン。
最初に C プリプロセッサを通じてファイルを実行します。で指定されたオプションは、
$F03FLAGS$CPPFLAGS このコマンドラインには構築変数が含まれています。あなた
設定するだけで済みます $F03PPCOM 特定の C プリプロセッサ コマンド ラインを使用する必要がある場合
Fortran 03 ファイル用。通常は次のように設定する必要があります $FOTRAPPCOM 変数、
すべての Fortran バージョンのデフォルトの C プリプロセッサ コマンド ラインを指定します。

F03PPCOMSTR
Fortran 03 ソース ファイルをオブジェクト ファイルにコンパイルしたときに表示される文字列
最初に C プリプロセッサを通じてファイルを実行します。これが設定されていない場合は、 $F03PPCOM
or $FOTRAPPCOM (コマンドライン) が表示されます。

F03PPファイルサフィックス
F03 のコンパイル + プリプロセッサに合格するファイル拡張子のリスト
方言が使われることになります。デフォルトでは、これは空です

F08
Fortran 08 コンパイラ。通常は次のように設定する必要があります $FORTRAN 変数、
すべての Fortran バージョンのデフォルトの Fortran コンパイラを指定します。設定するだけで済みます
$08 Fortran 08 ファイルに特定のコンパイラまたはコンパイラ バージョンを使用する必要がある場合。

F08COM
Fortran 08 ソース ファイルをオブジェクト ファイルにコンパイルするために使用されるコマンド ライン。あなただけ
設定する必要があります $F08COM Fortran 08 ファイルに特定のコマンド ラインを使用する必要がある場合。
通常は次のように設定する必要があります $フォートランコム デフォルトのコマンドを指定する変数
すべての Fortran バージョンの行。

F08COMSTR
Fortran 08 ソース ファイルをオブジェクト ファイルにコンパイルするときに表示される文字列。もし
これは設定されていないため、 $F08COM or $フォートランコム (コマンドライン) が表示されます。

F08ファイルサフィックス
F08 方言が使用されるファイル拡張子のリスト。デフォルトでは、これは
は ['.f08']

F08フラッグス
Fortran 08 コンパイラーに渡される一般的なユーザー指定のオプション。ご了承ください
この変数は 含む -I (または同様のもの) を無視する検索パス オプションが含まれています。
~から自動的に生成されます $F08パス。 見る $_F08INCFLAGS 以下の変数について、
それらのオプションに拡張されます。設定するだけで済みます $F08FLAGS 定義する必要がある場合
Fortran 08 ファイルの特定のユーザー オプション。通常は次のように設定する必要があります $フォートランフラッグス
変数。デフォルトの Fortran に渡されるユーザー指定のオプションを指定します。
すべての Fortran バージョンに対応するコンパイラ。

_F08INCFLAGS
Fortran 08 コンパイラを含む自動生成された構築変数
インクルード ファイルを検索するディレクトリを指定するためのコマンド ライン オプション。の
の値 $_F08INCFLAGS を追加することで作成されます $INCPREFIX$INCSUFFIX から
各ディレクトリの先頭と末尾 $F08パス.

F08パス
Fortran 08 コンパイラーが検索するディレクトリのリストには次のものが含まれます。
ディレクトリ。暗黙的な依存関係スキャナーは、これらのディレクトリーでインクルードを検索します。
ファイル。 include ディレクトリ引数を明示的に指定しないでください。 $F08FLAGS なぜなら
結果は移植性がなく、ディレクトリは依存関係によって検索されません。
スキャナー。注: のディレクトリ名 $F08パス を基準にして検索されます。
コマンドで使用する場合の SConscript ディレクトリ。 scons に検索を強制するには
ソースツリーのルートに相対的なディレクトリを使用 #: 設定するだけで済みます $F08パス
Fortran 08 ファイルの特定のインクルード パスを定義する必要がある場合。あなたがすべき
通常は、 $フォートランパス 変数。インクルード パスを指定します。
すべての Fortran バージョンのデフォルトの Fortran コンパイラ。

env = 環境(F08PATH='#/include')

ディレクトリ検索は、次のコマンドを使用して強制することもできます。 あなた() 関数:

include = Dir('include')
env = 環境(F08PATH=include)

ディレクトリ リストは、自動生成されたコマンド ラインを通じてコマンド ラインに追加されます。
$_F08INCFLAGS 構築変数。次の値を追加することによって構築されます。
  $INCPREFIX$INCSUFFIX それぞれの先頭と末尾に構築変数を追加します。
のディレクトリ $F08パス。 F08PATH ディレクトリを必要とする定義したコマンド ライン
リストに含める必要があります $_F08INCFLAGS:

env = 環境(F08COM="my_compiler $_F08INCFLAGS -c -o $TARGET $SOURCE")

F08PPCOM
Fortran 08 ソース ファイルをオブジェクト ファイルにコンパイルするために使用されるコマンド ライン。
最初に C プリプロセッサを通じてファイルを実行します。で指定されたオプションは、
$F08FLAGS$CPPFLAGS このコマンドラインには構築変数が含まれています。あなた
設定するだけで済みます $F08PPCOM 特定の C プリプロセッサ コマンド ラインを使用する必要がある場合
Fortran 08 ファイル用。通常は次のように設定する必要があります $FOTRAPPCOM 変数、
すべての Fortran バージョンのデフォルトの C プリプロセッサ コマンド ラインを指定します。

F08PPCOMSTR
Fortran 08 ソース ファイルをオブジェクト ファイルにコンパイルしたときに表示される文字列
最初に C プリプロセッサを通じてファイルを実行します。これが設定されていない場合は、 $F08PPCOM
or $FOTRAPPCOM (コマンドライン) が表示されます。

F08PPファイルサフィックス
F08 のコンパイル + プリプロセッサに合格するファイル拡張子のリスト
方言が使われることになります。デフォルトでは、これは空です

F77
Fortran 77 コンパイラ。通常は次のように設定する必要があります $FORTRAN 変数、
すべての Fortran バージョンのデフォルトの Fortran コンパイラを指定します。設定するだけで済みます
$77 Fortran 77 ファイルに特定のコンパイラまたはコンパイラ バージョンを使用する必要がある場合。

F77COM
Fortran 77 ソース ファイルをオブジェクト ファイルにコンパイルするために使用されるコマンド ライン。あなただけ
設定する必要があります $F77COM Fortran 77 ファイルに特定のコマンド ラインを使用する必要がある場合。
通常は次のように設定する必要があります $フォートランコム デフォルトのコマンドを指定する変数
すべての Fortran バージョンの行。

F77COMSTR
Fortran 77 ソース ファイルをオブジェクト ファイルにコンパイルするときに表示される文字列。もし
これは設定されていないため、 $F77COM or $フォートランコム (コマンドライン) が表示されます。

F77ファイルサフィックス
F77 方言が使用されるファイル拡張子のリスト。デフォルトでは、これは
は ['.f77']

F77フラッグス
Fortran 77 コンパイラーに渡される一般的なユーザー指定のオプション。ご了承ください
この変数は 含む -I (または同様のもの) を無視する検索パス オプションが含まれています。
~から自動的に生成されます $F77パス。 見る $_F77INCFLAGS 以下の変数について、
それらのオプションに拡張されます。設定するだけで済みます $F77FLAGS 定義する必要がある場合
Fortran 77 ファイルの特定のユーザー オプション。通常は次のように設定する必要があります $フォートランフラッグス
変数。デフォルトの Fortran に渡されるユーザー指定のオプションを指定します。
すべての Fortran バージョンに対応するコンパイラ。

_F77INCFLAGS
Fortran 77 コンパイラを含む自動生成された構築変数
インクルード ファイルを検索するディレクトリを指定するためのコマンド ライン オプション。の
の値 $_F77INCFLAGS を追加することで作成されます $INCPREFIX$INCSUFFIX から
各ディレクトリの先頭と末尾 $F77パス.

F77パス
Fortran 77 コンパイラーが検索するディレクトリのリストには次のものが含まれます。
ディレクトリ。暗黙的な依存関係スキャナーは、これらのディレクトリーでインクルードを検索します。
ファイル。 include ディレクトリ引数を明示的に指定しないでください。 $F77FLAGS なぜなら
結果は移植性がなく、ディレクトリは依存関係によって検索されません。
スキャナー。注: のディレクトリ名 $F77パス を基準にして検索されます。
コマンドで使用する場合の SConscript ディレクトリ。 scons に検索を強制するには
ソースツリーのルートに相対的なディレクトリを使用 #: 設定するだけで済みます $F77パス
Fortran 77 ファイルの特定のインクルード パスを定義する必要がある場合。あなたがすべき
通常は、 $フォートランパス 変数。インクルード パスを指定します。
すべての Fortran バージョンのデフォルトの Fortran コンパイラ。

env = 環境(F77PATH='#/include')

ディレクトリ検索は、次のコマンドを使用して強制することもできます。 あなた() 関数:

include = Dir('include')
env = 環境(F77PATH=include)

ディレクトリ リストは、自動生成されたコマンド ラインを通じてコマンド ラインに追加されます。
$_F77INCFLAGS 構築変数。次の値を追加することによって構築されます。
  $INCPREFIX$INCSUFFIX それぞれの先頭と末尾に構築変数を追加します。
のディレクトリ $F77パス。 F77PATH ディレクトリを必要とする定義したコマンド ライン
リストに含める必要があります $_F77INCFLAGS:

env = 環境(F77COM="my_compiler $_F77INCFLAGS -c -o $TARGET $SOURCE")

F77PPCOM
Fortran 77 ソース ファイルをオブジェクト ファイルにコンパイルするために使用されるコマンド ライン。
最初に C プリプロセッサを通じてファイルを実行します。で指定されたオプションは、
$F77FLAGS$CPPFLAGS このコマンドラインには構築変数が含まれています。あなた
設定するだけで済みます $F77PPCOM 特定の C プリプロセッサ コマンド ラインを使用する必要がある場合
Fortran 77 ファイル用。通常は次のように設定する必要があります $FOTRAPPCOM 変数、
すべての Fortran バージョンのデフォルトの C プリプロセッサ コマンド ラインを指定します。

F77PPCOMSTR
Fortran 77 ソース ファイルをオブジェクト ファイルにコンパイルしたときに表示される文字列
最初に C プリプロセッサを通じてファイルを実行します。これが設定されていない場合は、 $F77PPCOM
or $FOTRAPPCOM (コマンドライン) が表示されます。

F77PPファイルサフィックス
F77 のコンパイル + プリプロセッサに合格するファイル拡張子のリスト
方言が使われることになります。デフォルトでは、これは空です

F90
Fortran 90 コンパイラ。通常は次のように設定する必要があります $FORTRAN 変数、
すべての Fortran バージョンのデフォルトの Fortran コンパイラを指定します。設定するだけで済みます
$90 Fortran 90 ファイルに特定のコンパイラまたはコンパイラ バージョンを使用する必要がある場合。

F90COM
Fortran 90 ソース ファイルをオブジェクト ファイルにコンパイルするために使用されるコマンド ライン。あなただけ
設定する必要があります $F90COM Fortran 90 ファイルに特定のコマンド ラインを使用する必要がある場合。
通常は次のように設定する必要があります $フォートランコム デフォルトのコマンドを指定する変数
すべての Fortran バージョンの行。

F90COMSTR
Fortran 90 ソース ファイルをオブジェクト ファイルにコンパイルするときに表示される文字列。もし
これは設定されていないため、 $F90COM or $フォートランコム (コマンドライン) が表示されます。

F90ファイルサフィックス
F90 方言が使用されるファイル拡張子のリスト。デフォルトでは、これは
は ['.f90']

F90フラッグス
Fortran 90 コンパイラーに渡される一般的なユーザー指定のオプション。ご了承ください
この変数は 含む -I (または同様のもの) を無視する検索パス オプションが含まれています。
~から自動的に生成されます $F90パス。 見る $_F90INCFLAGS 以下の変数について、
それらのオプションに拡張されます。設定するだけで済みます $F90FLAGS 定義する必要がある場合
Fortran 90 ファイルの特定のユーザー オプション。通常は次のように設定する必要があります $フォートランフラッグス
変数。デフォルトの Fortran に渡されるユーザー指定のオプションを指定します。
すべての Fortran バージョンに対応するコンパイラ。

_F90INCFLAGS
Fortran 90 コンパイラを含む自動生成された構築変数
インクルード ファイルを検索するディレクトリを指定するためのコマンド ライン オプション。の
の値 $_F90INCFLAGS を追加することで作成されます $INCPREFIX$INCSUFFIX から
各ディレクトリの先頭と末尾 $F90パス.

F90パス
Fortran 90 コンパイラーが検索するディレクトリのリストには次のものが含まれます。
ディレクトリ。暗黙的な依存関係スキャナーは、これらのディレクトリーでインクルードを検索します。
ファイル。 include ディレクトリ引数を明示的に指定しないでください。 $F90FLAGS なぜなら
結果は移植性がなく、ディレクトリは依存関係によって検索されません。
スキャナー。注: のディレクトリ名 $F90パス を基準にして検索されます。
コマンドで使用する場合の SConscript ディレクトリ。 scons に検索を強制するには
ソースツリーのルートに相対的なディレクトリを使用 #: 設定するだけで済みます $F90パス
Fortran 90 ファイルの特定のインクルード パスを定義する必要がある場合。あなたがすべき
通常は、 $フォートランパス 変数。インクルード パスを指定します。
すべての Fortran バージョンのデフォルトの Fortran コンパイラ。

env = 環境(F90PATH='#/include')

ディレクトリ検索は、次のコマンドを使用して強制することもできます。 あなた() 関数:

include = Dir('include')
env = 環境(F90PATH=include)

ディレクトリ リストは、自動生成されたコマンド ラインを通じてコマンド ラインに追加されます。
$_F90INCFLAGS 構築変数。次の値を追加することによって構築されます。
  $INCPREFIX$INCSUFFIX それぞれの先頭と末尾に構築変数を追加します。
のディレクトリ $F90パス。 F90PATH ディレクトリを必要とする定義したコマンド ライン
リストに含める必要があります $_F90INCFLAGS:

env = 環境(F90COM="my_compiler $_F90INCFLAGS -c -o $TARGET $SOURCE")

F90PPCOM
Fortran 90 ソース ファイルをオブジェクト ファイルにコンパイルするために使用されるコマンド ライン。
最初に C プリプロセッサを通じてファイルを実行します。で指定されたオプションは、
$F90FLAGS$CPPFLAGS このコマンドラインには構築変数が含まれています。あなた
設定するだけで済みます $F90PPCOM 特定の C プリプロセッサ コマンド ラインを使用する必要がある場合
Fortran 90 ファイル用。通常は次のように設定する必要があります $FOTRAPPCOM 変数、
すべての Fortran バージョンのデフォルトの C プリプロセッサ コマンド ラインを指定します。

F90PPCOMSTR
最初に実行した後に Fortran 90 ソース ファイルがコンパイルされるときに表示される文字列
C プリプロセッサを介してファイルを作成します。これが設定されていない場合は、 $F90PPCOM or $FOTRAPPCOM
(コマンドライン) が表示されます。

F90PPファイルサフィックス
F90 のコンパイル + プリプロセッサに合格するファイル拡張子のリスト
方言が使われることになります。デフォルトでは、これは空です

F95
Fortran 95 コンパイラ。通常は次のように設定する必要があります $FORTRAN 変数、
すべての Fortran バージョンのデフォルトの Fortran コンパイラを指定します。設定するだけで済みます
$95 Fortran 95 ファイルに特定のコンパイラまたはコンパイラ バージョンを使用する必要がある場合。

F95COM
Fortran 95 ソース ファイルをオブジェクト ファイルにコンパイルするために使用されるコマンド ライン。あなただけ
設定する必要があります $F95COM Fortran 95 ファイルに特定のコマンド ラインを使用する必要がある場合。
通常は次のように設定する必要があります $フォートランコム デフォルトのコマンドを指定する変数
すべての Fortran バージョンの行。

F95COMSTR
Fortran 95 ソース ファイルをオブジェクト ファイルにコンパイルするときに表示される文字列。もし
これは設定されていないため、 $F95COM or $フォートランコム (コマンドライン) が表示されます。

F95ファイルサフィックス
F95 方言が使用されるファイル拡張子のリスト。デフォルトでは、これは
は ['.f95']

F95フラッグス
Fortran 95 コンパイラーに渡される一般的なユーザー指定のオプション。ご了承ください
この変数は 含む -I (または同様のもの) を無視する検索パス オプションが含まれています。
~から自動的に生成されます $F95パス。 見る $_F95INCFLAGS 以下の変数について、
それらのオプションに拡張されます。設定するだけで済みます $F95FLAGS 定義する必要がある場合
Fortran 95 ファイルの特定のユーザー オプション。通常は次のように設定する必要があります $フォートランフラッグス
変数。デフォルトの Fortran に渡されるユーザー指定のオプションを指定します。
すべての Fortran バージョンに対応するコンパイラ。

_F95INCFLAGS
Fortran 95 コンパイラを含む自動生成された構築変数
インクルード ファイルを検索するディレクトリを指定するためのコマンド ライン オプション。の
の値 $_F95INCFLAGS を追加することで作成されます $INCPREFIX$INCSUFFIX から
各ディレクトリの先頭と末尾 $F95パス.

F95パス
Fortran 95 コンパイラーが検索するディレクトリのリストには次のものが含まれます。
ディレクトリ。暗黙的な依存関係スキャナーは、これらのディレクトリーでインクルードを検索します。
ファイル。 include ディレクトリ引数を明示的に指定しないでください。 $F95FLAGS なぜなら
結果は移植性がなく、ディレクトリは依存関係によって検索されません。
スキャナー。注: のディレクトリ名 $F95パス を基準にして検索されます。
コマンドで使用する場合の SConscript ディレクトリ。 scons に検索を強制するには
ソースツリーのルートに相対的なディレクトリを使用 #: 設定するだけで済みます $F95パス
Fortran 95 ファイルの特定のインクルード パスを定義する必要がある場合。あなたがすべき
通常は、 $フォートランパス 変数。インクルード パスを指定します。
すべての Fortran バージョンのデフォルトの Fortran コンパイラ。

env = 環境(F95PATH='#/include')

ディレクトリ検索は、次のコマンドを使用して強制することもできます。 あなた() 関数:

include = Dir('include')
env = 環境(F95PATH=include)

ディレクトリ リストは、自動生成されたコマンド ラインを通じてコマンド ラインに追加されます。
$_F95INCFLAGS 構築変数。次の値を追加することによって構築されます。
  $INCPREFIX$INCSUFFIX それぞれの先頭と末尾に構築変数を追加します。
のディレクトリ $F95パス。 F95PATH ディレクトリを必要とする定義したコマンド ライン
リストに含める必要があります $_F95INCFLAGS:

env = 環境(F95COM="my_compiler $_F95INCFLAGS -c -o $TARGET $SOURCE")

F95PPCOM
Fortran 95 ソース ファイルをオブジェクト ファイルにコンパイルするために使用されるコマンド ライン。
最初に C プリプロセッサを通じてファイルを実行します。で指定されたオプションは、
$F95FLAGS$CPPFLAGS このコマンドラインには構築変数が含まれています。あなた
設定するだけで済みます $F95PPCOM 特定の C プリプロセッサ コマンド ラインを使用する必要がある場合
Fortran 95 ファイル用。通常は次のように設定する必要があります $FOTRAPPCOM 変数、
すべての Fortran バージョンのデフォルトの C プリプロセッサ コマンド ラインを指定します。

F95PPCOMSTR
Fortran 95 ソース ファイルをオブジェクト ファイルにコンパイルしたときに表示される文字列
最初に C プリプロセッサを通じてファイルを実行します。これが設定されていない場合は、 $F95PPCOM
or $FOTRAPPCOM (コマンドライン) が表示されます。

F95PPファイルサフィックス
F95 のコンパイル + プリプロセッサに合格するファイル拡張子のリスト
方言が使われることになります。デフォルトでは、これは空です

File
文字列をターゲットに相対的な File インスタンスに変換する関数
建てられました。

文字列をターゲットに相対的な File インスタンスに変換する関数
建てられました。

FORTRAN
Fortran のすべてのバージョンのデフォルトの Fortran コンパイラ。

フォートランコム
Fortran ソース ファイルをオブジェクト ファイルにコンパイルするために使用されるコマンド ライン。デフォルトでは、
で指定されたオプション $フォートランフラッグス, $CPPFLAGS, $_CPPDEFFLAGS,
$_FORTRANMODFLAG, $_FORTRANINCFLAGS 構築変数はこれに含まれます
コマンドライン。

フォートランコムストラ
Fortran ソース ファイルがオブジェクト ファイルにコンパイルされるときに表示される文字列。これなら
が設定されていない場合 $フォートランコム (コマンドライン) が表示されます。

FORTRANFILESuffixes
FORTRAN 方言が使用されるファイル拡張子のリスト。デフォルトでは、
これは ['.f'、'.for'、'.ftn'] です

フォートランスフラグ
Fortran コンパイラに渡される一般的なユーザー指定のオプション。これに注意してください
変数は行います 含む -I (または同様の) インクルードまたはモジュール検索パス オプション
scons は以下から自動的に生成されます $フォートランパス。 見る $_FORTRANINCFLAGS
$_FORTRANMODFLAGこれらのオプションを拡張する変数については、以下を参照してください。

_FORTRANINCFLAGS
Fortran コンパイラを含む自動生成された構築変数
検索するディレクトリを指定するためのコマンドライン オプションには、ファイルと
モジュールファイル。の値 $_FORTRANINCFLAGS 先頭/末尾に追加することによって作成されます
$INCPREFIX$INCSUFFIX の各ディレクトリの先頭と末尾まで $フォートランパス.

フォートランモジュール
Fortran コンパイラーがモジュール ファイルを配置するディレクトリの場所
生成します。デフォルトでは、この変数は空です。一部の Fortran コンパイラは、内部的に
このディレクトリをモジュール ファイルの検索パスにも追加します。

FORTRANMODDIRPREFIX
Fortran コンパイラーのコマンドラインでモジュールディレクトリを指定するために使用される接頭辞。
これは、ディレクトリの先頭に追加されます。 $FORTRANMODDIR
構築変数 $_FORTRANMODFLAG 変数は自動的に生成されます。

FORTRANMODDIRSUFFIX
Fortran コンパイラのコマンド ラインでモジュール ディレクトリを指定するために使用されるサフィックス。
これは、ディレクトリの先頭に追加されます。 $FORTRANMODDIR
構築変数 $_FORTRANMODFLAG 変数は自動的に生成されます。

_FORTRANMODFLAG
Fortran コンパイラを含む自動生成された構築変数
Fortran コンパイラが保存されるディレクトリの場所を指定するためのコマンドライン オプション
コンパイル中に偶然生成されたモジュール ファイルを配置する必要があります。の
の値 $_FORTRANMODFLAG 先頭/末尾に追加することによって作成されます $FORTRANMODDIRPREFIX
$FORTRANMODDIRSUFFIX ディレクトリの先頭と末尾まで $FORTRANMODDIR.

FORTRANMODプレフィックス
Fortran コンパイラによって使用されるモジュール ファイルのプレフィックス。 SCons は、Fortran が
コンパイラは、モジュール ファイルの準標準の命名規則に従います。
モジュール名.mod.その結果、この変数はデフォルトでは空のままになります。状況に応じて
コンパイラが必ずしも通常の規則に従っていない場合、ユーザーは
この変数を使用します。その値はすべてのモジュール ファイル名に scons として追加されます。
依存関係を解決しようとします。

FORTRANMODSUFFIX
Fortran コンパイラによって使用されるモジュール ファイルの接尾辞。 SCons は、Fortran が
コンパイラは、モジュール ファイルの準標準の命名規則に従います。
モジュール名.mod.その結果、この変数はデフォルトで「.mod」に設定されます。のために
コンパイラーが必ずしも通常の規則に従っていない場合、
ユーザーはこの変数を使用できます。その値はすべてのモジュール ファイル名に追加されます
scons が依存関係を解決しようとするため。

フォートランパス
Fortran コンパイラーがインクルード ファイルを検索するディレクトリのリストと
(一部のコンパイラの場合) モジュール ファイル。 Fortran の暗黙的な依存関係スキャナーが検索します。
インクルード ファイル用のこれらのディレクトリ (ただし、モジュール ファイルは自動生成されるため含まれません)
そのため、スキャンが行われた時点では実際には存在しない可能性があります)。やめてください
結果は次のようになるため、FORTRANFLAGS にインクルード ディレクトリ引数を明示的に指定します。
移植性がなく、ディレクトリは依存関係スキャナーによって検索されません。注記:
FORTRANPATH 内のディレクトリ名は、SConscript ディレクトリを基準にして検索されます。
コマンドで使用される場合。 scons に相対ディレクトリを検索させるには、
ソースツリーのルートは #: を使用します。

env = 環境(FORTRANPATH='#/include')

ディレクトリ検索は、次のコマンドを使用して強制することもできます。 あなた() 関数:

include = Dir('include')
env = 環境(FORTRANPATH=include)

ディレクトリ リストは、自動生成されたコマンド ラインを通じてコマンド ラインに追加されます。
$_FORTRANINCFLAGS 値を追加することによって構築される構築変数
$INCPREFIX$INCSUFFIX 構築変数を先頭と末尾に追加する
の各ディレクトリ $フォートランパス。 FORTRANPATH を必要とする定義したコマンド ライン
ディレクトリリストに含める必要があります $_FORTRANINCFLAGS:

env = 環境(FORTRANCOM="my_compiler $_FORTRANINCFLAGS -c -o $TARGET $SOURCE")

フォートランプコム
最初の後に Fortran ソース ファイルをオブジェクト ファイルにコンパイルするために使用されるコマンド ライン
C プリプロセッサを通じてファイルを実行します。デフォルトでは、
$フォートランフラッグス, $CPPFLAGS, $_CPPDEFFLAGS, $_FORTRANMODFLAG, $_FORTRANINCFLAGS
このコマンドラインには構築変数が含まれています。

FORTRANPCOMSTR
Fortran ソース ファイルがオブジェクト ファイルにコンパイルされるときに表示される文字列
最初に C プリプロセッサを通じてファイルを実行します。これが設定されていない場合は、
$FOTRAPPCOM (コマンドライン) が表示されます。

FORTRANPPFILESuffixes
FORTRAN のコンパイルとプリプロセッサがパスするファイル拡張子のリスト
方言が使われることになります。デフォルトでは、これは ['.fpp', '.FPP'] です。

FORTRANSUFFIXES
Fortran の暗黙的な依存関係がスキャンされるファイルのサフィックスのリスト
(INCLUDE 行と USE ステートメント)。デフォルトのリストは次のとおりです。

[".f"、".F"、".for"、".FOR"、".ftn"、".FTN"、".fpp"、".FPP"、
".f77"、".F77"、".f90"、".F90"、".f95"、".F95"]

フレームワークパス
gcc を使用する Mac OS X では、フレームワークを検索するパスを含むリスト。によって使われた
#include のようなフレームワーク スタイルのインクルードを検索するコンパイラー。によって使われた
リンカーは、リンク時にユーザー指定のフレームワークを検索します (「 $フレームワーク)。 ために
例:

env.AppendUnique(FRAMEWORKPATH='#myframeworkdir')

追加します

... -Fmyframeworkdir

コンパイラとリンカーのコマンドラインに。

_フレームワークパス
Mac OS X で gcc を使用すると、自動的に生成された構築変数に次のものが含まれます。
に対応するリンカのコマンドライン オプション $フレームワークパス.

フレームワークパスプレフィックス
Mac OS X で gcc を使用する場合、FRAMEWORKPATH エントリに使用されるプレフィックス。 (見る
$フレームワークパス)。 デフォルト値は -F.

フレームワークプレフィックス
gcc を使用する Mac OS X では、フレームワークでのリンクに使用されるプレフィックス (「
$フレームワーク)。 デフォルト値は -フレームワーク.

_フレームワーク
Mac OS X で gcc を使用すると、自動的に生成された構築変数に次のものが含まれます。
FRAMEWORKS とリンクするためのリンカー コマンドライン オプション。

フレームワーク
gcc を使用する Mac OS X では、プログラムにリンクされるフレームワーク名のリスト、または
共有ライブラリまたはバンドル。デフォルト値は空のリストです。例えば:

env.AppendUnique(FRAMEWORKS=Split('System Cocoa SystemConfiguration'))

フレームワークフラグ
gcc を使用する Mac OS X では、最後に追加される一般的なユーザー提供のフレームワーク オプション
ロード可能なモジュールを構築するコマンドラインの説明。 (これは主に、
$フレームワークパス, $FRAMEWORKPATHPREFIX, $FRAMEWORKPREFIX$フレームワーク variables
上で説明しました。)

GS
Ghostscript プログラムは、PostScript を PDF ファイルに変換する場合などに使用されます。

GSCOM
変換プロセスに使用される完全な Ghostscript コマンド ライン。そのデフォルト値
は「$GS $GSFLAGS -sOutputFile=$TARGET $SOURCES」です。

GSCOMSTR
変換プロセスのために Ghostscript が呼び出されたときに表示される文字列。これなら
設定されていない場合 (デフォルト)、 $GSCOM (コマンドライン) が表示されます。

GSFLAGS
PostScript を PDF に変換するときに Ghostscript プログラムに渡される一般オプション
たとえばファイル。デフォルト値は「-dNOPAUSE -dBATCH -sDEVICE=pdfwrite」です。

ホスト_ARCH
環境の作成に使用されるホスト ハードウェア アーキテクチャの名前。もし
環境の作成時にプラットフォームを指定すると、そのプラットフォームのロジックが
この値を設定するハンドル。この値は不変であり、
環境が初期化された後のユーザー。現在は Win32 のみに設定されています。

Visual Studio コンパイラのホスト アーキテクチャを設定します。設定されていない場合は、デフォルトで
検出されたホスト アーキテクチャ: これは、使用している Python に依存する可能性があることに注意してください。
この変数は、Environment() コンストラクターに引数として渡す必要があります。設定
後で効果はありません。

有効な値はと同じです。 $TARGET_ARCH.

これは現在 Windows でのみ使用されていますが、将来的には他の Windows でも使用される予定です。
OSも同様。

ホストOS
環境の作成に使用されるホスト オペレーティング システムの名前。プラットフォームが
環境の作成時に指定すると、そのプラットフォームのロジックが処理します
この値を設定します。この値は不変であり、ユーザーは変更しないでください。
環境が初期化された後。現在は Win32 のみに設定されています。

IDLサフィックス
IDL の暗黙的な依存関係がスキャンされるファイルのサフィックスのリスト
(#include または import 行)。デフォルトのリストは次のとおりです。

[".idl"、".IDL"]

黙示録シンボリックリンク
オーバーライドするために使用されます $SHLIBNOVERSIONSYMLINKS/$LDMODULENOVERSIONSYMLINKS 作成するとき
共有ライブラリ/ロード可能モジュールのバージョン管理されたインポート ライブラリ。定義されていない場合は、
$SHLIBNOVERSIONSYMLINKS/$LDMODULENOVERSIONSYMLINKS するかどうかを決定するために使用されます。
シンボリックリンクの生成を無効にするかどうか。

暗黙の接頭辞
インポートライブラリ名に使用されるプレフィックス。たとえば、cygwin はインポート ライブラリを使用します。
(libfoo.dll.a) と動的ライブラリ (cygfoo.dll) のペア。 cyglink リンカー セット
$IMPLIBPREFIX 「lib」と $SHLIBPREFIX 「cyg」に。

暗黙の接尾語
インポートライブラリ名に使用されるサフィックス。たとえば、cygwin はインポート ライブラリを使用します。
(libfoo.dll.a) と動的ライブラリ (cygfoo.dll) のペア。 cyglink リンカー セット
$IMPLIBSUFFIX 「.dll.a」に、そして $SHLIBSUFFIX 「.dll」に。

暗黙バージョン
オーバーライドするために使用されます $SHLIBVERSION/$LDMODULEVERSION バージョン管理されたインポートを生成するとき
共有ライブラリ/ロード可能モジュールのライブラリ。未定義の場合、
$SHLIBVERSION/$LDMODULEVERSION バージョン管理されたインポートのバージョンを決定するために使用されます
としょうかん。

IMPLICIT_COMMAND_DEPENDENCIES
SCons が実行されたコマンドに暗黙的な依存関係を追加するかどうかを制御します。
ターゲットを構築します。

デフォルトでは、SCons は各ターゲットにコマンドへの暗黙的な依存関係を追加します。
実行するコマンドラインの最初の引数によって表されます。特定のファイル
依存関係は検索することで見つかります。 パス の変数 ENV 使用環境
コマンドを実行します。

構築変数の場合 $IMPLICIT_COMMAND_DEPENDENCIES false 値に設定されます
(None、False、0 など)、暗黙的な依存関係はターゲットに追加されません。
その構築環境で構築されました。

env = 環境(IMPLICIT_COMMAND_DEPENDENCIES = 0)

INCPREFIX
C コンパイラのコマンド ラインでインクルード ディレクトリを指定するために使用される接頭辞。これ
の各ディレクトリの先頭に追加されます。 $CPPPATH$フォートランパス
構築変数 $_CPPINCFLAGS$_FORTRANINCFLAGS 変数は
自動的に生成されます。

INCSUFFIX
C コンパイラのコマンド ラインでインクルード ディレクトリを指定するために使用されるサフィックス。これ
の各ディレクトリの末尾に追加されます。 $CPPPATH$フォートランパス
構築変数 $_CPPINCFLAGS$_FORTRANINCFLAGS 変数は
自動的に生成されます。

INSTALL
ファイルを宛先ファイル名にインストールするために呼び出される関数。デフォルト
関数はファイルを宛先にコピーします (そして宛先ファイルのモードを設定します)
およびソース ファイルと一致する許可ビット)。この関数は次のものを受け取ります
引数:

def install(宛先、ソース、環境):

dest 宛先ファイルのパス名です。 source ソースのパス名です
ファイルにソフトウェアを指定する必要があります。 env は、コンストラクション環境 (コンストラクション値の辞書) です。
このファイルのインストールには強制的に適用されます。

インストールSTR
ファイルが宛先ファイル名にインストールされるときに表示される文字列。の
デフォルトは次のとおりです。

インストールファイル:「$SOURCE」を「$TARGET」として

INTEL_C_COMPILER_VERSION
「intelc」ツールによって、選択したインテル C コンパイラーのメジャー バージョン番号に設定されます。
使用のために。

JAR
Java アーカイブ ツール。

Java アーカイブ ツール。

ヤルディル
Java アーカイブ ツールが変更するディレクトリ ( -C オプション)。

Java アーカイブ ツールが変更するディレクトリ ( -C オプション)。

ジャーコム
Java アーカイブ ツールを呼び出すために使用されるコマンド ライン。

Java アーカイブ ツールを呼び出すために使用されるコマンド ライン。

ジャーコムストラ
Java アーカイブ ツールが呼び出されたときに表示される文字列 これが設定されていない場合は、
$ジャーコム (コマンドライン) が表示されます。

env = 環境(JARCOMSTR = "$SOURCES を $TARGET に JARchiving")

Java アーカイブ ツールが呼び出されたときに表示される文字列 これが設定されていない場合は、
$ジャーコム (コマンドライン) が表示されます。

env = 環境(JARCOMSTR = "$SOURCES を $TARGET に JARchiving")

ジャーフラグ
Java アーカイブ ツールに渡される一般オプション。デフォルトでは、これは次のように設定されています cf 〜へ
必要なものを作成する ファイルにソフトウェアを指定する必要があります。

Java アーカイブ ツールに渡される一般オプション。デフォルトでは、これは次のように設定されています cf 〜へ
必要なものを作成する ファイルにソフトウェアを指定する必要があります。

JARSUFFIX
Java アーカイブの接尾辞: デフォルトでは .jar。

Java アーカイブの接尾辞: デフォルトでは .jar。

Javaブートクラスパス
javac コマンドラインに追加されるディレクトリのリストを指定します。
-ブートクラスパス オプション。個々のディレクトリ名は、
オペレーティング システムのパスの区切り文字 (UNIX/Linux/POSIX では :、Windows では ;)。

ジャバック
Java コンパイラ。

ジャバコム
Java ソース ファイルを含むディレクトリ ツリーをコンパイルするために使用されるコマンド ライン。
対応する Java クラス ファイル。で指定されたオプションは、 $JAVACFLAGS 建設
変数がこのコマンドラインに含まれています。

ジャバコムストラ
Java ソース ファイルのディレクトリ ツリーをコンパイルするときに表示される文字列
対応する Java クラス ファイル。これが設定されていない場合は、 $ジャバコム (コマンドライン)
表示されています。

env = 環境(JAVACCOMSTR = "$SOURCES からクラス ファイル $TARGETS をコンパイル中")

ジャバフラッグス
Java コンパイラに渡される一般オプション。

ジャヴァクラスディル
Java クラス ファイルが存在するディレクトリ。これを剥がしたのが、
JavaH ビルダーに提供される Java .class ファイル名の先頭。

ジャバクラスパス
Java .class ファイルを検索するディレクトリのリストを指定します。の
このリストのディレクトリは、次の方法で javac および javah コマンド ラインに追加されます。
-クラスパス オプション。個々のディレクトリ名は、オペレーティング システムによって区切られます。
システムのパスの区切り文字 (UNIX/Linux/POSIX では :、Windows では ;)。

現在、これは指定されたディレクトリを追加するだけであることに注意してください。 -クラスパス オプションを選択します。
SCons は現在、 $JAVACLASSPATH 依存関係 .class のディレクトリ
ファイル。

JAVACLASSSUFFIX
Java クラス ファイルの接尾辞。デフォルトでは.class。

ジャワ
C ヘッダーおよびスタブ ファイル用の Java ジェネレーター。

ジャバコム
Java クラスから C ヘッダー ファイルとスタブ ファイルを生成するために使用されるコマンド ライン。どれでも
で指定されたオプション $JAVAHFLAGS 構築変数はこれに含まれています
コマンドライン。

ジャバコムストラ
C ヘッダーおよびスタブ ファイルが Java クラスから生成されるときに表示される文字列。もし
これは設定されていないため、 $JAVAHCOM (コマンドライン) が表示されます。

env = 環境(JAVAHCOMSTR = "$SOURCES からヘッダー/スタブ ファイル $TARGETS を生成しています")

ジャワフラグ
Java クラスの C ヘッダーおよびスタブ ファイル ジェネレーターに渡される一般オプション。

Javaソースパス
入力 .java ファイルを検索するディレクトリのリストを指定します。の
このリスト内のディレクトリは、 -ソースパス
オプション。個々のディレクトリ名はオペレーティング システムによって区切られます。
パスの区切り文字 (UNIX/Linux/POSIX の場合は :、Windows の場合は ;)。

現在、これは指定されたディレクトリを追加するだけであることに注意してください。 -ソースパス オプションを選択します。
SCons は現在、 $JAVASOURCEPATH 依存関係 .java のディレクトリ
ファイル。

JAVAサフィックス
Java ファイルの接尾辞。デフォルトでは.java。

ジャババージョン
で使用されている Java バージョンを指定します。 Java ビルダー。これは 現在使用されている
Java コンパイラの 1 つのバージョンと別のバージョンを選択します。代わりに、これを設定する必要があります
javac コンパイラでサポートされている Java のバージョンを指定します。デフォルトは 1.4 です。

Java 1.5 では作成されるファイル名が変更されたため、これが必要になる場合があります。
ネストされた匿名内部クラスの場合、ファイルとの不一致が発生する可能性があります。
SCons は javac コンパイラによって生成されることを期待しています。設定 $JAVAVERSION 1.5 に (または
1.6 (必要に応じて)) は、SCons に Java 1.5 または 1.6 ビルドが実際には
最新の。

ラテックス
LaTeX の構造化フォーマッタおよびタイプセッター。

ラテックスコム
LaTeX 構造化フォーマッタとタイプセッターを呼び出すために使用されるコマンド ライン。

ラテックスコムストラ
LaTeX 構造化フォーマッタおよびタイプセッターを呼び出すときに表示される文字列。もし
これは設定されていないため、 $LATEXCOM (コマンドライン) が表示されます。

env = 環境(LATEXCOMSTR = "LaTeX 入力 $SOURCES から $TARGET を構築")

ラテックスフラグ
LaTeX 構造化フォーマッタおよびタイプセッターに渡される一般オプション。

ラテックスレトリー
.log が生成された場合に LaTeX が再実行される最大回数。
$LATEXCOM コマンドは、未定義の参照があることを示しています。デフォルトは試してみることです
LaTeX を最大 3 回再実行して未定義の参照を解決します。

ラテックスサフィックス
LaTeX の暗黙的な依存関係をスキャンするファイルの接尾辞のリスト
(\include または \import ファイル)。デフォルトのリストは次のとおりです。

[".tex"、".ltx"、".latex"]

LDモジュール
ロード可能なモジュールを構築するためのリンカー。デフォルトでは、これは次と同じです $SHLINK.

LDモジュールコム
ロード可能なモジュールを構築するためのコマンドライン。 Mac OS X では、これは $LDMODULE,
$LDMODULEFLAGS$FRAMEWORKSFLAGS 変数。他のシステムでもこれは同じです
$SHLINK.

LDモジュールCOMSTR
ロード可能なモジュールをビルドするときに表示される文字列。これが設定されていない場合は、
$LDMODULECOM (コマンドライン) が表示されます。

LDモジュールフラグ
ロード可能なモジュールを構築するためにリンカーに渡される一般的なユーザー オプション。

LDモジュールオーバーシムリンク
指示します ロード可能なモジュール ビルダーがシンボリックリンクを自動的に作成しないようにする
バージョン管理されたモジュール。デフォルトは $SHLIBNOVERSIONSYMLINKS

LDモジュールプレフィックス
ロード可能なモジュールのファイル名に使用されるプレフィックス。 Mac OS X では、これは null です。他に
システム、これはと同じです $SHLIBPREFIX.

_LDMODULESONAME
$TARGET に基づいてロード可能なモジュールの SONAME を自動的に生成するマクロ。
$LDMODULEVERSION と $LDMODULESUFFIX。によって使われた ロード可能なモジュール ビルダーの場合、リンカー
ツールは SONAME (gnulink など) をサポートしています。

LDモジュールサフィックス
ロード可能なモジュールのファイル名に使用されるサフィックス。 Mac OS X では、これは null です。他に
システムの場合、これは $SHLIBSUFFIX と同じです。

LDモジュールバージョン
この構築変数が定義されると、バージョン管理されたロード可能モジュールが次のように作成されます。
ロード可能なモジュール ビルダー。これにより、 $_LDMODULEVERSIONFLAGS したがって、変更します
  $LDMODULECOM 必要に応じて、ライブラリ名にバージョン番号を追加し、
必要なシンボリックリンク。 $LDMODULEVERSION バージョンは同じに存在する必要があります
次のようにフォーマットします $SHLIBVERSION.

LDモジュールバージョンフラグ
追加のフラグが追加されました $LDMODULECOM バージョン対応のビルド時 ロード可能なモジュール。これらのフラグ
の場合にのみ使用されます $LDMODULEVERSION 設定されています。

_LDMODULEVERSIONFLAGS
このマクロは、追加のフラグを自動的に導入します。 $LDMODULECOM 構築するとき
バージョン付き ロード可能なモジュール (そのとき $LDMODULEVERSION が設定されています)。
_LDMODULEVERSIONFLAGS は通常、追加します $SHLIBVERSIONFLAGS そしていくつかの追加の動的
生成されたオプション (-Wl,-soname=$_LDMODULESONAME など)。無地で未使用です
(バージョン管理されていない) ロード可能なモジュール。

LEX
字句解析ジェネレーター。

レクコム
字句解析ジェネレーターを呼び出してソースを生成するために使用されるコマンド ライン
ファイルにソフトウェアを指定する必要があります。

レクコムスター
字句解析ツールを使用してソースファイルを生成するときに表示される文字列
発生器。これが設定されていない場合は、 $LEXCOM (コマンドライン) が表示されます。

env = 環境(LEXCOMSTR = "$SOURCES からの $TARGET の Lex 化")

レックスフラッグス
字句解析ジェネレーターに渡される一般オプション。

_LIBDIRFLAGS
リンカーのコマンドラインを含む自動生成された構築変数
ライブラリを検索するディレクトリを指定するオプション。の値
$_LIBDIRFLAGS を追加することで作成されます $LIBDIRPREFIX$LIBDIRSUFFIX 最初へ
と各ディレクトリの末尾 $LIBPATH.

LIBDIRPREFIX
リンカーのコマンドラインでライブラリディレクトリを指定するために使用されるプレフィックス。この意志
の各ディレクトリの先頭に追加されます。 $LIBPATH 構築変数
$_LIBDIRFLAGS 変数が自動生成されます。

LIBDIRSUFFIX
リンカのコマンド ラインでライブラリ ディレクトリを指定するために使用されるサフィックス。この意志
の各ディレクトリの末尾に追加されます。 $LIBPATH 構築変数の場合
  $_LIBDIRFLAGS 変数が自動生成されます。

リベミッター
すべて

_LIBFLAGS
リンカーのコマンドラインを含む自動生成された構築変数
結果のターゲットにリンクされるライブラリを指定するためのオプション。の値
$_LIBFLAGS を追加することで作成されます $LIBLINKPREFIX$LIBLINKSUFFIX 最初へ
と各ファイル名の末尾 $LIBS.

LIBLINKプレフィックス
リンカーのコマンドラインでリンクするライブラリを指定するために使用されるプレフィックス。これは次のようになります
の各ライブラリの先頭に追加されます。 $LIBS 構築変数の場合、
$_LIBFLAGS 変数が自動生成されます。

リブリンクサフィックス
リンカーのコマンドラインでリンクするライブラリを指定するために使用されるサフィックス。これは次のようになります
の各ライブラリの末尾に追加されます。 $LIBS 構築変数の場合、
$_LIBFLAGS 変数が自動生成されます。

ライブラリパス
ライブラリを検索するディレクトリのリスト。暗黙的な依存関係
スキャナはこれらのディレクトリでインクルード ファイルを検索します。明示的に include を入れないでください
のディレクトリ引数 $LINKFLAGS or $SHLINKFLAGS 結果はこうなるから
移植性がなく、ディレクトリは依存関係スキャナーによって検索されません。注記:
LIBPATH 内のディレクトリ名は、次の場合に SConscript ディレクトリを基準にして検索されます。
これらはコマンドで使用されます。 scons にルートに相対的なディレクトリを強制的に検索させるには
ソースツリーの # を使用します:

env = 環境(LIBPATH='#/libs')

ディレクトリ検索は、次のコマンドを使用して強制することもできます。 あなた() 関数:

libs = Dir('libs')
env = 環境(LIBPATH=libs)

ディレクトリ リストは、自動生成されたコマンド ラインを通じてコマンド ラインに追加されます。
$_LIBDIRFLAGS 構築変数。次の値を追加することによって構築されます。
  $LIBDIRPREFIX$LIBDIRSUFFIX 構築変数を先頭と末尾に追加する
の各ディレクトリ $LIBPATH。 LIBPATH を必要とする定義したコマンド ライン
ディレクトリリストに含める必要があります $_LIBDIRFLAGS:

env = 環境(LINKCOM="my_linker $_LIBDIRFLAGS $_LIBFLAGS -o $TARGET $SOURCE")

リブプレフィックス
(静的) ライブラリ ファイル名に使用されるプレフィックス。それぞれにデフォルト値が設定されています
プラットフォーム (posix、win32、os2 など) ですが、値は個々のツールによってオーバーライドされます。
(ar、mslib、sgiar、sunar、tlib など) ライブラリの名前を反映します。
作成しました。

リブプレフィックス
ライブラリ ファイル名のすべての有効なプレフィックスのリスト。ライブラリを探すとき
依存関係がある場合、SCons はこれらのプレフィックス、ベース ライブラリ名、
および接尾辞 $LIBSUFFIXES リスト。

LIBS(レーザー誘起分光法)
実行可能プログラムにリンクされる 1 つ以上のライブラリのリスト
この環境によって生み出されたもの。

ライブラリ リストは、自動生成されたコマンド ラインを通じてコマンド ラインに追加されます。
$_LIBFLAGS 構築変数。 の値を追加することによって構築されます。
$LIBLINKPREFIX$LIBLINKSUFFIX 構築変数を先頭と末尾に追加する
の各ファイル名 $LIBS。 LIBS ライブラリ リストを必要とする定義したコマンド ライン
含めるべき $_LIBFLAGS:

env = 環境(LINKCOM="my_linker $_LIBDIRFLAGS $_LIBFLAGS -o $TARGET $SOURCE")

File オブジェクトを追加すると、 $LIBS リストにそのファイルの名前が追加されます
$_LIBFLAGSしたがって、リンク行はそのままの状態になります。 $LIBLINKPREFIX or $LIBLINKSUFFIX.
例:

env.Append(LIBS=File('/tmp/mylib.so'))

どのような場合でも、scons は実行可能プログラムからすべてのプログラムに依存関係を追加します。
このリストのライブラリ。

リブサフィックス
(静的) ライブラリ ファイル名に使用されるサフィックス。それぞれにデフォルト値が設定されています
プラットフォーム (posix、win32、os2 など) ですが、値は個々のツールによってオーバーライドされます。
(ar、mslib、sgiar、sunar、tlib など) ライブラリの名前を反映します。
作成しました。

リブサフィックス
ライブラリ ファイル名のすべての有効な接尾辞のリスト。ライブラリを探すとき
依存関係がある場合、SCons はプレフィックスを持つファイルを検索します。 $LIBPREFIXES リスト、
基本ライブラリ名とこれらのサフィックス。

LICENSE
このプロジェクトがリリースされるライセンスの短縮名 (gpl、lpgl、
bsdなど)。見る http://www.opensource.org/licenses/alphabetical ライセンスのリストについては
名前。

行区切り文字
で使用されるセパレータ サブファイルテキストファイル 建設業者。この値は次の間で使用されます。
ターゲットを構築するときのソース。デフォルトは現在のシステム行です
セパレータ。

LINGUAS_FILE
この $LINGUAS_FILE 追加の言語のリストを含むファイルを定義します。
によって処理された POInit, POアップデート or MOファイル 建設業者。それも影響します 翻訳します ビルダー。
変数に文字列が含まれる場合、リスト ファイルの名前が定義されます。の $LINGUAS_FILE
ファイル名のリストである場合もあります。もし $LINGUAS_FILE True (またはゼロ以外) に設定されます
数値)、リストは LINGUAS という名前のデフォルト ファイルから読み取られます。

LINK
リンカー。

リンクコム
オブジェクト ファイルを実行可能ファイルにリンクするために使用されるコマンド ライン。

リンクコムストラ
オブジェクト ファイルが実行可能ファイルにリンクされるときに表示される文字列。そうでない場合
設定してから $リンクコム (コマンドライン) が表示されます。

env = 環境(LINKCOMSTR = "$TARGET をリンク中")

リンクフラグ
リンカに渡される一般的なユーザー オプション。この変数は次のようにする必要があることに注意してください。 含む
-l にリストされているライブラリとリンクするための (または同様の) オプション $LIBS、または -L (または
同様) scons が自動的に生成するライブラリ検索パス オプション $LIBPATH.
見る $_LIBFLAGS 上記、ライブラリリンクオプションに展開される変数の場合、
$_LIBDIRFLAGS 上記は、ライブラリ検索パス オプションに展開される変数についてです。

M4
M4 マクロ プリプロセッサ。

M4COM
M4 マクロ プリプロセッサにファイルを渡すために使用されるコマンド ライン。

M4COMSTR
ファイルが M4 マクロ プリプロセッサを通過するときに表示される文字列。これなら
が設定されていない場合 $M4COM (コマンドライン) が表示されます。

M4フラッグス
M4 マクロ プリプロセッサに渡される一般オプション。

メイクインデックス
TeX フォーマッタおよびタイプセッター用の makeindex ジェネレーターと LaTeX 構造化
フォーマッタとタイプセッター。

MAKEINDEXCOM
TeX フォーマッタの makeindex ジェネレータを呼び出すために使用されるコマンド ラインと
タイプセッターと LaTeX 構造化フォーマッタおよびタイプセッター。

MAKEINDEXCOMSTR
TeX フォーマッタの makeindex ジェネレータを呼び出したときに表示される文字列と
タイプセッターと LaTeX 構造化フォーマッタおよびタイプセッター。これが設定されていない場合は、
$MAKEINDEXCOM (コマンドライン) が表示されます。

インデックスフラグを作成する
TeX フォーマッタおよびタイプセッターの makeindex ジェネレーターに渡される一般オプション
LaTeX 構造化フォーマッタとタイプセッター。

最大線の長さ
外部コマンドラインで許可される最大文字数。 Win32 の場合
システムでは、この文字数を超えるリンク行は一時ファイルを介してリンクされます。
名前。

ミドル
Microsoft IDL コンパイラ。

ミドルコム
ファイルを Microsoft IDL コンパイラに渡すために使用されるコマンド ライン。

ミッドコムストラ
Microsoft IDL コマイラーが呼び出されたときに表示される文字列。これが設定されていない場合は、
その後 $MIDLCOM (コマンドライン) が表示されます。

ミッドフラッグス
Microsoft IDL コンパイラに渡される一般オプション。

モスフィックス
MO ファイルに使用されるサフィックス (デフォルト: '.mo')。 msgfmt ツールを参照してください。 MOファイル ビルダー。

MSGFMT
への絶対パス メッセージ(1) バイナリ、によって発見されました 検出する()。 msgfmt ツールを参照してください。 MOファイル
ビルダー。

MSGFMTCOM
実行する完全なコマンドライン メッセージ(1) プログラム。 msgfmt ツールを参照してください。 MOファイル ビルダー。

MSGFMTCOMSTR
場合に表示する文字列 メッセージ(1) が呼び出されます (デフォルト: ''、これは「print」を意味します)
$MSGFMTCOM'')。 msgfmt ツールを参照してください。 MOファイル ビルダー。

MSGFMTFLAGS
追加のフラグ メッセージ(1)。 msgfmt ツールを参照してください。 MOファイル ビルダー。

MSGINIT
への道 msginit(1) プログラム (Detect() 経由で見つかります)。 msginit ツールを参照してください。 POInit ビルダー。

MSGINITCOM
実行する完全なコマンドライン msginit(1) プログラム。 msginit ツールを参照してください。 POInit ビルダー。

MSGINITCOMSTR
場合に表示する文字列 msginit(1) が呼び出されます (デフォルト: ''、これは「print」を意味します)
$MSGINITCOM'')。 msginit ツールを参照してください。 POInit ビルダー。

MSGINITFLAGS
追加フラグのリスト msginit(1) (デフォルト: [])。 msginit ツールを参照してください。 POInit
ビルダー。

_MSGINITLOCALE
内部「マクロ」。ターゲット ファイル名に基づいてロケール (言語) 名を計算します (デフォルト:
'${TARGET.filebase}')。

msginit ツールを参照してください。 POInit ビルダー。

MSGMERGE
への絶対パス メッセージマージ(1) によって見つかったバイナリ 検出する()。 msgmerge ツールと
POアップデート ビルダー。

MSGMERGECOM
実行する完全なコマンドライン メッセージマージ(1) 指示。 msgmerge ツールと POアップデート
ビルダー。

MSGMERGECOMSTR
のときに表示される文字列 メッセージマージ(1) が呼び出されます (デフォルト: ''、これは「print」を意味します)
$MSGMERGECOM'')。 msgmerge ツールと POアップデート ビルダー。

MSGMERGEFLAGS
追加のフラグ メッセージマージ(1) 指示。 msgmerge ツールと POアップデート ビルダー。

MSSDK_DIR
Microsoft SDK (プラットフォーム SDK または Windows SDK) を含むディレクトリ。
コンパイルに使用されます。

MSSDK_VERSION
Microsoft SDK (Platform SDK または Windows SDK) のバージョン文字列を指定します。
コンパイルに使用されます。サポートされているバージョンには、6.1、6.0A、6.0、2003R2、および 2003R1 が含まれます。

MSVC_BATCH
任意の true 値に設定すると、SCons がオブジェクトをバッチ コンパイルすることを指定します。
Microsoft Visual C/C++ コンパイラを呼び出すときのファイル。ソースのすべてのコンパイル
同じ出力内にターゲット ファイルを生成する同じソース ディレクトリのファイル
ディレクトリと同じ構築環境を使用して SCons で設定されたものは、
コンパイラへの 1 回の呼び出しで構築されます。それ以降に変更されたソース ファイルのみ
構築されたオブジェクト ファイルは、(
$CHANGED_SOURCES 構築変数)。オブジェクト (ターゲット) が含まれるすべてのコンパイル
ファイル ベース名 (.obj を除く) がソース ファイル ベース名と一致しません。
別にまとめたもの。

MSVC_USE_SCRIPT
バッチ スクリプトを使用して Microsoft Visual Studio コンパイラをセットアップする

$MSVC_USE_SCRIPT オーバーライド $MSVC_VERSION$TARGET_ARCH。の名前に設定すると、
Visual Studio .bat ファイル (vcvars.bat など)、SCons はその Bat ファイルを実行して抽出します。
結果からの関連変数 (通常は %INCLUDE%、%LIB%、および %PATH%)。
MSVC_USE_SCRIPT を None に設定すると、Visual Studio の自動検出が完全にバイパスされます。使用
これは、Visual Studio cmd ウィンドウで SCons を実行し、シェルの
環境変数。

MSVC_VERSION
使用する Microsoft Visual C/C++ の優先バージョンを設定します。

If $MSVC_VERSION が設定されていない場合、SCons は (デフォルトで) 最新バージョンの
システムに Visual C/C++ がインストールされていること。指定したバージョンがインストールされていない場合は、ツール
初期化に失敗します。この変数は引数として渡す必要があります。
Environment() コンストラクター。後で設定しても効果はありません。

Windows の有効な値は、12.0、12.0Exp、11.0、11.0Exp、10.0、10.0Exp、9.0、9.0Exp、
8.0、8.0Exp、7.1、7.0、および 6.0。 Exp で終わるバージョンは、「Express」または「Express」を指します。
デスクトップ用」エディション。

Msvs
Microsoft Visual Studio ツールが初期化されると、この辞書がセットアップされます。
次のキーを使用して:

VERSION
使用されている MSVS のバージョン (次の方法で設定できます) $MSVS_VERSION)

バージョン
インストールされている MSVS の利用可能なバージョン

VCINSTALLDIR
Visual C++のインストールディレクトリ

VSINSTALLDIR
Visual Studioのインストールディレクトリ

フレームワークディレクトリ
.NET Frameworkのインストールディレクトリ

フレームワークのバージョン
.NET Framework のインストールされているバージョンのリスト。最新のものから古いものへと並べられています。

フレームワークバージョン
.NET Framework の最新インストール バージョン

フレームワークSDKDIR
.NET SDK のインストール場所。

プラットフォームSDKDIR
プラットフォーム SDK のインストール場所。

PLATFORMSDK_MODULES
インストールされているプラ​​ットフォーム SDK モジュールの辞書。辞書キーは次のとおりです。
さまざまなモジュールのキーワードであり、値は 2 つのタプルで、最初の値は
1 番目はリリース日、2 番目はバージョン番号です。

値が設定されていない場合、その値はレジストリで使用できません。

MSVS_ARCH
生成されたプロジェクトをビルドするアーキテクチャを設定します。

デフォルト値はx86です。 amd64 は、一部の Visual Studio の SCons でもサポートされています
バージョン。設定しようとしています $MSVS_ARCH 特定の環境でサポートされていないアーキテクチャへの移行
Visual Studio のバージョンによってはエラーが発生します。

MSVS_PROJECT_GUID
生成された Microsoft Visual Studio プロジェクト ファイルに値として配置される文字列。
ProjectGUID 属性。デフォルト値はありません。定義されていない場合、新しい GUID は
生成された。

MSVS_SCC_AUX_PATH
生成された Microsoft Visual Studio プロジェクト ファイルに値として配置されるパス名
SccAuxPath 属性の MSVS_SCC_PROVIDER 構築変数も
セット。デフォルト値はありません。

MSVS_SCC_CONNECTION_ROOT
SCC ワークスペース内のプロジェクトのルート パス、つまり、すべてのプロジェクトがその下にあるパス
ソリューション ファイルが生成されます。これは、
生成された Microsoft Visual Studio プロジェクトとソリューション ファイルの相対パスは次のとおりです。
計算された。プロジェクト ファイルの相対パスが SccLocalPath の値として配置されます。
プロジェクト ファイルの属性と、
SccProjectFilePathRelativizedFromConnection[i] ([i] の範囲は 0 から数値まで)
ソリューション内のプロジェクトの) GlobalSection(SourceCodeControl) の属性
Microsoft Visual Studio ソリューション ファイルのセクション。同様に相対解
ファイル パスは SccLocalPath[i] の値として配置されます ([i] の範囲は 0 ~
ソリューション内のプロジェクトの数) の属性
Microsoft Visual Studio ソリューション ファイルの GlobalSection(SourceCodeControl) セクション。
これは、次の場合にのみ使用されます。 MSVS_SCC_PROVIDER 構築変数も設定されます。の
デフォルト値は現在の作業ディレクトリです。

MSVS_SCC_PROJECT_NAME
生成された Microsoft Visual Studio プロジェクト ファイルに配置されるプロジェクト名
SccProjectName 属性の値 MSVS_SCC_PROVIDER 構築変数
も設定されています。この場合、文字列は SccProjectName0 属性にも配置されます。
Microsoft Visual Studio の GlobalSection(SourceCodeControl) セクションの
ソリューションファイル。デフォルト値はありません。

MSVS_SCC_PROVIDER
生成された Microsoft Visual Studio プロジェクト ファイルに値として配置される文字列。
SccProvider 属性。この文字列は、次の SccProvider0 属性にも配置されます。
Microsoft Visual Studio ソリューションの GlobalSection(SourceCodeControl) セクション
ファイル。デフォルト値はありません。

MSVS_VERSION
使用する Microsoft Visual Studio の優先バージョンを設定します。

If $MSVS_VERSION が設定されていない場合、SCons は (デフォルトで) 最新バージョンの
Visual Studio がシステムにインストールされている。したがって、バージョン 6 とバージョン 7 (MSVS
.NET) がインストールされている場合、バージョン 7 が優先されます。
MSVS_VERSION 環境の初期化で変数を使用し、適切な値に設定します。
バージョン (「6.0」または「7.0」など)。指定したバージョンがインストールされていない場合は、ツール
初期化に失敗します。

これは廃止されました: を使用してください $MSVC_VERSION その代わり。 もしも $MSVS_VERSION 設定され、 $MSVC_VERSION
ではありません、 $MSVC_VERSION に自動的に設定されます $MSVS_VERSION。両方が設定されている場合
異なる値を指定すると、scons でエラーが発生します。

MSVSBUILDCOM
生成された Microsoft Visual Studio プロジェクト ファイルに配置されるビルド コマンド ライン。の
デフォルトでは、Visual Studio が指定されたビルド ターゲットで SCons を呼び出します。

MSVSクリーンコム
生成された Microsoft Visual Studio プロジェクト ファイルに配置されたクリーンなコマンド ライン。の
デフォルトでは、Visual Studio が -c オプションを使用して SCons を呼び出し、すべての要素を削除します。
指定されたターゲット。

MSVSENCODING
生成された Microsoft Visual Studio プロジェクト ファイルに配置されるエンコード文字列。の
デフォルトはエンコード Windows-1252 です。

MSVSプロジェクトコム
Microsoft Visual Studio プロジェクト ファイルを生成するために使用されるアクション。

MSVSプロジェクトフィックス
Microsoft Visual Studio プロジェクト (DSP) ファイルに使用されるサフィックス。デフォルト値は次のとおりです
Visual Studio バージョン 7.x (.NET) 以降のバージョンを使用する場合は .vcproj、使用する場合は .dsp
以前のバージョンの Visual Studio を使用している場合。

MSVSREBUILDCOM
生成された Microsoft Visual Studio プロジェクト ファイルに配置される再構築コマンド ライン。
デフォルトでは、Visual Studio は指定された再構築ターゲットで SCons を呼び出します。

MSVSSCONS
生成された Microsoft Visual Studio プロジェクト ファイルで使用される SCons。デフォルトは
プロジェクト ファイルの生成に使用されている SCons のバージョン。

MSVSSCONSCOM
生成された Microsoft Visual Studio プロジェクト ファイルで使用されるデフォルトの SCons コマンド。

MSVSSCONSCRIPT
によって呼び出される sconscript ファイル (つまり、SConstruct または SConscript ファイル)
Visual Studio プロジェクト ファイル ( $MSVSSCONSCOM 変数)。デフォルトは
への呼び出しを含む同じ sconscript ファイル MSVSプロジェクト プロジェクトファイルをビルドします。

MSVSSCONSFLAGS
生成された Microsoft Visual Studio プロジェクト ファイルで使用される SCons フラグ。

MSVSSOLUTIONCOM
Microsoft Visual Studio ソリューション ファイルの生成に使用されるアクション。

MSVSSOLUTIONSFFIX
Microsoft Visual Studio ソリューション (DSW) ファイルに使用されるサフィックス。デフォルト値は次のとおりです
Visual Studio バージョン 7.x (.NET) を使用する場合は .sln、それより前のバージョンを使用する場合は .dsw
Visual Studioの。

MT
Windows システムでマニフェストを DLL および EXE に埋め込むために使用されるプログラム。こちらも参照
$WINDOWS_EMBED_MANIFEST.

MTEXECOM
マニフェストを実行可能ファイルに埋め込むために使用される Windows コマンド ライン。こちらも参照
$MTSHLIBCOM.

MTFLAGS
に渡されたフラグ $MT マニフェスト埋め込みプログラム (Windows のみ)。

MTSHLIBCOM
マニフェストを共有ライブラリ (DLL) に埋め込むために使用される Windows コマンド ライン。見る
また $MTEXECOM.

MWCW_VERSION
使用する MetroWerks CodeWarrior C コンパイラーのバージョン番号。

MWCW_VERSIONS
このシステムにインストールされている MetroWerks CodeWarrior C コンパイラのバージョンのリスト。

NAME
パッケージ化するプロジェクトの名前を指定します。

no_import_lib
ゼロ以外に設定すると、対応する Windows 静的インポート ライブラリの作成が抑制されます。
MinGW、Microsoft Visual Studio、または
メトロワークス。これにより、使用時のエクスポート (.exp) ファイルの作成も抑制されます。
MicrosoftVisualStudio。

OBJプレフィックス
(静的) オブジェクト ファイル名に使用されるプレフィックス。

OBJSUFFIX
(静的) オブジェクト ファイル名に使用されるサフィックス。

P4
Perforce 実行可能ファイル。

P4COM
Perforce からソース ファイルをフェッチするために使用されるコマンド ライン。

P4COMSTR
Perforceからソースファイルを取得するときに表示される文字列。これが設定されていない場合は、
その後 $P4COM (コマンドライン) が表示されます。

P4フラッグス
Perforce に渡される一般オプション。

パッケージルート
次の場合に、結果として得られるアーカイブ内のすべてのファイルが配置されるディレクトリを指定します。
該当する。デフォルト値は「$NAME-$VERSION」です。

パッケージ型式
ビルドするパッケージの種類を選択します。現在、次のものが利用可能です。

* msi - Microsoft インストーラー * rpm - Redhat パッケージ マネージャー * ipkg - Itsy パッケージ
管理システム * tarbz2 - 圧縮 tar * targz - 圧縮 tar * zip - zip ファイル
* src_tarbz2 - 圧縮 tar ソース * src_targz - 圧縮 tar ソース * src_zip -
zip ファイルのソース

これは、「package_type」コマンド ライン オプションで上書きできます。

パッケージバージョン
パッケージのバージョン (基礎となるプロジェクトではありません)。これは現在のみ使用されています
rpm パッケージャによって行われ、基礎となるパッケージではなく、パッケージの変更を反映する必要があります。
プロジェクトコード自体。

PCH
オブジェクトのコンパイル時に使用される Microsoft Visual C++ プリコンパイル済みヘッダー
ファイル。この変数は、Microsoft Visual C++ 以外のツールでは無視されます。こうなると
変数が定義されている場合、SCons はコンパイラのコマンド ラインにオプションを追加して、
プリコンパイルされたヘッダーを使用し、PCH ファイルの依存関係もセットアップします。
例:

env['PCH'] = 'StdAfx.pch'

PCHCOM
で使用されるコマンドライン PCH ビルダーでプリコンパイルされたヘッダーを生成しました。

PCHCOMSTR
プリコンパイル済みヘッダーの生成時に表示される文字列。これが設定されていない場合は、
$PCHCOM (コマンドライン) が表示されます。

PCHPDBFLAGS
展開するとコマンド ラインに /yD フラグを追加する構築変数
の場合のみ $PDB 構築変数が設定されます。

PCHSTOP
この変数は、ソース ファイルのどの程度をプリコンパイルするかを指定します。この変数は
Microsoft Visual C++ 以外のツールでは無視されるか、PCH 変数が指定されていない場合は無視されます。
使用されています。この変数を定義するときは、その変数の名前を示す文字列である必要があります。
ソース ファイルのプリコンパイルされた部分の最後に含まれるヘッダー、または
「#pragma hrdstop」構造が使用されている場合は空の文字列:

env['PCHSTOP'] = 'StdAfx.h'

PDB
オブジェクトのデバッグ情報を保存するMicrosoft Visual C++ PDBファイル
ファイル、共有ライブラリ、およびプログラム。この変数は、以外のツールでは無視されます。
Microsoft Visual C++。この変数が定義されると、SCons はオプションを
コンパイラとリンカーのコマンド ラインで外部デバッグを生成する
情報を取得し、PDB ファイルの依存関係もセットアップします。例:

env['PDB'] = 'hello.pdb'

SCons が PDB 情報を生成するためにデフォルトで使用する Visual C++ コンパイラ スイッチ
is /Z7。これは並列で正しく動作します (-j) デバッグが埋め込まれているためビルドされます。
単一の PDB ファイルを共有するのではなく、中間オブジェクト ファイル内の情報
複数のオブジェクト ファイル間で。これはデバッグ情報を取得する唯一の方法でもあります
静的ライブラリに埋め込まれます。の使用 /Zi 代わりに、リンク時間が改善される可能性があります
ただし、並列ビルドは機能しなくなります。 PDBファイルを生成できる
/Zi デフォルトをオーバーライドして切り替える $CCPDBFLAGS 変数;のエントリを参照してください
特定の例については、その変数を参照してください。

PDFCOM
非推奨の同義語 $DVIPDFCOM.

PDFLATEX
pdflatex ユーティリティ。

PDFLATEXCOM
pdflatex ユーティリティを呼び出すために使用されるコマンド ライン。

PDFLATEXCOMSTR
pdflatex ユーティリティを呼び出すときに表示される文字列。これが設定されていない場合は、
$PDFLATEXCOM (コマンドライン) が表示されます。

env = 環境(PDFLATEX;COMSTR = "LaTeX 入力 $SOURCES から $TARGET を構築")

PDFLATEXフラグ
pdflatex ユーティリティに渡される一般オプション。

PDFプレフィックス
PDF ファイル名に使用されるプレフィックス。

PDFサフィックス
PDF ファイル名に使用される接尾辞。

PDFTEX
pdftex ユーティリティ。

PDFTEXCOM
pdftex ユーティリティを呼び出すために使用されるコマンド ライン。

PDFTEXCOMSTR
pdftex ユーティリティを呼び出したときに表示される文字列。これが設定されていない場合は、
$PDFTEXCOM (コマンドライン) が表示されます。

env = 環境(PDFTEXCOMSTR = "TeX 入力 $SOURCES から $TARGET を構築")

PDFTEXFLAGS
pdftex ユーティリティに渡される一般オプション。

PKGCHK
Solaris システムでは、使用されるパッケージ チェック プログラム (および
$PKINFO) を使用して、インストールされている Sun PRO C++ コンパイラのバージョンを探します。デフォルトは
/usr/sbin/pgkchk。

PKINFO
Solaris システムでは、使用されるパッケージ情報プログラム (および
$PKGCHK) を使用して、インストールされている Sun PRO C++ コンパイラのバージョンを探します。デフォルトは
パッケージ情報。

PLATFORM
環境の作成に使用されたプラットフォームの名前。プラットフォームが指定されていない場合
環境が作成されると、scons はプラットフォームを自動検出します。

env = 環境(ツール = [])
if env['PLATFORM'] == 'cygwin':
ツール('mingw')(env)
その他:
ツール('msvc')(env)

ポオートイニット
この $POAUTOINIT 変数が True に設定されている場合 (ゼロ以外の数値の場合)、msginit
自動で初期化するツール 行方不明 PO ファイル msginit(1)。 これは
どちらも、 POInitPOアップデート ビルダー (およびそれらのいずれかを使用する他のビルダー)。

POCREATE_ALIAS
で作成されたすべての PO ファイルの共通エイリアス POInit ビルダー (デフォルト: 'po-create')。見る
msginit ツールと POInit ビルダー。

接尾語
PO ファイルに使用されるサフィックス (デフォルト: '.po') msg​​init ツールと POInit ビルダー。

ポットドメイン
この $ポットドメイン POT ファイル名を生成するために使用されるデフォルトのドメインを定義します。 $ポットドメイン.POT
ユーザーが POT ファイル名を指定しない場合。これに該当するのは、 POTアップデート, POInit
POアップデート ビルダー (およびそれらを使用するビルダー) 翻訳します)。通常(もし
$ポットドメイン が定義されていない場合)、ビルダーはデフォルトの POT ファイル名としてmessages.pot を使用します。

ポツフィックス
PO テンプレート ファイルに使用されるサフィックス (デフォルト: '.pot')。 xgettext ツールを参照してください。 POTアップデート
ビルダー。

POTUPDATE_ALIAS
で作成されたすべての PO テンプレートの共通の偽のターゲットの名前 POアップデート (ディフォルト:
「ポットアップデート」)。 xgettext ツールを参照してください。 POTアップデート ビルダー。

POUPDATE_ALIAS
で定義されているすべての PO ファイルの共通エイリアス POアップデート ビルダー (デフォルト:
'po-アップデート')。 msgmerge ツールと POアップデート ビルダー。

PRINT_CMD_LINE_FUNC
実行時にコマンド ラインを出力するために使用される Python 関数 (次のように仮定します)
コマンド印刷は、 -q or -s オプションまたは同等のもの)。の
関数は 4 つの引数を取る必要があります。 s、実行されるコマンド (文字列)、 ターゲット,
構築されるターゲット (ファイル ノード、リスト、または文字列名)、 source、 情報源)
使用 (ファイル ノード、リスト、または文字列名)、および env、使用されている環境。

関数自体が印刷を実行する必要があります。デフォルトの実装。この場合に使用されます。
変数が設定されていないか、None である場合は、次のとおりです。

def print_cmd_line(s、ターゲット、ソース、環境):
sys.stdout.write(s + "\n")

より興味深い関数の例を次に示します。

def print_cmd_line(s、ターゲット、ソース、環境):
sys.stdout.write("ビルディング %s -> %s...\n" %
(' および '.join([ソース内の x の str(x)]),
' および '.join([str(x) for x in target])))
env=環境(PRINT_CMD_LINE_FUNC=print_cmd_line)
env.Program('foo', 'foo.c')

これは単に「建物」を出力するだけです ターゲット名 from ソース名...」実際の代わりに
コマンド。このような関数は、実際のコマンドをログ ファイルに記録することもできます。
例。

プロジェミッター
すべて

プログプリフィックス
実行可能ファイル名に使用されるプレフィックス。

プログサフィックス
実行可能ファイル名に使用されるサフィックス。

PSCOM
TeX DVI ファイルを PostScript ファイルに変換するために使用されるコマンド ライン。

PSCOMSTR
TeX DVI ファイルを PostScript ファイルに変換するときに表示される文字列。これなら
が設定されていない場合 $PSCOM (コマンドライン) が表示されます。

PSPREFIX
PostScript ファイル名に使用されるプレフィックス。

PSSUFFIX
PostScript ファイル名に使用されるプレフィックス。

QT_AUTOSCAN
移動可能なファイルのスキャンをオフにします。 Moc Builder を使用してファイルを明示的に指定する
mocを実行します。

QT_BINPATH
qt バイナリがインストールされるパス。デフォルト値は '$ QTDIR/ binに'.

QT_CPPPATH
qt ヘッダー ファイルがインストールされるパス。デフォルト値は次のとおりです
'$ QTDIR/含む'。注: この変数を None に設定すると、ツールは変更しません。
$CPPPATH 構築変数。

QT_デバッグ
moc ファイルのスキャン中に多くのデバッグ情報を出力します。

QT_LIB
デフォルト値は「qt」です。これを「qt-mt」に設定するとよいでしょう。注: これを設定すると、
変数を None に設定すると、ツールは変更しません。 $LIBS 変数に保存します.

QT_LIBPATH
qt ライブラリがインストールされるパス。デフォルト値は '$ QTDIR/ lib'.
注: この変数を None に設定すると、ツールは変更しません。 $LIBPATH
構築変数。

QT_MOC
デフォルト値は「」です$QT_BINPATH/モック」。

QT_MOCCXXPREFIX
デフォルト値は「」です。ソースが cxx ファイルの場合、moc 出力ファイルのプレフィックス。

QT_MOCCXXSSFFIX
デフォルト値は「.moc」です。ソースが cxx ファイルの場合の moc 出力ファイルのサフィックス。

QT_MOCFROMCXXCOM
cpp ファイルから moc ファイルを生成するコマンド。

QT_MOCFROMCXXCOMSTR
cpp ファイルから moc ファイルを生成するときに表示される文字列。これが設定されていない場合は、
その後 $QT_MOCFROMCXXCOM (コマンドライン) が表示されます。

QT_MOCFROMCXXFLAGS
デフォルト値は「-i」です。これらのフラグは、C++ ファイルを mocc するときに moc に渡されます。

QT_MOCFROMHCOM
ヘッダーから moc ファイルを生成するコマンド。

QT_MOCFROMHCOMSTR
cpp ファイルから moc ファイルを生成するときに表示される文字列。これが設定されていない場合は、
その後 $QT_MOCFROMHCOM (コマンドライン) が表示されます。

QT_MOCFROMHFLAGS
デフォルト値は「」です。これらのフラグは、ヘッダー ファイルを mocc するときに moc に渡されます。

QT_MOCHPREFIX
デフォルト値は「moc_」です。ソースがヘッダーである場合の moc 出力ファイルのプレフィックス。

QT_MOCHSUFFIX
デフォルト値は「」です$CXXFILESUFFIX'。ソースが
ヘッダ。

QT_UIC
デフォルト値は「」です$QT_BINPATH/uic'。

QT_UICCOM
.ui ファイルからヘッダー ファイルを生成するコマンド。

QT_UICCOMSTR
.ui ファイルからヘッダー ファイルを生成するときに表示される文字列。これが設定されていない場合は、
その後 $QT_UICCOM (コマンドライン) が表示されます。

QT_UICDECLFLAGS
デフォルト値は「」です。これらのフラグは、aah ファイルをファイルから作成するときに uic に渡されます。
.uiファイル。

QT_UICDECLPREFIX
デフォルト値は「」です。 uic で生成されたヘッダー ファイルのプレフィックス。

QT_UICDECLSUFFIX
デフォルト値は '.h' です。uic で生成されたヘッダー ファイルの接尾辞です。

QT_UICIMPLFLAGS
デフォルト値は「」です。これらのフラグは、cxx ファイルを作成するときに uic に渡されます。
.uiファイル。

QT_UICIMPLPREFIX
デフォルト値は「uic_」です。 uic で生成された実装ファイルのプレフィックス。

QT_UICIMPLSUFFIX
デフォルト値は「」です$CXXFILESUFFIX'。 uic で生成された実装ファイルのサフィックス。

QT_UISUFFIX
デフォルト値は「.ui」です。デザイナー入力ファイルのサフィックス。

QTDIR
qt ツールは、os.environ からこれを取得しようとします。また、すべての QT_* も初期化します。
構築変数を以下に示します。 (すべてのパスは次のように構築されることに注意してください。
Python の os.path.join() メソッドですが、ここではわかりやすくするために「/」区切り文字を使用してリストされています。
) さらに、コンストラクション環境変数 $CPPPATH, $LIBPATH
$LIBS 変更される可能性があり、変数 $プロジェミッター, $シュリベミッター$リベミッター
変更されています。このツールを使用するとビルドのパフォーマンスが影響を受けるため、
環境作成時に明示的に指定するには:

環境(ツール=['デフォルト','qt'])

qt ツールは次の操作をサポートしています。

オートマチック パワー file 世代 from ヘッダ ファイル。 mocファイルを指定する必要はありません
明示的に、ツールがそれを実行します。ただし、これにはいくつかの前提条件があります。
ヘッダー ファイルは実装ファイルと同じファイルベースを持ち、そのままにしておく必要があります。
同じディレクトリ内にあります。接尾辞 .h、.hpp、.H、.hxx、.hh のいずれかが必要です。あなた
QT_AUTOSCAN を 0 に設定することで、moc ファイルの自動生成をオフにできます。
対応する パワー() ビルダーメソッド。

オートマチック パワー file 世代 from cxx ファイル。 qt ドキュメントに記載されているように、
cxx ファイルの最後に moc ファイルを含めます。を含める必要があることに注意してください。
変換によって生成されるファイル
${QT_MOCCXXPREFIX} ${QT_MOCCXXSSUFFIX}、デフォルト.moc.警告
正しいファイルを含めないと、moc ファイルのビルド後に生成されます。もし
VariantDir を使用している場合は、duplicate=1 を指定する必要がある場合があります。オフにすることもできます
QT_AUTOSCAN を 0 に設定すると、moc ファイルが自動生成されます。対応するセクションも参照してください。
パワー ビルダーメソッド。

オートマチック 取り扱い of .ui ファイル。 .ui ファイルから生成された実装ファイル
yacc または lex ファイルとほぼ同じように処理されます。ソースとして提供される各 .ui ファイル
プログラム、ライブラリ、または SharedLibrary は、宣言ファイル、
実装ファイルと moc ファイル。生成されたヘッダーもあるため、
VariantDirの呼び出しではduplicate=1を指定する必要があります。対応する ウイック
ビルダーメソッド。

ランリブ
アーカイブインデクサー。

ランリブコム
静的ライブラリ アーカイブのインデックスを作成するために使用されるコマンド ライン。

RANLIBCOMSTR
静的ライブラリ アーカイブのインデックス作成時に表示される文字列。これが設定されていない場合は、
その後 $RANLIBCOM (コマンドライン) が表示されます。

env = 環境(RANLIBCOMSTR = "$TARGETのインデックス作成")

ランリブフラッグス
アーカイブ インデクサーに渡される一般オプション。

RC
Microsoft Visual C++ リソース ファイルの構築に使用されるリソース コンパイラ。

RCCOM
Microsoft Visual C++ リソース ファイルの構築に使用されるコマンド ライン。

RCCOMSTR
Microsoft Visual を構築するためにリソース コンパイラを起動するときに表示される文字列
C++ リソース ファイル。これが設定されていない場合は、 $RCCOM (コマンドライン) が表示されます。

RCFフラッグス
RES ビルダーによってリソース コンパイラーに渡されるフラグ。

RCINCFLAGS
コマンドラインオプションを含む自動生成された構築変数
リソースコンパイラによって検索されるディレクトリを指定します。の値
$RCINCFLAGS を追加することで作成されます $RCINCPREFIX$RCINCSUFFIX 最初にそして
各ディレクトリの末尾 $CPPPATH.

RCINCPREFIX
リソース コンパイラでインクルード ディレクトリを指定するために使用されるプレフィックス (フラグ)
コマンドライン。これは、次の各ディレクトリの先頭に追加されます。 $CPPPATH
構築変数の場合、 $RCINCFLAGS 変数が展開されます。

RCINCSUFFIX
リソース コンパイラのコマンド ラインでインクルード ディレクトリを指定するために使用されるサフィックス。
これは、次の各ディレクトリの末尾に追加されます。 $CPPPATH 建設
変数の場合 $RCINCFLAGS 変数が展開されます。

RCS
RCS 実行可能ファイル。この変数は実際にはコマンドで使用されないことに注意してください。
RCS からソース ファイルをフェッチします。を参照してください $RCS_CO 構築変数を以下に示します。

RCS_CO
RCS の「チェックアウト」実行可能ファイル。RCS からソース ファイルをフェッチするために使用されます。

RCS_COCOM
RCS からソース ファイルをフェッチ (チェックアウト) するために使用されるコマンド ライン。

RCS_COCOMSTR
RCS からソース ファイルを取得するときに表示される文字列。これが設定されていない場合は、
$RCS_COCOM (コマンドライン) が表示されます。

RCS_COFLAGS
に渡されるオプション $RCS_CO

RDir
文字列を検索して Dir インスタンスのリストに変換する関数。
リポジトリ。

REGSVR
Windowsシステムで新しく構築されたDLLライブラリを登録するために使用されるプログラム。
共有ライブラリ builder には、キーワード引数 register=1 が渡されます。

REGSVRCOM
Windows システムで新しく構築された DLL ライブラリを登録するために使用されるコマンド ライン
いつでも 共有ライブラリ builder には、キーワード引数 register=1 が渡されます。

REGSVRCOMSTR
新規に構築したDLLファイルを登録する際に表示される文字列。これが設定されていない場合は、
$REGSVRCOM (コマンドライン) が表示されます。

REGSVRFLAGS
新しく構築された DLL のときに Windows システム上の DLL 登録プログラムに渡されるフラグ
ライブラリが登録されています。デフォルトでは、これには以下が含まれます /s ダイアログボックスが表示されないようにする
ポップアップが表示され、ユーザーの注意を必要とすることを防ぎます。

RMIC
Java RMI スタブ コンパイラ。

リミックコム
Java クラスからスタブおよびスケルトン クラス ファイルをコンパイルするために使用されるコマンド ライン。
RMI実装が含まれています。で指定されたオプションは、 $RMICFLAGS 建設
変数がこのコマンドラインに含まれています。

RMICCOMSTR
Java クラスからスタブおよびスケルトン クラス ファイルをコンパイルするときに表示される文字列
RMI 実装が含まれています。これが設定されていない場合は、 $RMICCOM (コマンドライン)
表示されています。

env = 環境(RMICCOMSTR = "$SOURCES からスタブ/スケルトン クラス ファイル $TARGETS を生成しています")

RMICFLAGS
Java RMI スタブ コンパイラに渡される一般オプション。

_RPATH
使用される rpath フラグを含む自動生成された構築変数
プログラムを共有ライブラリにリンクする場合。の値 $_RPATH によって作成されます
追記 $RPATHPREFIX$RPATHSUFFIX の各ディレクトリの先頭と末尾まで
$RPATH.

RPATH
プログラムの実行時に共有ライブラリを検索するためのパスのリスト。現在のみ
GNU (gnulink)、IRIX (sgilink)、および Sun (sunlink) リンカーで使用されます。無視されました
それをサポートしていないプラットフォームとツールチェーン。 RPATH に追加されるパスは次のとおりであることに注意してください。
いかなる方法でも scons によって変換されません。絶対パスが必要な場合は、それを作成する必要があります。
絶対的な自分。

RPATHPREFIX
共有ライブラリを検索するディレクトリを指定するために使用されるプレフィックス。
実行中のプログラム。これは、次の各ディレクトリの先頭に追加されます。
$RPATH 構築変数の場合、 $_RPATH 変数が自動生成されます。

RPパスサフィックス
共有ライブラリを検索するディレクトリを指定するために使用されるサフィックス。
実行中のプログラム。これは、次の各ディレクトリの末尾に追加されます。 $RPATH
構築変数の場合、 $_RPATH 変数が自動生成されます。

RPCGEN
RPC プロトコル コンパイラ。

RPCGENCLIENTFLAGS
クライアント側のスタブを生成するときに RPC プロトコル コンパイラに渡されるオプション。これら
で指定されたフラグに加えて、 $RPCGENFLAGS 構築変数。

RPCGENFLAGS
RPC プロトコル コンパイラに渡される一般オプション。

RPCGENHEADERFLAGS
ヘッダー ファイルの生成時に RPC プロトコル コンパイラーに渡されるオプション。これらは
で指定されたフラグに加えて、 $RPCGENFLAGS 構築変数。

RPCGENサービスフラグ
サーバー側スタブの生成時に RPC プロトコル コンパイラに渡されるオプション。これら
で指定されたフラグに加えて、 $RPCGENFLAGS 構築変数。

RPCGENXDRFLAGS
XDR ルーチンの生成時に RPC プロトコル コンパイラに渡されるオプション。これらは入っています
で指定されたフラグに加えて、 $RPCGENFLAGS 構築変数。

スキャナー
使用可能な暗黙的な依存関係スキャナーのリスト。新しいファイル スキャナが追加される可能性があります
このリストに追加することにより、より柔軟なアプローチとして関連付けることができます。
特定のビルダーを使用したスキャナー。 「ビルダー オブジェクト」および「スキャナ」セクションを参照してください。
詳細については、以下の「オブジェクト」を参照してください。

SCCS
SCCS 実行可能ファイル。

SCCSCOM
SCCS からソース ファイルをフェッチするために使用されるコマンド ライン。

SCCSCOMSTR
CVS リポジトリからソース ファイルをフェッチするときに表示される文字列。そうでない場合
設定してから $SCCSCOM (コマンドライン) が表示されます。

SCCSFLAGS
SCCS に渡される一般オプション。

SCCSGETFLAGS
特に SCCS の「get」サブコマンドに渡されるオプション。これは設定できるのですが、
たとえば、 -e SCCS から編集可能なファイルをチェックアウトします。

SCONS_HOME
SCons ライブラリ ディレクトリへの (オプションの) パス。外部から初期化されます。
環境。設定されている場合、これはより短く効率的な検索を構築するために使用されます。
のパス $MSVSSCONS Microsoft Visual Studioプロジェクトから実行されるコマンドライン
ファイル。

SHCC
共有ライブラリ オブジェクトの生成に使用される C コンパイラ。

SHCCCOM
C ソース ファイルを共有ライブラリ オブジェクト ファイルにコンパイルするために使用されるコマンド ライン。どれでも
で指定されたオプション $SHCFLAGS, $SHCCFLAGS$CPPFLAGS 構築変数
はこのコマンドラインに含まれています。

SHCCCOMSTR
C ソース ファイルが共有オブジェクト ファイルにコンパイルされるときに表示される文字列。これなら
が設定されていない場合 $SHCCCOM (コマンドライン) が表示されます。

env = 環境(SHCCCOMSTR = "共有オブジェクト $TARGET をコンパイル中")

SHCCFLAGS
共有ライブラリ オブジェクトを生成するために C および C++ コンパイラに渡されるオプション。

SHCFLAGS
共有ライブラリを生成するために C コンパイラ (C++ ではなくのみ) に渡されるオプション
オブジェクト。

SHCXX
共有ライブラリ オブジェクトの生成に使用される C++ コンパイラ。

SHCXXCOM
C++ ソース ファイルを共有ライブラリ オブジェクト ファイルにコンパイルするために使用されるコマンド ライン。
で指定されたオプション $SHCXXFLAGS$CPPFLAGS 構築変数は
このコマンドラインに含まれています。

SHCXXCOMSTR
C++ ソース ファイルが共有オブジェクト ファイルにコンパイルされるときに表示される文字列。もし
これは設定されていないため、 $SHCXXCOM (コマンドライン) が表示されます。

env = 環境(SHCXXCOMSTR = "共有オブジェクト $TARGET をコンパイル中")

SHCXXフラグ
共有ライブラリ オブジェクトを生成するために C++ コンパイラに渡されるオプション。

SHDC
SHDC。

SHDCOM
シュッドコム。

シュリンク
シュリンク。

SHDLINKCOM
SHDLINKCOM。

シュリンクフラグ
シュリンクフラグ。

SHELL
に渡されるシェル プログラムに名前を付ける文字列。 $スポーン 関数。 を参照してください。
$スポーン 詳細については、構築変数を参照してください。

SHF03
共有ライブラリ オブジェクトの生成に使用される Fortran 03 コンパイラ。あなたがすべき
通常は、 $SHFORTRAN 変数。デフォルトの Fortran コンパイラを指定します。
すべての Fortran バージョン。設定するだけで済みます $SHF03 特定のを使用する必要がある場合は、
Fortran 03 ファイルのコンパイラまたはコンパイラのバージョン。

SHF03COM
Fortran 03 ソース ファイルを共有ライブラリ オブジェクトにコンパイルするために使用されるコマンド ライン
ファイル。設定するだけで済みます $SHF03COM 特定のコマンドラインを使用する必要がある場合は、
Fortran 03 ファイル。通常は次のように設定する必要があります $SHFORTRANCOM 変数、指定する
すべての Fortran バージョンのデフォルトのコマンドライン。

SHF03COMSTR
Fortran 03 ソース ファイルを共有ライブラリにコンパイルするときに表示される文字列
オブジェクトファイル。これが設定されていない場合は、 $SHF03COM or $SHFORTRANCOM (コマンドライン)は
表示されます。

SHF03フラッグス
生成された共有ライブラリに Fortran 03 コンパイラに渡されるオプション
オブジェクト。設定するだけで済みます $SHF03FLAGS 特定のユーザー オプションを定義する必要がある場合
Fortran 03 ファイル用。通常は次のように設定する必要があります $SHFORTRANFLAGS 変数、
すべてのデフォルトの Fortran コンパイラに渡されるユーザー指定のオプションを指定します。
Fortran のバージョン。

SHF03PPCOM
Fortran 03 ソース ファイルを共有ライブラリ オブジェクトにコンパイルするために使用されるコマンド ライン
最初に C プリプロセッサを通じてファイルを実行した後、ファイルを作成します。で指定されたオプション
  $SHF03FLAGS$CPPFLAGS このコマンドには構築変数が含まれています
行。設定する必要があるのは $SHF03PPCOM 特定の C プリプロセッサを使用する必要がある場合
Fortran 03 ファイルのコマンドライン。通常は次のように設定する必要があります $SHFOTRANPCOM
変数。すべての Fortran のデフォルトの C プリプロセッサ コマンド ラインを指定します。
バージョン。

SHF03PPCOMSTR
Fortran 03 ソース ファイルを共有ライブラリにコンパイルするときに表示される文字列
最初に C プリプロセッサを通じてファイルを実行した後、オブジェクト ファイルを作成します。そうでない場合
設定してから $SHF03PPCOM or $SHFOTRANPCOM (コマンドライン) が表示されます。

SHF08
共有ライブラリ オブジェクトの生成に使用される Fortran 08 コンパイラ。あなたがすべき
通常は、 $SHFORTRAN 変数。デフォルトの Fortran コンパイラを指定します。
すべての Fortran バージョン。設定するだけで済みます $SHF08 特定のを使用する必要がある場合は、
Fortran 08 ファイルのコンパイラまたはコンパイラのバージョン。

SHF08COM
Fortran 08 ソース ファイルを共有ライブラリ オブジェクトにコンパイルするために使用されるコマンド ライン
ファイル。設定するだけで済みます $SHF08COM 特定のコマンドラインを使用する必要がある場合は、
Fortran 08 ファイル。通常は次のように設定する必要があります $SHFORTRANCOM 変数、指定する
すべての Fortran バージョンのデフォルトのコマンドライン。

SHF08COMSTR
Fortran 08 ソース ファイルを共有ライブラリにコンパイルするときに表示される文字列
オブジェクトファイル。これが設定されていない場合は、 $SHF08COM or $SHFORTRANCOM (コマンドライン)は
表示されます。

SHF08フラッグス
生成された共有ライブラリに Fortran 08 コンパイラに渡されるオプション
オブジェクト。設定するだけで済みます $SHF08FLAGS 特定のユーザー オプションを定義する必要がある場合
Fortran 08 ファイル用。通常は次のように設定する必要があります $SHFORTRANFLAGS 変数、
すべてのデフォルトの Fortran コンパイラに渡されるユーザー指定のオプションを指定します。
Fortran のバージョン。

SHF08PPCOM
Fortran 08 ソース ファイルを共有ライブラリ オブジェクトにコンパイルするために使用されるコマンド ライン
最初に C プリプロセッサを通じてファイルを実行した後、ファイルを作成します。で指定されたオプション
  $SHF08FLAGS$CPPFLAGS このコマンドには構築変数が含まれています
行。設定する必要があるのは $SHF08PPCOM 特定の C プリプロセッサを使用する必要がある場合
Fortran 08 ファイルのコマンドライン。通常は次のように設定する必要があります $SHFOTRANPCOM
変数。すべての Fortran のデフォルトの C プリプロセッサ コマンド ラインを指定します。
バージョン。

SHF08PPCOMSTR
Fortran 08 ソース ファイルを共有ライブラリにコンパイルするときに表示される文字列
最初に C プリプロセッサを通じてファイルを実行した後、オブジェクト ファイルを作成します。そうでない場合
設定してから $SHF08PPCOM or $SHFOTRANPCOM (コマンドライン) が表示されます。

SHF77
共有ライブラリ オブジェクトの生成に使用される Fortran 77 コンパイラ。あなたがすべき
通常は、 $SHFORTRAN 変数。デフォルトの Fortran コンパイラを指定します。
すべての Fortran バージョン。設定するだけで済みます $SHF77 特定のを使用する必要がある場合は、
Fortran 77 ファイルのコンパイラまたはコンパイラのバージョン。

SHF77COM
Fortran 77 ソース ファイルを共有ライブラリ オブジェクトにコンパイルするために使用されるコマンド ライン
ファイル。設定するだけで済みます $SHF77COM 特定のコマンドラインを使用する必要がある場合は、
Fortran 77 ファイル。通常は次のように設定する必要があります $SHFORTRANCOM 変数、指定する
すべての Fortran バージョンのデフォルトのコマンドライン。

SHF77COMSTR
Fortran 77 ソース ファイルを共有ライブラリにコンパイルするときに表示される文字列
オブジェクトファイル。これが設定されていない場合は、 $SHF77COM or $SHFORTRANCOM (コマンドライン)は
表示されます。

SHF77フラッグス
生成された共有ライブラリに Fortran 77 コンパイラに渡されるオプション
オブジェクト。設定するだけで済みます $SHF77FLAGS 特定のユーザー オプションを定義する必要がある場合
Fortran 77 ファイル用。通常は次のように設定する必要があります $SHFORTRANFLAGS 変数、
すべてのデフォルトの Fortran コンパイラに渡されるユーザー指定のオプションを指定します。
Fortran のバージョン。

SHF77PPCOM
Fortran 77 ソース ファイルを共有ライブラリ オブジェクトにコンパイルするために使用されるコマンド ライン
最初に C プリプロセッサを通じてファイルを実行した後、ファイルを作成します。で指定されたオプション
  $SHF77FLAGS$CPPFLAGS このコマンドには構築変数が含まれています
行。設定する必要があるのは $SHF77PPCOM 特定の C プリプロセッサを使用する必要がある場合
Fortran 77 ファイルのコマンドライン。通常は次のように設定する必要があります $SHFOTRANPCOM
変数。すべての Fortran のデフォルトの C プリプロセッサ コマンド ラインを指定します。
バージョン。

SHF77PPCOMSTR
Fortran 77 ソース ファイルを共有ライブラリにコンパイルするときに表示される文字列
最初に C プリプロセッサを通じてファイルを実行した後、オブジェクト ファイルを作成します。そうでない場合
設定してから $SHF77PPCOM or $SHFOTRANPCOM (コマンドライン) が表示されます。

SHF90
共有ライブラリ オブジェクトの生成に使用される Fortran 90 コンパイラ。あなたがすべき
通常は、 $SHFORTRAN 変数。デフォルトの Fortran コンパイラを指定します。
すべての Fortran バージョン。設定するだけで済みます $SHF90 特定のを使用する必要がある場合は、
Fortran 90 ファイルのコンパイラまたはコンパイラのバージョン。

SHF90COM
Fortran 90 ソース ファイルを共有ライブラリ オブジェクトにコンパイルするために使用されるコマンド ライン
ファイル。設定するだけで済みます $SHF90COM 特定のコマンドラインを使用する必要がある場合は、
Fortran 90 ファイル。通常は次のように設定する必要があります $SHFORTRANCOM 変数、指定する
すべての Fortran バージョンのデフォルトのコマンドライン。

SHF90COMSTR
Fortran 90 ソース ファイルを共有ライブラリにコンパイルするときに表示される文字列
オブジェクトファイル。これが設定されていない場合は、 $SHF90COM or $SHFORTRANCOM (コマンドライン)は
表示されます。

SHF90フラッグス
生成された共有ライブラリに Fortran 90 コンパイラに渡されるオプション
オブジェクト。設定するだけで済みます $SHF90FLAGS 特定のユーザー オプションを定義する必要がある場合
Fortran 90 ファイル用。通常は次のように設定する必要があります $SHFORTRANFLAGS 変数、
すべてのデフォルトの Fortran コンパイラに渡されるユーザー指定のオプションを指定します。
Fortran のバージョン。

SHF90PPCOM
Fortran 90 ソース ファイルを共有ライブラリ オブジェクトにコンパイルするために使用されるコマンド ライン
最初に C プリプロセッサを通じてファイルを実行した後、ファイルを作成します。で指定されたオプション
  $SHF90FLAGS$CPPFLAGS このコマンドには構築変数が含まれています
行。設定する必要があるのは $SHF90PPCOM 特定の C プリプロセッサを使用する必要がある場合
Fortran 90 ファイルのコマンドライン。通常は次のように設定する必要があります $SHFOTRANPCOM
変数。すべての Fortran のデフォルトの C プリプロセッサ コマンド ラインを指定します。
バージョン。

SHF90PPCOMSTR
Fortran 90 ソース ファイルを共有ライブラリにコンパイルするときに表示される文字列
最初に C プリプロセッサを通じてファイルを実行した後、オブジェクト ファイルを作成します。そうでない場合
設定してから $SHF90PPCOM or $SHFOTRANPCOM (コマンドライン) が表示されます。

SHF95
共有ライブラリ オブジェクトの生成に使用される Fortran 95 コンパイラ。あなたがすべき
通常は、 $SHFORTRAN 変数。デフォルトの Fortran コンパイラを指定します。
すべての Fortran バージョン。設定するだけで済みます $SHF95 特定のを使用する必要がある場合は、
Fortran 95 ファイルのコンパイラまたはコンパイラのバージョン。

SHF95COM
Fortran 95 ソース ファイルを共有ライブラリ オブジェクトにコンパイルするために使用されるコマンド ライン
ファイル。設定するだけで済みます $SHF95COM 特定のコマンドラインを使用する必要がある場合は、
Fortran 95 ファイル。通常は次のように設定する必要があります $SHFORTRANCOM 変数、指定する
すべての Fortran バージョンのデフォルトのコマンドライン。

SHF95COMSTR
Fortran 95 ソース ファイルを共有ライブラリにコンパイルするときに表示される文字列
オブジェクトファイル。これが設定されていない場合は、 $SHF95COM or $SHFORTRANCOM (コマンドライン)は
表示されます。

SHF95フラッグス
生成された共有ライブラリに Fortran 95 コンパイラに渡されるオプション
オブジェクト。設定するだけで済みます $SHF95FLAGS 特定のユーザー オプションを定義する必要がある場合
Fortran 95 ファイル用。通常は次のように設定する必要があります $SHFORTRANFLAGS 変数、
すべてのデフォルトの Fortran コンパイラに渡されるユーザー指定のオプションを指定します。
Fortran のバージョン。

SHF95PPCOM
Fortran 95 ソース ファイルを共有ライブラリ オブジェクトにコンパイルするために使用されるコマンド ライン
最初に C プリプロセッサを通じてファイルを実行した後、ファイルを作成します。で指定されたオプション
  $SHF95FLAGS$CPPFLAGS このコマンドには構築変数が含まれています
行。設定する必要があるのは $SHF95PPCOM 特定の C プリプロセッサを使用する必要がある場合
Fortran 95 ファイルのコマンドライン。通常は次のように設定する必要があります $SHFOTRANPCOM
変数。すべての Fortran のデフォルトの C プリプロセッサ コマンド ラインを指定します。
バージョン。

SHF95PPCOMSTR
Fortran 95 ソース ファイルを共有ライブラリにコンパイルするときに表示される文字列
最初に C プリプロセッサを通じてファイルを実行した後、オブジェクト ファイルを作成します。そうでない場合
設定してから $SHF95PPCOM or $SHFOTRANPCOM (コマンドライン) が表示されます。

シュフォートラン
共有ライブラリ オブジェクトの生成に使用されるデフォルトの Fortran コンパイラ。

SHFORTRANCOM
Fortran ソース ファイルを共有ライブラリ オブジェクトにコンパイルするために使用されるコマンド ライン
ファイルにソフトウェアを指定する必要があります。

SHFORTRANCOMSTR
Fortran ソース ファイルが共有ライブラリ オブジェクトにコンパイルされるときに表示される文字列
ファイル。これが設定されていない場合は、 $SHFORTRANCOM (コマンドライン) が表示されます。

シュフォートランフラッグス
共有ライブラリ オブジェクトを生成するために Fortran コンパイラに渡されるオプション。

SHFOTRAPPCOM
Fortran ソース ファイルを共有ライブラリ オブジェクト ファイルにコンパイルするために使用されるコマンド ライン
最初に C プリプロセッサを通じてファイルを実行した後。で指定されたオプションは、
$SHFORTRANFLAGS$CPPFLAGS このコマンドには構築変数が含まれています
ライン。

SHFOTRAPPCOMSTR
Fortran ソース ファイルが共有ライブラリ オブジェクトにコンパイルされるときに表示される文字列
最初に C プリプロセッサを通じてファイルを実行した後、ファイルを作成します。これが設定されていない場合は、
$SHFOTRANPCOM (コマンドライン) が表示されます。

シュリベミッター
すべて

SHLIBNOVERSIONSYMLINKS
指示します 共有ライブラリ ビルダーがバージョン管理された共有のシンボリックリンクを作成しないようにする
ライブラリ。

SHLIBプレフィックス
共有ライブラリのファイル名に使用されるプレフィックス。

_SHLIBSONAME
$TARGET に基づいて共有ライブラリの SONAME を自動的に生成するマクロ。
$SHLIBVERSION と $SHLIBSUFFIX。によって使われた 共有ライブラリ ビルダーの場合、リンカーツール
SONAME (gnulink など) をサポートします。

SHLIBSUFFIX
共有ライブラリのファイル名に使用されるサフィックス。

シュリブバージョン
この構築変数が定義されると、バージョン管理された共有ライブラリが次のように作成されます。
共有ライブラリ ビルダー。これにより、 $_SHLIBVERSIONFLAGS したがって、
$SHLINKCOM 必要に応じて、ライブラリ名にバージョン番号を追加し、
必要なシンボリックリンク。 $SHLIBVERSION バージョンは英数字で存在する必要があります。
正規表現「\w+[\.\w+]*」で定義された小数点区切りの値。例
$SHLIBVERSION 値には「1」、「1.2.3」、「1.2.gitaa412c8b」が含まれます。

_SHLIBVERSIONFLAGS
このマクロは、追加のフラグを自動的に導入します。 $SHLINKCOM バージョン対応のビルド時
共有ライブラリ (そのとき $SHLIBVERSION が設定されています)。 _SHLIBVERSIONFLAGS は通常、追加します
$SHLIBVERSIONFLAGS および追加の動的に生成されるオプション (
-Wl,-soname=$_SHLIBSONAME。 「プレーン」(バージョン管理されていない) 共有ライブラリでは使用されません。

SHLIB バージョンフラグ
追加のフラグが追加されました $SHLINKCOM バージョン対応のビルド時 共有ライブラリ。 これらのフラグは
の場合にのみ使用されます $SHLIBVERSION 設定されています。

シュリンク
共有ライブラリを使用するプログラムのリンカー。

シュリンクコム
共有ライブラリを使用してプログラムをリンクするために使用されるコマンド ライン。

シュリンクコムストラ
共有ライブラリを使用するプログラムをリンクする場合に表示される文字列。そうでない場合
設定してから $SHLINKCOM (コマンドライン) が表示されます。

env = 環境(SHLINKCOMSTR = "共有 $TARGET をリンク中")

シュリンクフラグ
共有ライブラリを使用するプログラムのリンカーに渡される一般的なユーザー オプション。注記
この変数は 含む -l とリンクするための (または同様の) オプション
にリストされているライブラリ $LIBS、または -L (または同様のもの) を無視する検索パス オプションが含まれています。
~から自動的に生成されます $LIBPATH。 見る $_LIBFLAGS 上の変数の場合、
ライブラリリンクオプションに拡張され、 $_LIBDIRFLAGS 上の変数の場合、
ライブラリ検索パスのオプションに展開されます。

SHOBJPプレフィックス
共有オブジェクトファイル名に使用されるプレフィックス。

SHOBJSUFFIX
共有オブジェクトファイル名に使用されるサフィックス。

そなめ
バージョン管理された共有ライブラリ/ロード可能モジュールの SONAME をハードコーディングするために使用される変数。

env.SharedLibrary('test', 'test.c', SHLIBVERSION='0.1.2', SONAME='libtest.so.2')

この変数は、たとえば gnulink リンカー ツールによって使用されます。

SOURCE
コンストラクション環境では設定または使用できない予約済みの変数名。
(下記の「変数置換」を参照してください。)

SOURCE_URL
プロジェクトの取得元の場所の URL (Web アドレス)。これは
Ipkg および RPM の制御情報の Source: フィールドに入力するために使用されます。
パッケージ。

SOURCES
コンストラクション環境では設定または使用できない予約済みの変数名。
(下記の「変数置換」を参照してください。)

スポーン
コマンドライン文字列を実行するために呼び出されるコマンドインタープリタ関数。
関数は次の引数を予期する必要があります。

def spawn(シェル、エスケープ、cmd、args、env):

sh 使用するシェル プログラムを指定する文字列です。 脱出 できる機能です
コマンドラインでシェルの特殊文字をエスケープするために呼び出されます。 CMD へのパスです
実行するコマンド。 引数 コマンドの引数です。 env の辞書です
コマンドを実行する環境変数。

STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME
この変数が true の場合、静的オブジェクトと共有オブジェクトは、
同じ;つまり、SCons は静的オブジェクトを共有ライブラリにリンクするかどうかをチェックしません。

SUBST_DICT
が使用する辞書は、 サブファイル or テキストファイル 置換値のビルダー。それ
dict() コンストラクターが受け入れられるものであれば何でもよいので、辞書に加えて、
タプルのリストも受け入れられます。

サブファイルプレフィックス
に使用されるプレフィックス サブファイル ファイル名、デフォルトでは NULL 文字列。

サブファイルサフィックス
に使用されるサフィックス サブファイル ファイル名、デフォルトでは NULL 文字列。

概要
プロジェクトの内容を簡単にまとめたもの。これは概要を記入するために使用されます。
Ipkg および RPM パッケージの制御情報のフィールド、および
説明: MSI パッケージのフィールド。

スイング
スクリプト言語ラッパーおよびインターフェイス ジェネレーター。

SWIGCFILESUFFIX
によって生成される中間 C ソース ファイルに使用されるサフィックス。
スクリプト言語ラッパーおよびインターフェイス ジェネレーター。デフォルト値は次のとおりです
_包む$CFILESUFFIX。デフォルトでは、この値は、 -c++ オプションがある
の一部として指定されています $スウィッグフラッグス 構築変数。

スウィグコム
スクリプト言語ラッパーおよびインターフェイス ジェネレーターを呼び出すために使用されるコマンド ライン。

SWIGCOMSTR
スクリプト言語ラッパーおよびインターフェースを呼び出すときに表示される文字列
発生器。これが設定されていない場合は、 $SWIGCOM (コマンドライン) が表示されます。

SWIGXXファイル接尾辞
によって生成される中間 C++ ソース ファイルに使用されるサフィックス。
スクリプト言語ラッパーおよびインターフェイス ジェネレーター。デフォルト値は次のとおりです
_包む$CFILESUFFIX。デフォルトでは、-c++ オプションが指定されている場合は常に、この値が使用されます。
の一部として指定されています $スウィッグフラッグス 構築変数。

SWIGDIRECTORサフィックス
によって生成される中間 C++ ヘッダー ファイルに使用されるサフィックス。
スクリプト言語ラッパーおよびインターフェイス ジェネレーター。これらは C++ 用にのみ生成されます
SWIG の「ディレクター」機能がオンになっている場合のコード。デフォルト値は _wrap.h です。

スウィグフラッグス
スクリプト言語ラッパーおよびインターフェイス ジェネレーターに渡される一般オプション。これ
設定する必要がある場所です -パイソン, -perl5, -tcl、またはその他の任意のオプション
SWIG に指定します。を設定すると、 -c++ この変数のオプションを指定すると、scons はデフォルトで次のようになります。
として指定された拡張子を持つ C++ 中間ソース ファイルを生成します。
$CXXFILESUFFIX 変数に保存します.

_SWIGINCFLAGS
SWIG コマンドラインを含む自動生成された構築変数
インクルードファイルを検索するディレクトリを指定するオプション。の値
$_SWIGINCFLAGS を追加することで作成されます $SWIGINCPREFIX$SWIGINCSUFFIX から
各ディレクトリの先頭と末尾 $SWIGPATH.

SWIGINCPREFIX
SWIG コマンド ラインでインクルード ディレクトリを指定するために使用されるプレフィックス。これは次のようになります
の各ディレクトリの先頭に追加されます。 $SWIGPATH 構築変数
$_SWIGINCFLAGS 変数が自動生成されます。

SWIGINSUFFIX
SWIG コマンド ラインでインクルード ディレクトリを指定するために使用されるサフィックス。これは次のようになります
の各ディレクトリの末尾に追加されます。 $SWIGPATH 構築変数の場合、
$_SWIGINCFLAGS 変数が自動生成されます。

SWIGOUTDIR
スクリプト言語ラッパーとインターフェースが保存される出力ディレクトリを指定します。
ジェネレーターは、生成された言語固有のファイルを配置する必要があります。これはSConsによって使用されます
swig 呼び出しによって生成され、
コマンドラインの swig -outdir オプション。

水路
スクリプト言語ラッパーとインターフェースが生成するディレクトリのリスト
含まれているファイルを検索します。 SWIG 暗黙的依存関係スキャナーはこれらを検索します。
インクルードファイルのディレクトリ。デフォルト値は空のリストです。

SWIGFLAGS にインクルード ディレクトリ引数を明示的に指定しないでください。結果は次のようになります
移植性がなく、ディレクトリは依存関係スキャナーによって検索されません。注記:
SWIGPATH 内のディレクトリ名は、SConscript ディレクトリを基準にして検索されます。
コマンドで使用される場合。 scons に相対ディレクトリを検索させるには、
ソースツリーのルートは #: を使用します。

env = 環境(SWIGPATH='#/include')

ディレクトリ検索は、次のコマンドを使用して強制することもできます。 あなた() 関数:

include = Dir('include')
env = 環境(SWIGPATH=include)

ディレクトリ リストは、自動生成されたコマンド ラインを通じてコマンド ラインに追加されます。
$_SWIGINCFLAGS 構築変数。次の値を追加することによって構築されます。
  $SWIGINCPREFIX$SWIGINCSUFFIX 構築変数を最初と最後まで
各ディレクトリの $SWIGPATH。 SWIGPATH を必要とする定義したコマンド ライン
ディレクトリリストに含める必要があります $_SWIGINCFLAGS:

env = 環境(SWIGCOM="my_swig -o $TARGET $_SWIGINCFLAGS $SOURCES")

スイグバージョン
SWIG ツールのバージョン番号。

TAR
tar アーカイバ。

タルコム
tar アーカイバを呼び出すために使用されるコマンド ライン。

ターコムスター
tar アーカイバーを使用してファイルをアーカイブするときに表示される文字列。これが設定されていない場合は、
その後 $TARCOM (コマンドライン) が表示されます。

env = 環境(TARCOMSTR = "$TARGET のアーカイブ")

タールフラグ
tar アーカイバに渡される一般オプション。

TARGET
コンストラクション環境では設定または使用できない予約済みの変数名。
(下記の「変数置換」を参照してください。)

TARGET_ARCH
これによって作成されるコンパイル済みオブジェクトのターゲット ハードウェア アーキテクチャの名前
環境。これはデフォルトで HOST_ARCH の値になり、ユーザーはこれを上書きできます。
現在は Win32 のみに設定されています。

Visual Studio コンパイラのターゲット アーキテクチャ (つまり、バイナリのアーキテクチャ) を設定します。
コンパイラによって生成されます)。設定されていない場合は、デフォルトで $HOST_ARCHまたは、それが設定されていない場合は、
実行中のマシンの OS のアーキテクチャに依存します (Python ビルドまたは
アーキテクチャは影響しません)。この変数は引数として渡す必要があります。
Environment() コンストラクター。後で設定しても効果はありません。これは現在のみ使用されています
Windows 上で使用されますが、将来的には他の OS でも使用される予定です。

Windows の有効な値は x86、i386 (32 ビットの場合) です。 amd64、emt64、x86_64 (64 の場合)
ビット);および ia64 (Itanium)。たとえば、64 ビット バイナリをコンパイルする場合は、
SCons 環境では TARGET_ARCH='x86_64' を設定します。

TARGET_OS
これによって作成されるコンパイル済みオブジェクトのターゲット オペレーティング システムの名前
環境。これはデフォルトで HOST_OS の値になり、ユーザーはこれを上書きできます。
現在は Win32 のみに設定されています。

ターゲット
コンストラクション環境では設定または使用できない予約済みの変数名。
(下記の「変数置換」を参照してください。)

タルサフィックス
tar ファイル名に使用されるサフィックス。

TEMPFILEプレフィックス
$MAXLINELENGTH より長い行を実行するために使用される一時ファイルのプレフィックス。の
デフォルトは「@」です。これは、「-@」などの他の値を使用するツールチェーンに設定される場合があります。
Diab コンパイラ、または ARM ツールチェーンの場合は「-via」。

TEX
TeX フォーマッタおよびタイプセッター。

テクコム
TeX フォーマッタとタイプセッターを呼び出すために使用されるコマンド ライン。

テクコムストラ
TeX フォーマッタおよびタイプセッタを呼び出すときに表示される文字列。そうでない場合
設定してから $TEXCOM (コマンドライン) が表示されます。

env = 環境(TEXCOMSTR = "TeX 入力 $SOURCES から $TARGET を構築")

テキストフラグ
TeX フォーマッタとタイプセッターに渡される一般オプション。

テキスト入力
LaTeX プログラムが検索するディレクトリのリストには、ディレクトリが含まれます。の
LaTeX 暗黙的依存関係スキャナーは、これらのディレクトリーで \include と
\インポートファイル。

テキストファイルプレフィックス
に使用されるプレフィックス テキストファイル ファイル名、デフォルトでは NULL 文字列。

テキストファイルの接尾辞
に使用されるサフィックス テキストファイル ファイル名。デフォルトでは.txt。

ツール
この構造の一部であるツール仕様の名前のリスト
環境。

UNCHANGED_SOURCES
コンストラクション環境では設定または使用できない予約済みの変数名。
(下記の「変数置換」を参照してください。)

UNCHANGED_TARGETS
コンストラクション環境では設定または使用できない予約済みの変数名。
(下記の「変数置換」を参照してください。)

VENDOR
パッケージ化されたソフトウェアを提供する個人または組織。これは記入するために使用されます
RPM パッケージの制御情報の Vendor: フィールド、および
メーカー: MSI パッケージの管理情報のフィールド。

VERSION
プロジェクトのバージョン。文字列として指定します。

WIN32_INSERT_DEF
非推奨の同義語 $WINDOWS_INSERT_DEF.

WIN32DEFプレフィックス
非推奨の同義語 $WINDOWSDEFPREFIX.

WIN32DEFSUFFIX
非推奨の同義語 $WINDOWSDEFSUFFIX.

WIN32EXPPREFIX
非推奨の同義語 $WINDOWSEXPSUFFIX.

WIN32EXPサフィックス
非推奨の同義語 $WINDOWSEXPSUFFIX.

WINDOWS_EMBED_MANIFEST
コンパイラが生成したマニフェストを埋め込むには、この変数を True または 1 に設定します (通常は
${TARGET}.manifest) を、この環境で構築されたすべての Windows EXE および DLL に、
リンクステップ中にリソースを削除します。これは次を使用して行われます $MT$MTEXECOM$MTSHLIBCOM.

WINDOWS_INSERT_DEF
これを true に設定すると、Windows 共有ライブラリ (.dll ファイル) のライブラリ ビルドが行われます。
.def ファイルがまだ構築されていない場合は、対応する .def ファイルも同時に構築します。
ビルドターゲットとしてリストされています。デフォルトは 0 (.def ファイルを構築しません) です。

WINDOWS_INSERT_MANIFEST
これを true に設定すると、scons は、によって生成された .manifest ファイルを認識します。
Microsoft Visual C/C++ 8.

WINDOWSDEFPREFIX
Windows の .def ファイル名に使用されるプレフィックス。

WINDOWSDEFSUFFIX
Windows の .def ファイル名に使用される接尾辞。

WINDOWSEXPPREFIX
Windows の .exp ファイル名に使用されるプレフィックス。

WINDOWSPSFIX
Windows の .exp ファイル名に使用される接尾辞。

WINDOWSPROGMANIFESTPREFIX
Microsoft Visual によって生成される実行可能プログラムの .manifest ファイルに使用されるプレフィックス
C/C++。

WINDOWSPROGMANIFESTSUFFIX
Microsoft Visual によって生成された実行可能プログラム .manifest ファイルに使用されるサフィックス
C/C++。

WINDOWSSHLIBMANIFESTPREFIX
Microsoft Visual によって生成される共有ライブラリの .manifest ファイルに使用されるプレフィックス
C/C++。

WINDOWSSHLIBMANIFESTSUFFIX
Microsoft Visual によって生成される共有ライブラリの .manifest ファイルに使用されるサフィックス
C/C++。

X_IPK_DEPENDS
これは、Ipkg の制御情報の depends: フィールドに記入するために使用されます。
パッケージ。

X_IPK_DESCRIPTION
これは、Ipkg の制御情報の説明: フィールドに記入するために使用されます。
パッケージ。デフォルト値は $SUMMARY\n$DESCRIPTION です

X_IPK_MAINTAINER
これは、Ipkg の制御情報の Maintainer: フィールドに入力するために使用されます。
パッケージ。

X_IPK_PRIORITY
これは、Ipkg の制御情報の [Priority:] フィールドに入力するために使用されます。
パッケージ。

X_IPK_SECTION
これは、Ipkg の制御情報のセクション: フィールドに記入するために使用されます。
パッケージ。

X_MSI_LANGUAGE
これは、MSI の制御情報の Language: 属性を埋めるために使用されます。
パッケージ。

X_MSI_LICENSE_TEXT
RTF 形式のソフトウェア ライセンスのテキスト。キャリッジリターン文字は次のようになります。
同等の RTF \\par に置き換えられます。

X_MSI_UPGRADE_CODE
すべて

X_RPM_AUTOREQPROV
これは、RPM .spec ファイルの AutoReqProv: フィールドに入力するために使用されます。

X_RPM_BUILD
内部だがオーバーライド可能

X_RPM_BUILDREQUIRES
これは、RPM .spec ファイルの BuildRequires: フィールドに値を入力するために使用されます。

X_RPM_BUILDROOT
内部だがオーバーライド可能

X_RPM_CLEAN
内部だがオーバーライド可能

X_RPM_CONFLICTS
これは、RPM .spec ファイルの Conflicts: フィールドに入力するために使用されます。

X_RPM_DEFATTR
この値は、RPM パッケージ内のファイルのデフォルト属性として使用されます。の
デフォルト値は (-,root,root) です。

X_RPM_DISTRIBUTION
これは、RPM .spec ファイルの Distribution: フィールドに入力するために使用されます。

X_RPM_EPOCH
これは、RPM の制御情報の Epoch: フィールドに記入するために使用されます。
パッケージ。

X_RPM_EXCLUDEARCH
これは、RPM .spec ファイルの ExcludeArch: フィールドに値を入力するために使用されます。

X_RPM_EXLUSIVEARCH
これは、RPM .spec ファイルの ExclusiveArch: フィールドに値を入力するために使用されます。

X_RPM_GROUP
これは、RPM .spec ファイルの Group: フィールドに入力するために使用されます。

X_RPM_GROUP_lang
これは、RPM .spec ファイルの Group(lang): フィールドに値を入力するために使用されます。ご了承ください 長い
はリテラルではないため、適切な言語コードに置き換える必要があります。

X_RPM_ICON
これは、RPM .spec ファイルの Icon: フィールドに入力するために使用されます。

X_RPM_INSTALL
内部だがオーバーライド可能

X_RPM_PACKAGER
これは、RPM .spec ファイルの Packager: フィールドに入力するために使用されます。

X_RPM_POSTINSTALL
これは、RPM .spec ファイルの %post: セクションに記入するために使用されます。

X_RPM_POSTUNINSTALL
これは、RPM .spec ファイルの %postun: セクションに記入するために使用されます。

X_RPM_PREFIX
これは、RPM .spec ファイルの Prefix: フィールドに入力するために使用されます。

X_RPM_PREINSTALL
これは、RPM .spec ファイルの %pre: セクションに記入するために使用されます。

X_RPM_PREP
内部だがオーバーライド可能

X_RPM_PREUNINSTALL
これは、RPM .spec ファイルの %preun: セクションに記入するために使用されます。

X_RPM_PROVIDES
これは、RPM .spec ファイルの Provides: フィールドに入力するために使用されます。

X_RPM_REQUIRES
これは、RPM .spec ファイルの Requires: フィールドに入力するために使用されます。

X_RPM_SERIAL
これは、RPM .spec ファイルの Serial: フィールドに入力するために使用されます。

X_RPM_URL
これは、RPM .spec ファイルの Url: フィールドに入力するために使用されます。

XGETTEXT
への道 xgettext(1) プログラム(経由で見つかりました) 検出する())。 xgettext ツールを参照してください。 POTアップデート
ビルダー。

XGETTEXTCOM
xgettext コマンド ラインを完了します。 xgettext ツールを参照してください。 POTアップデート ビルダー。

XGETTEXTCOMSTR
場合に表示される文字列 xgettext(1) コマンドが呼び出されます (デフォルト: ''、つまり
「印刷する $XGETTEXTCOM")。xgettext ツールと POTアップデート ビルダー。

_XGETTEXTDOMAIN
内部「マクロ」。生成します xgettext ソースとターゲットからのドメイン名 (デフォルト:
'${TARGET.filebase}')。

XGETTEXTFLAGS
追加のフラグ xgettext(1)。 xgettext ツールを参照してください。 POTアップデート ビルダー。

XGETTEXTFROM
のリストを含むファイルの名前 xgettext(1)のソースファイル。 Autotools のユーザーはこれを知っています
POTFILES.in として保存されるため、ほとんどの場合、ここで XGETTEXTFROM="POTFILES.in" が設定されます。の
$XGETTEXTFROM ファイルの構文とセマンティクスは、よく知られている GNU POTFILES.in と同じです。
xgettext ツールを参照してください。 POTアップデート ビルダー。

_XGETTEXTFROMFLAGS
内部「マクロ」。 -D のリストを生成しますからのフラグ $XGETTEXTPATH リスト。

XGETTEXTFROMPREFIX
このフラグは単一の追加に使用されます $XGETTEXTFROM ファイルへ xgettext(1)のコマンドライン
(デフォルト: '-f')。

XGETTEXTFROMSUFFIX
(ディフォルト: '')

XGETTEXTPATH
ディレクトリのリスト、そこにあります xgettext(1) ソース ファイルを検索します (デフォルト: [])。

注意
この変数は、次のものと一緒にのみ機能します。 $XGETTEXTFROM
xgettext ツールおよび POTアップデート ビルダー。

_XGETTEXTPATHFLAGS
内部「マクロ」。 -f のリストを生成しますからのフラグ $XGETTEXTFROM.

XGETTEXTPATHPREFIX
このフラグは、単一の検索パスを追加するために使用されます。 xgettext(1)のコマンドライン (デフォルト:
'-D')。

XGETTEXTPATHSUFFIX
(ディフォルト: '')

YACC
パーサージェネレーター。

ヤッコム
パーサー ジェネレーターを呼び出してソース ファイルを生成するために使用されるコマンド ライン。

ヤッコンストラ
パーサージェネレーターを使用してソースファイルを生成するときに表示される文字列。これなら
が設定されていない場合 $YACCCOM (コマンドライン) が表示されます。

env = 環境(YACCCOMSTR = "$SOURCESから$TARGETをYacc'ing")

ヤックフラッグス
パーサージェネレーターに渡される一般オプション。もし $YACCFLAGS 〜を含む -d オプション、
SCons は、呼び出しによって .h ファイルも作成されると想定します (yacc ソース ファイルが終了した場合)
.y 接尾辞で終わる) または .hpp ファイル (yacc ソース ファイルが .yy 接尾辞で終わる場合)

YACCFILEサフィックス
パーサー ジェネレーターによって生成される C ヘッダー ファイルのサフィックス。 -d オプション
使用されている。この変数を設定しても、パーサー ジェネレーターは
指定されたサフィックスを持つヘッダー ファイルを生成します。このファイルは、指定できるようにするために存在します。
パーサージェネレーターが独自に使用する接尾辞。デフォルト値は .h です。

YACCHXXファイルサフィックス
パーサー ジェネレーターによって生成される C++ ヘッダー ファイルのサフィックス。 -d オプション
使用されている。この変数を設定しても、パーサー ジェネレーターは
指定されたサフィックスを持つヘッダー ファイルを生成します。このファイルは、指定できるようにするために存在します。
パーサージェネレーターが独自に使用する接尾辞。デフォルト値は次のとおりです
.hpp (デフォルトは ${TARGET.suffix}.h である Mac OS X を除く)。なぜならデフォルトだから
bison パーサー ジェネレーターは、生成された C++ ファイルの名前に .h を追加するだけです。

YACCVCGFILESUFFIX
VCG 文法オートマトン定義を含むファイルのサフィックス。
--グラフ= オプションが使用されます。この変数を設定してもパーサーは実行されないことに注意してください。
指定されたサフィックスを持つ VCG ファイルを生成するジェネレーターは、次のことを可能にするために存在します。
パーサージェネレーターが独自に使用する接尾辞を指定します。デフォルト値
.vcgです。

ZIP
zip 圧縮およびファイルのパッケージ化ユーティリティ。

ジップコム
zip ユーティリティを呼び出すために使用されるコマンド ライン、または次の目的で使用される内部 Python 関数
zip アーカイブを作成します。

ジップ圧縮
この 内部 Python で使用される Python zipfile モジュールのフラグ
zip アーカイブを圧縮するかどうかを制御する関数。デフォルト値は次のとおりです
zipfile.ZIP_DEFLATED、圧縮された zip アーカイブを作成します。この値は効果がありません
zipfile モジュールが利用できない場合。

ジップコムストラ
zip ユーティリティを使用してファイルをアーカイブするときに表示される文字列。これが設定されていない場合は、
その後 $ZIPCOM (コマンドラインまたは内部Python関数)が表示されます。

env = 環境(ZIPCOMSTR = "$TARGETの圧縮")

ジップフラッグ
zip ユーティリティに渡される一般オプション。

ジップルート
オプションの zip ルート ディレクトリ (デフォルトは空)。 zip ファイルに保存されているファイル名
指定されている場合、このディレクトリに相対します。それ以外の場合、ファイル名は相対的なものになります。
コマンドの現在のディレクトリ。例えば:

env = 環境()
env.Zip('foo.zip', 'subdir1/subdir2/file1', ZIPROOT='subdir1')

代わりに、subdir2/file1 という名前のファイルを含む zip ファイル foo.zip が生成されます。
subdir1/subdir2/file1 よりも。

ZIPSUFFIX
zip ファイル名に使用されるサフィックス。

構築変数は、 辞書 の方法
建設環境:

dict = env.Dictionary()
dict["CC"] = "cc"

または [] 演算子を使用します。

env["CC"] = "CC"

コンストラクション変数は、コンストラクション環境コンストラクターに渡すこともできます。

env = 環境(CC="cc")

または、 クローン 方法:

env2 = env.Clone(CC="cl.exe")

構成 コンテキスト
軽蔑的 サポート configure コンテキスト、 さまざまな AC_CHECK と同様の統合メカニズム
C ヘッダー ファイル、ライブラリなどの存在をテストするための GNU autoconf のマクロ。
autoconf とは対照的に、 軽蔑的 テストされた値の明示的なキャッシュは保持されないが、
は、通常の依存関係追跡を使用して、チェックされた値を最新の状態に保ちます。ただし、ユーザーは、
この動作は、 --config コマンドラインオプション。

次のメソッドを使用してチェックを実行できます。

構成、設定(env、[カスタムテスト, conf_dir, ログファイル, config_h, , ヘルプ]),
env.Configure([カスタムテスト, conf_dir, ログファイル, config_h, , ヘルプ])
これにより、チェックを実行するために使用できる構成コンテキストが作成されます。 env 指定する
テストを構築するための環境。この環境は次の場合に変更される可能性があります
チェックを実行しています。 カスタムテスト カスタム テストを含む辞書です。も参照してください。
以下のカスタム テストに関するセクションを参照してください。デフォルトでは、カスタム テストは
コンテキストを設定します。 conf_dir テスト ケースがビルドされるディレクトリを指定します。
このディレクトリは通常のターゲットの構築には使用されないことに注意してください。デフォルト値は次のとおりです
ディレクトリ #/.sconf_temp。 ログファイル からの出力を収集するファイルを指定します
ヘッダー ファイルやライブラリなどの存在を確認するために実行されるコマンド。
デフォルトはファイル #/config.log です。を使用している場合は、 バリアントディレクトリ() メソッド、あなた
バリアント ディレクトリの下のサブディレクトリを指定することもできます。 config_h を指定します
テストの結果が書き込まれる C ヘッダー ファイル (例: #define HAVE_STDIO_H)
#define HAVE_LIBM など。デフォルトでは、 config.h ファイル。指定できます
同じ config.h Configure への複数の呼び出しでファイルを作成する場合、 軽蔑的 意志
指定されたファイル内のすべての結果を連結します。 SCons は通常の値を使用することに注意してください。
依存関係をチェックして、指定されたファイルを再構築する必要があるかどうかを判断します。 config_h
ファイル。これは、scons を実行するたびにファイルが必ずしも再構築されるわけではないことを意味しますが、
内容が変更され、ターゲットが依存する場合にのみ再構築されます。
config_h ファイルが構築されています。

オプション 助けます 引数を使用して、
構成テストは次の場合に行われます。 -c/--クリーン or -H/-h/--ヘルプ オプションが使用され、
それぞれ。デフォルトの動作では、常にコンフィグレーション コンテキスト テストが実行されます。
テストの結果は、クリーンアップするターゲットのリストやヘルプに影響を与える可能性があります。
文章。構成テストがこれらに影響しない場合は、 クリーン=False or
ヘルプ=False 引数 (または両方) を使用して、不必要なテストの実行を回避します。

作成された 構成 インスタンスには次の関連メソッドがあります。

SConf.Finish(コンテキスト), sconf。仕上げる()
このメソッドは、構成が完了した後に呼び出す必要があります。環境を返します
実行された構成チェックによって変更されたとおりです。このメソッドが呼び出された後は、いいえ
この構成コンテキストを使用してさらに検査を実行できます。ただし、次のことができます。
新しい構成コンテキストを作成して、追加のチェックを実行します。コンテキストは 1 つだけにしてください
一度にアクティブになる。

次のチェックが事前に定義されています。 (このリストは時間の経過とともに大きくなる可能性があります
と開発者が新しい有用なテストを提供します。)

SConf.CheckHeader(コンテキスト, ヘッダ、[include_quotes, 言語]))、 sconf.CheckHeader(ヘッダ,
[include_quotes, 言語])
かどうかを確認します ヘッダ 指定された言語で使用できます。 ヘッダ リストにすることもできます。
この場合、リストの最後の項目がチェック対象のヘッダー ファイルであり、前のリストが
項目はヘッダー ファイルです。 #include 行はヘッダー行の前にある必要があります
をチェックしました。オプションの引数 include_quotes 2 文字の文字列である必要があります。
ここで、最初の文字は開始引用符を示し、2 番目の文字は
最後の引用文。デフォルトでは、両方の文字は " (二重引用符) です。
引数 言語 どちらかである必要があります C or C + + 使用するコンパイラを選択します
小切手。成功した場合は 1 を返し、失敗した場合は 0 を返します。

SConf.CheckCHeader(コンテキスト, ヘッダ、[include_quotes]))、 sconf.CheckCHeader(ヘッダ,
[include_quotes])
これはラッパーアラウンドです SConf.CheckHeader かどうかをチェックします ヘッダ Cで使えます
言語。 ヘッダ リストの場合もあります。この場合、リストの最後の項目がヘッダーになります。
チェックされるファイルであり、前のリスト項目はヘッダー ファイルです。 #include ライン
チェックされるヘッダー行の前に置く必要があります。オプションの引数 include_quotes
2 文字の文字列である必要があり、最初の文字は開始引用符を示します
34 番目の文字は閉じ引用符を表します (どちらもデフォルトは \N'1' です)。 XNUMX を返します
成功した場合は 0、失敗した場合は XNUMX。

SConf.CheckCXXHeader(コンテキスト, ヘッダ、[include_quotes]))、 sconf.CheckCXXHeader(ヘッダ,
[include_quotes])
これはラッパーアラウンドです SConf.CheckHeader かどうかをチェックします ヘッダ C++で使える
言語。 ヘッダ リストの場合もあります。この場合、リストの最後の項目がヘッダーになります。
チェックされるファイルであり、前のリスト項目はヘッダー ファイルです。 #include ライン
チェックされるヘッダー行の前に置く必要があります。オプションの引数 include_quotes
2 文字の文字列である必要があり、最初の文字は開始引用符を示します
34 番目の文字は閉じ引用符を表します (どちらもデフォルトは \N'1' です)。 XNUMX を返します
成功した場合は 0、失敗した場合は XNUMX。

SConf.CheckFunc(環境、, 関数名、[ヘッダ, 言語]))、
sconf.CheckFunc(関数名、[ヘッダ, 言語])
指定された C または C++ 関数が使用可能かどうかを確認します。 関数名 の名前です
チェックする関数。オプションの ヘッダ 引数は文字列です。
関数が機能するかどうかをチェックするためにコンパイルされるテスト ファイルの先頭に配置されます。
存在します。デフォルトは次のとおりです。

#ifdef __cplusplus
外部「C」
#endif
char 関数名();

オプション 言語 引数は次のようにする必要があります C or C + + 使用するコンパイラを選択します
小切手のため。デフォルトは「C」です。

SConf.CheckLib(コンテキスト、[ライブラリ, シンボル, ヘッダ, 言語, 自動追加=1]))、
sconf.CheckLib([ライブラリ, シンボル, ヘッダ, 言語, 自動追加=1])
かどうかを確認します ライブラリ は、大阪で シンボル。 の値 自動追加 は 1 であり、ライブラリです
指定されたものを提供します シンボル、ライブラリを LIBS 構造に追加します
環境変数。 ライブラリ None (デフォルト) にすることもできます。その場合は、 シンボル is
現在の LIBS 変数、またはライブラリ名のリストでチェックされます。この場合、それぞれ
リスト内のライブラリがチェックされます シンボル。 場合 シンボル 設定されていないか、または なしをタップし、その後、
SConf.CheckLib() は、指定されたものに対してリンクできるかどうかを確認するだけです ライブラリを選択します。
任意 言語 引数は次のようにする必要があります C or C + + 使用するコンパイラを選択します
小切手。デフォルトは「C」です。のデフォルト値 自動追加 は 1 です。このメソッドは次の値を返します。
成功の場合は 1、エラーの場合は 0。

SConf.CheckLibWithHeader(コンテキスト, ライブラリ, ヘッダ, 言語、[コール, 自動追加]))、
sconf.CheckLibWithHeader(ライブラリ, ヘッダ, 言語、[コール, 自動追加])
SConf.CheckLib 呼び出しとは対照的に、この呼び出しは、より洗練された方法を提供します。
ライブラリと照合してください。また、 ライブラリ ライブラリまたはライブラリのリストを指定します
チェックする。 ヘッダ チェックするヘッダーを指定します。 ヘッダ リストにすることもできます。
この場合、リストの最後の項目がチェック対象のヘッダー ファイルであり、前のリストが
項目はヘッダー ファイルです。 #include 行はヘッダー行の前にある必要があります
をチェックしました。 言語 'C'、'c'、'CXX'、'cxx'、'C++'、'c++' のいずれかになります。 コール することができます
任意の有効な式 (末尾に「;」を付ける)。もし コール 設定されていないため、デフォルトのままです
指定されたものに対してリンクできるかどうかをチェックします ライブラリ. 自動追加 するかどうかを指定します
ライブラリを環境に追加します (チェックが成功した場合のみ)。このメソッドは 1 を返します
成功の場合は 0、エラーの場合は XNUMX。

SConf.CheckType(コンテキスト, タイプ名、[含ま, 言語]))、 sconf.CheckType(タイプ名,
[含ま, 言語])
によって定義された型の存在を確認します。 typedef. タイプ名 を指定します
チェックする typedef 名。 含ま 1 つ以上を含む文字列です #include ライン
の存在をテストするために実行されるプログラムに挿入されます。
タイプ。オプションの 言語 引数は次のようにする必要があります C or C + + そしてコンパイラを選択します
小切手に使用されます。デフォルトは「C」です。例:

sconf.CheckType('foo_type', '#include "my_types.h"', 'C++')

Configure.CheckCC(自己)
C コンパイラ (CC 構築変数で定義されたもの) が動作するかどうかを次のようにチェックします。
小さなソースファイルをコンパイルしようとしています。

デフォルトでは、SCons は正しい名前のプログラムがあるかどうかのみを検出します。
機能するコンパイラです。

これは、C ソースのオブジェクト ビルダーで使用されるコマンドとまったく同じコマンドを使用します。
ファイルに含まれるため、特定のコンパイラ フラグが機能するかどうかを検出するために使用できます。

Configure.CheckCXX(自己)
C++ コンパイラ (CXX 構築変数で定義) が動作するかどうかを次のようにチェックします。
小さなソースファイルをコンパイルしようとしています。デフォルトでは、SCons は、
コンパイラが機能しているかどうかではなく、正しい名前のプログラムを使用してください。

これは、CXX のオブジェクト ビルダーで使用されるコマンドとまったく同じコマンドを使用します。
ソース ファイルに保存されるため、特定のコンパイラ フラグが機能するかどうかを検出するために使用できます。

Configure.CheckSHCC(自己)
C コンパイラ (SHCC 構築変数で定義されたとおり) が動作するかどうかを次のようにチェックします。
小さなソースファイルをコンパイルしようとしています。デフォルトでは、SCons は、
コンパイラが機能しているかどうかではなく、正しい名前のプログラムを使用してください。

これは、C ソースのオブジェクト ビルダーで使用されるコマンドとまったく同じコマンドを使用します。
ファイルに含まれるため、特定のコンパイラ フラグが機能するかどうかを検出するために使用できます。これ
オブジェクト コードを使用して共有ライブラリを構築できるかどうかはチェックしません。
コンパイル (リンクではなく) が成功することを確認します。

Configure.CheckSHCXX(自己)
C++ コンパイラ (SHCXX 構築変数で定義) が動作するかどうかを確認します。
小さなソースファイルをコンパイルしようとすることによって。デフォルトでは、SCons は、
コンパイラが機能しているかどうかではなく、正しい名前のプログラムを使用してください。

これは、CXX のオブジェクト ビルダーで使用されるコマンドとまったく同じコマンドを使用します。
ソース ファイルに保存されるため、特定のコンパイラ フラグが機能するかどうかを検出するために使用できます。
これは、オブジェクト コードを使用して共有ライブラリを構築できるかどうかをチェックしません。
コンパイル (リンクではなく) が成功するだけです。

典型的な Configure の使用例:

env = 環境()
conf = 構成( env )
そうでない場合 conf.CheckCHeader( 'math.h' ):
print '本当に math.h が必要です!'
出口(1)
if conf.CheckLibWithHeader( 'qt', 'qapp.h', 'c++',
'QApplication qapp(0,0);' ):
# qt の処理を​​行う - 使用法など
conf.env.Append( CPPFLAGS = '-DWITH_QT' )
env = conf.Finish()

SConf.CheckTypeSize(コンテキスト, タイプ名、[ヘッダ, 言語, 期待する]))、
sconf.CheckTypeSize(タイプ名、[ヘッダ, 言語, 期待する])
で定義された型のサイズをチェックします。 typedef. タイプ名 typedefを指定します
確認する名前。オプションの ヘッダ 引数は、
関数が存在するかどうかを確認するためにコンパイルされるテスト ファイルの先頭。の
デフォルトは空です。オプションの 言語 引数は次のようにする必要があります C or C + + を選択し、
チェックに使用されるコンパイラ。デフォルトは「C」です。オプションの 期待する 引数
整数である必要があります。この引数が使用される場合、関数は次のことのみをチェックします。
type_name で指定された型には、予想されるサイズ (バイト単位) があります。例えば、
CheckTypeSize('短い', 期待する = 2) short が 2 バイトの場合にのみ成功を返します。

SConf.CheckDeclaration(コンテキスト, シンボル、[含ま, 言語]))、
sconf.CheckDeclaration(シンボル、[含ま, 言語])
指定されたかどうかを確認します シンボル と宣言されています。 含ま 1 つまたは
他には? #include テストのために実行されるプログラムに挿入される行
型の存在について。オプションの 言語 引数は次のようにする必要があります C or C + +
チェックに使用するコンパイラを選択します。デフォルトは「C」です。

SConf.Define(コンテキスト, シンボル、[, コメント]))、 sconf。定義する(シンボル、[, コメント])
この関数は何もチェックしませんが、プリプロセッサ シンボルを定義します。
構成ヘッダー ファイルに追加されます。これは AC_DEFINE と同等であり、
シンボルを定義します オプションで そしてオプションのコメント コメント.

例:

env = 環境()
conf = 構成( env )

# 構成ヘッダー ファイルに次の行を追加します。
# #A_SYMBOL を定義
conf.Define('A_SYMBOL')

# 構成ヘッダー ファイルに次の行を追加します。
# #A_SYMBOL 1 を定義
conf.Define('A_SYMBOL', 1)

ただし、文字列値を引用符で囲む場合には注意してください。

env = 環境()
conf = 構成( env )

# 構成ヘッダー ファイルに次の行を追加します。
# #A_SYMBOL YA を定義
conf.Define('A_SYMBOL', "YA")

# 構成ヘッダー ファイルに次の行を追加します。
# #A_SYMBOL "YA" を定義します
conf.Define('A_SYMBOL', '"YA"')

コメント:

env = 環境()
conf = 構成( env )

# 次の行を構成ヘッダー ファイルに追加します。
# /* シンボルがある場合は 1 に設定 */
# #A_SYMBOL 1 を定義
conf.Define('A_SYMBOL', 1, 'シンボルがある場合は1に設定します')

定義済みのチェックに加えて、独自のカスタムチェックを定義することもできます。これらは
辞書を渡してConfigure関数に渡します。この辞書は、
ユーザ定義のPython呼び出し可能オブジェクト(Python関数またはクラスインスタンス)をチェックする
の実装 __コール__ メソッド)。呼び出しの最初の引数は常に チェックコンテキスト
インスタンスの後にチェックのユーザーが指定する必要がある引数が続きます。
CheckContext インスタンスは次のメソッドを定義します。

CheckContext.Message(自己, 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. )
通常、チェックが開始される前に呼び出されます。 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. ユーザーに表示されます。例:
「ライブラリ X を確認しています...」

チェックコンテキスト.結果(自己、, 解像度)
通常はチェックが完了した後に呼び出されます。 解像度 整数または文字列のいずれかになります。
前者の場合、「はい」(res != 0)または「いいえ」(res == 0)がユーザーに表示されます。
後者の場合、指定された文字列が表示されます。

CheckContext.TryCompile() を実行します。自己, 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. , )
指定されたファイルが存在するかどうかを確認します (例:'.c')を含む 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. することができます
環境の オブジェクト ビルダー。成功した場合は1を返し、失敗した場合は0を返します。
失敗。

CheckContext.TryLink()自己, 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. , )
指定されたファイルが存在するかどうかを確認します (例:'.c')を含む 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. することができます
環境の 演奏曲目 ビルダー。成功した場合は1を返し、失敗した場合は0を返します。
失敗。

CheckContext.TryRun() を実行します。自己, 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. , )
指定されたファイルが存在するかどうかを確認します (例:'.c')を含む 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. することができます
環境の 演奏曲目 ビルダー。成功するとプログラムが実行されます。
プログラムが正常に実行されると(つまり、戻り値が0)、タプル (1、
出力文字列 が返されます。 出力文字列 プログラムの標準出力です。
プログラムの実行が失敗した場合(戻りステータスがゼロ以外)、(0, '') が返されます。

CheckContext.TryAction() を実行します。自己, アクション、[클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. , ])
指定されたかどうかを確認します アクション オプションのソースファイル(コンテンツ 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. 、 拡大
= '' ) を実行できます。 アクション に変換できるものなら何でも構いません
軽蔑的 アクション。成功したら、 (1、 出力文字列 が返されます。 出力文字列 内容は
ターゲットファイルの。失敗した場合 (0、 '') 返されます。

CheckContext.TryBuild() を実行します。自己, ビルダー、[클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. , ])
特定のビルドをテストするための低レベルの実装。上記の方法は以下に基づいています。
このメソッド。Builderインスタンスが与えられた場合 ビルダー およびオプション 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. ソースファイルの
オプション付き このメソッドは成功した場合は1を返し、失敗した場合は0を返します。
添加、 自己.lastTarget ビルドが行われた場合には、ビルドターゲットノードに設定されます。
成功しました。

カスタム テストの実装と使用の例:

CheckQt(コンテキスト、qtdir):
context.Message( 'qt を確認しています...' )
lastLIBS = context.env['LIBS']
lastLIBPATH = context.env['LIBPATH']
lastCPPPATH= context.env['CPPPATH']
context.env.Append(LIBS = 'qt'、LIBPATH = qtdir + '/ lib', CPPPATH = qtdir + '/include' )
ret = context.TryLink("""
#含む
int main(int argc, char **argv) {
QApplication qapp(argc, argv);
0リターン;
}
""")
そうでない場合はret:
context.env.Replace(LIBS = lastLIBS、LIBPATH = lastLIBPATH、CPPPATH = lastCPPPATH)
コンテキスト.結果( ret )
リターン ret

env = 環境()
conf = 設定( env, custom_tests = { 'CheckQt' : CheckQt } )
conf.CheckQt('/usr/lib/qt') でない場合は:
「qt は本当に必要です!」と印刷します。
出口(1)
env = conf.Finish()

コマンドライン 建設業 Variables
ソフトウェアを構築する場合、ビルド時にいくつかの変数を指定する必要があります。たとえば、
ビルドに必要なライブラリが標準以外の場所にある場合や、サイト固有のコンパイラーである場合があります。
オプションをコンパイラに渡す必要がある場合があります。 軽蔑的 提供 Variables 反対する
コマンドラインでの構築変数のオーバーライドをサポートします:

$ scons 変数 = foo

変数の値はテキストベースのSConscriptファイルで指定することもできます。
Variables オブジェクトの場合は、Variables() 関数を呼び出します。

変数([ファイル]、[引数])
これは、ファイルから構築変数を読み込むVariablesオブジェクトを作成します。
指定されたファイル名のリスト ファイルファイルが指定されていない場合、または ファイル 引数
is なしの場合、ファイルは読み込まれません。オプションの引数 引数 の辞書です
指定されたファイルから読み込まれたものを上書きする値。主に
通過する予定 議論 指定された変数を保持する辞書
コマンドライン。例:

vars = 変数('custom.py')
vars = 変数('overrides.py', 引数)
vars = 変数(なし、{FOO:'expansion'、BAR:7})

変数オブジェクトには次のメソッドがあります。

追加(キー、[助けます, デフォルト, バリ, コンバータ])
これにより、カスタマイズ可能な構築変数が Variables オブジェクトに追加されます。 キー
変数の名前。 助けます 変数のヘルプテキストです。 デフォルト デフォルトです
変数の値。デフォルト値が なし 明確な価値はない
指定すると、構築変数は 建設に追加される
環境。 バリ 変数の値を検証するために呼び出され、
キー、値、環境の3つの引数を取ります。
無効な値を指定すると例外が発生します (以下の例を参照)。 コンバータ に呼び出されます
値を環境に入れる前に変換し、
値、または値と環境をパラメータとして指定します。 コンバータ 値を返す必要があります。
これは検証される前に文字列に変換されます バリ (もしあれば)
そして環境に追加されます。

例:

vars.Add('CC', 'Cコンパイラ')

defvalidate_color(キー、値、環境変数):
['red', 'blue', 'yellow'] に該当しない場合:
例外が発生します("無効な色の値 '%s'" % val)
vars.Add('COLOR', バリデーター=valid_color)

変数の追加(リスト)
複数のカスタマイズ可能な構築変数を変数に追加するラッパースクリプト
オブジェクト。 リスト は、引数を含むタプルまたはリストオブジェクトのリストです。
個別の電話 Add 方法。

opt.AddVariables() 関数は、
('デバッグ', '', 0),
(「CC」、「Cコンパイラ」)
('VALIDATE'、'検証をテストするためのオプション'、
'notset'、バリデータ、なし)、
)

アップデート(env、[引数])
これにより建設環境が更新されます env カスタマイズされた構造
変数。指定された変数は 変数オブジェクト用に設定された
保存され、 不明な変数() メソッドについては以下を参照してください。

通常、このメソッドは直接呼び出されるのではなく、
Environment() 関数への変数オブジェクト:

env = 環境(変数=vars)

変数オブジェクトの作成時に指定されたテキストファイルは、次のように実行されます。
Pythonスクリプト、およびファイルに設定された(グローバル)Python変数の値が
建設環境。

例:

CC = 'my_cc'

不明な変数()
ファイル内で指定された変数を含む辞書を返します。
または、Variablesオブジェクトが初期化された辞書ですが、
変数オブジェクトが構成されていません。

env = 環境(変数=vars)
vars.UnknownVariables() のキー、値:
「不明な変数: %s=%s」% (キー、値) を出力します

保存(ファイル名, env)
これにより、現在設定されている変数が、 ファイル名 それはすることができます
次回の呼び出し時に現在の設定を自動的に読み込むために使用されます。このメソッド
変数メソッドと組み合わせて使用​​することで、
走る

env = 環境()
vars = 変数(['variables.cache', 'custom.py'])
vars.Add(...)
vars.Update(env)
vars.Save('variables.cache', env)

ヘルプテキストを生成する(env、[sort])
これにより、カスタマイズ可能な構築変数を文書化したヘルプテキストが生成されます。
Help() 関数に渡します。 env 建設環境は
カスタマイズ可能な変数の実際の値を取得するために使用できます。オプションの
sort 関数は、指定された引数によって出力をソートします。
特定の sort 関数は1つの引数を取り、-0、1、またはXNUMXを返す必要があります(
標準Python CMP 関数)。

ヘルプ(vars.GenerateHelpText(env))
ヘルプ(vars.GenerateHelpText(env, sort=cmp))

書式変数​​ヘルプテキスト(env, オプト, 助けます, デフォルト, 実際の)
このメソッドは、印刷可能なヘルプテキストを含むフォーマットされた文字列を返します。
オプション。通常は直接呼び出されるのではなく、 ヘルプテキストを生成する()
返されるヘルプテキストを作成するメソッド。独自の関数でオーバーライドすることもできます。
これは上記の引数を受け取り、書式設定されたヘルプテキストの文字列を返します。
お好みに合わせてお選びください。 ヘルプテキストを生成する()は空白行や余分な行を入れません
エントリ間に文字が含まれているため、返される値にそれらの文字を追加する必要があります。
エントリを区切る場合は文字列を使用します。

def my_format(env、opt、help、default、actual):
fmt = "\n%s: デフォルト=%s 実際=%s (%s)\n"
戻り値 fmt % (opt、default、actual、help)
vars.FormatVariableHelpText = my_format

カスタマイズ可能な変数をより便利に操作できるようにするために、 軽蔑的 提供
さまざまな種類の変数を簡単に設定できる関数の数:

ブール変数(キー, 助けます, デフォルト)
ブールオプションを設定するための引数のタプルを返します。オプションは
指定された名前 キー、デフォルト値は デフォルト、指定された 助けます
テキスト。オプションは値を解釈します y, はい, t, true、1、 on 真実として、そして
その価値 n, いいえ, f, false、0、 OFFなし 偽として。

列挙変数(キー, 助けます, デフォルト, 許可された値、[地図, 無視する場合])
指定された値のいずれかになるオプションを設定するための引数のタプルを返します。
有効な列挙値のリスト。オプションは指定された名前を使用します キー、持っている
のデフォルト値 デフォルト、指定された 助けます テキスト。このオプションは
これらの価値観を支持する 許可された値 リスト。 オプションの 地図 引数は
入力値を特定の有効な値に変換するために使用できる辞書
許可された値 リスト。 無視するケース 0(デフォルト)の場合、値は
大文字と小文字は区別されます。 無視するケース 1の場合、値は一致する
大文字と小文字は区別されません。 無視するケース 2の場合、値は一致する
大文字と小文字は区別されず、すべての入力値は小文字に変換されます。

リスト変数(キー, 助けます, デフォルト, 、[,地図])
オプションを設定するための引数のタプルを返します。その値は、
有効な列挙値の指定されたリスト。オプションは指定された名前を使用します キー,
のデフォルト値を持つ デフォルト、指定された 助けます テキスト。オプションは
価値観だけを支持する , なし、または リスト。複数
値を指定する場合は、すべての値をカンマで区切ってください。デフォルトは
カンマで区切られたデフォルト値の文字列、またはデフォルト値のリスト。
任意 地図 引数は入力値を変換するために使用できる辞書です。
特定の法的価値 リスト。

パッケージ変数(キー, 助けます, デフォルト)
値がパス名であるオプションを設定するための引数のタプルを返します。
有効化、無効化、または明示的なパス名を指定できるパッケージ。オプションは
指定された名前を使用する キー、デフォルト値は デフォルト、指定された
助けます テキスト。オプションは値をサポートします はい, true, on, enable or サーチ
指定された場合 デフォルト 使用されるか、オプションが
任意の文字列(通常は有効化するパッケージへのパス名)。
オプションは値もサポートします いいえ, false, OFF or disable 使用を無効にする
指定されたオプション。

パス変数(キー, 助けます, デフォルト、[バリ])
値がパスであると予想されるオプションを設定するための引数のタプルを返します
名前。このオプションは指定された名前を使用します キー、デフォルト値は デフォルト,
指定されたものを表示する 助けます テキスト。追加の バリ 指定される可能性がある
指定されたパスが許容されるかどうかを確認するために呼び出されます。SConsは次のものを提供します
既製のバリデータ: パス変数.PathExists (デフォルト)は、
指定されたパスが存在します。 パス変数.PathIsFile指定されたパスが
既存のファイルです。 パス変数.PathIsDir指定されたパスが
既存のディレクトリ。 パス変数.PathIsDirCreate指定された
パスはディレクトリであり、パスが存在しない場合は指定されたディレクトリを作成します。
存在する;そして パス変数.パス受け入れ、これは単に特定のパス名を受け入れる
検証なしで引数を渡すことができ、ユーザーが
ビルドプロセスの一部として作成されるディレクトリパスを指定します。
例: 独自の例を用意することもできます バリ 関数は3つの引数を取る必要がある
(キー設定する変数の名前。 ヴァル指定された値がチェックされ、
env、構築環境)であり、指定された
値は受け入れられません。

これらの関数は、一貫性のある変数を複数作成するのに便利です。
1回の呼び出しで 変数の追加 方法:

vars.変数の追加(
BoolVariable('警告', '-Wall および類似のコンパイル', 1),
EnumVariable('debug', 'デバッグ出力とシンボル', 'no'
許可される値=('はい'、'いいえ'、'完全')、
map={}, ignorecase=0), # 大文字と小文字を区別する
リスト変数('shared',
「共有ライブラリとして構築するライブラリ」、
'全て'、
名前 = ライブラリのリスト)、
パッケージ変数('x11',
'ここにインストールされた X11 を使用します (はい = いくつかの場所を検索します)'、
'はい')、
PathVariable('qtdir', 'Qt のルートがインストールされている場所', qtdir),
PathVariable('foopath', 'fooライブラリがインストールされている場所', foopath,
PathVariable.PathIsDir)、

)

File ディレクトリ Nodes
この File()および あなた() 関数の戻り値 Fileあなた それぞれノード。Pythonオブジェクト、
これらのオブジェクトには、ユーザーに見える属性とメソッドがいくつかあり、
よく役に立つ:

path
指定されたファイルまたはディレクトリのビルドパス。このパスはトップレベルからの相対パスです。
ディレクトリ( S構築 ファイルが見つかった場合)。ビルドパスは
ソースパスの場合 バリアントディレクトリ 使用されていません。

棄権
指定されたファイルまたはディレクトリの絶対ビルド パス。

ソースノード()
この ソースノード() メソッドは別の File or あなた を表すオブジェクト source path
与えられたの File or あなたを選択します。

# 現在のビルド ディレクトリのパスを、top からの相対パスで取得します。
Dir('.').パス
# 現在のディレクトリの絶対パス
Dir('.').abspath
# 次の行は常に '.' です。これは、トップ ディレクトリの相対パスであるためです。
Dir('#.').パス
File('foo.c').srcnode().path # 指定されたソースファイルのソースパス。

# ビルダーは File オブジェクトも返します:
foo = env.Program('foo.c')
print "foo は %s にビルドされます"%foo.path

A あなた ノードまたは File ノードはファイルやサブディレクトリノードの作成にも使用できます
生成ノードを基準とする。 あなた ノードは新しいノードを
それが表すディレクトリ。 File ノードは新しいノードを親ノード内に配置します
ディレクトリ(つまり、問題のファイルの「隣」)にある場合、 d   あなた (ディレクトリ)ノードと
f   File (ファイル) ノードの場合、次のメソッドが使用できます。

d.Dir()
サブディレクトリのディレクトリノードを返します d 命名 .

d。ファイル()
ファイルのファイルノードを返します d 命名 .

d。エントリ()
未解決のノードを返す d 命名 .

f.Dir()
ディレクトリ名を返す 親ディレクトリ内の f.

f。ファイル()
という名前のファイルを返します 親ディレクトリ内の f.

f。エントリ()
未解決のノードを返す 親ディレクトリ内の f.

例:

# ディレクトリ内のファイルのノードを取得する
incl = Dir('include')
f = incl.File('header.h')

# ディレクトリ内のサブディレクトリのノードを取得する
dist = Dir('プロジェクト-3.2.1)
src = dist.Dir('src')

# 同じディレクトリ内のファイルのノードを取得する
cfile = ファイル('sample.c')
hfile = cfile.File('sample.h')

# 組み合わせ例
ドキュメント = Dir('ドキュメント')
html = docs.Dir('html')
インデックス = html.File('index.html')
css = index.File('app.css')

拡張 軽蔑者


ビルダー オブジェクト
軽蔑的 新しいBuilderオブジェクトを追加することで、異なるタイプのターゲットを構築できるように拡張できます。
建設環境。 In 一般的な、新しいBuilderオブジェクトを追加するだけで済みます
新しいタイプのファイルや他の外部ターゲットをビルドしたい場合。
プログラム、オブジェクト、ライブラリ、またはその他のオブジェクトを構築するために別のコンパイラまたは他のツールを呼び出す
その他の出力ファイルの種類 軽蔑的 すでにビルダーが存在する場合、一般的に
既存のビルダーを建設環境で使用することははるかに簡単です。
適切な構築変数 (CC、LINK など)。

ビルダーオブジェクトは、 ビルダー 関数。 ザ ビルダー 関数は
次の引数:

アクション
ソースからターゲットをビルドするために使用されるコマンド ライン文字列。 アクション 次のこともできます。
実行されるコマンドとその引数を表す文字列のリスト(適切な
引数内の空白を囲むための辞書マッピングソースファイル名
コマンドライン文字列の任意の組み合わせに接尾辞を付ける(ビルダーが受け入れる必要がある場合)
複数のソースファイル拡張子)、Python関数、アクションオブジェクト(次の
セクション); または上記のいずれかのリスト。

アクション関数は次の 3 つの引数を取ります。 source - ソースノードのリスト、 ターゲット -
ターゲットノードのリスト、 env - 建設環境。

接頭辞
ターゲット ファイル名の先頭に追加されるプレフィックス。これは次のように指定できます。
* string,

* 呼び出し可能 オブジェクト - 2つの引数(
構築環境とソースのリスト)とプレフィックスを返します。

* 辞書 - 特定のソースサフィックス(最初のソースの
指定されたソースサフィックスとターゲットプレフィックスの両方が対応するターゲットプレフィックスに付加されます。
仕様では環境変数の置換が使用される場合があり、ターゲットプレフィックス(
辞書内の「値」エントリも呼び出し可能なオブジェクトである可能性があります。デフォルトのターゲット
プレフィックスは、キー値が None の辞書エントリによって示される場合があります。

b = ビルダー("build_it < $SOURCE > $TARGET",
プレフィックス = "file-")

定義gen_prefix(env, ソース):
"file-" + env['PLATFORM'] + '-' を返します
b = ビルダー("build_it < $SOURCE > $TARGET",
プレフィックス = gen_prefix)

b = ビルダー("build_it < $SOURCE > $TARGET",
接尾辞 = { なし: "file-",
"$SRC_SFX_A": gen_prefix })

サフィックス
ターゲットファイル名に追加されるサフィックス。これは、
上記の接頭辞と同じ方法。接尾辞が文字列の場合、 軽蔑的 追加されます
'.'がサフィックスの先頭にない場合は追加します。
呼び出し可能なオブジェクト(または辞書から取得)は変更されず、独自の
必要に応じて先頭に「.」を追加します。

b = ビルダー("build_it < $SOURCE > $TARGET"
接尾辞 = "-file")

定義gen_suffix(env, ソース):
"." + env['PLATFORM'] + "-file" を返します。
b = ビルダー("build_it < $SOURCE > $TARGET",
サフィックス = gen_suffix)

b = ビルダー("build_it < $SOURCE > $TARGET",
接尾辞 = { なし: ".sfx1",
"$SRC_SFX_A": gen_suffix })

確実なサフィックス
任意の真の値に設定すると、 軽蔑的 指定されたターゲットサフィックスを追加するには、
サフィックス 異なるサフィックスを持つターゲット文字列にキーワードを追加します。(デフォルト
動作は、すでに何らかの名前が付けられているように見えるターゲットファイル名をそのまま残すというものです。
サフィックス。)

b1 = ビルダー("build_it < $SOURCE > $TARGET"
サフィックス = ".out")
b2 = ビルダー("build_it < $SOURCE > $TARGET"
サフィックス = ".out"、
確実なサフィックス
env = 環境()
env['ビルダー']['B1'] = b1
env['ビルダー']['B2'] = b2

# Ensure_suffix が設定されていないため、「foo.txt」をビルドします。
env.B1('foo.txt', 'foo.in')

# Ensure_suffix が設定されているため、「bar.txt.out」をビルドします。
env.B2('bar.txt', 'bar.in')

ソースサフィックス
予想されるソース ファイル名のサフィックス。これは文字列または文字列のリストになります。

ターゲットスキャナ
このターゲットの暗黙的な依存関係を見つけるために呼び出される Scanner オブジェクト
ファイル。このキーワード引数は、暗黙的な
ターゲットファイルと構築環境のみに基づく依存関係、 for
ソースファイルに基づく暗黙的な依存関係。(以下の「スキャナオブジェクト」セクションを参照)
Scanner オブジェクトの作成の詳細については、こちらをご覧ください。

ソーススキャナー
任意のソース内の暗黙的な依存関係を見つけるために呼び出されるScannerオブジェクト
このターゲットファイルを作成するために使用するファイルです。ここでスキャナを指定します。
次のようなものを見つける #include ソースファイル内の行。 ディレクトリスキャナ スキャナー
オブジェクトは、このビルダーがディレクトリツリーをスキャンする必要があることを示すために使用できます。
ディスク上のファイルの変更 軽蔑的 他のビルダーや関数からは分からない
呼び出します。(スキャナオブジェクトの作成方法については、以下の「スキャナオブジェクト」セクションを参照してください。
独自の Scanner オブジェクトを作成します。

ターゲットファクトリー
文字列として指定されたターゲットを変換するためにビルダーが使用するファクトリー関数
SConsノードに。デフォルトでは、SConsはすべてのターゲットがファイルであると想定します。その他の便利な
target_factoryの値には以下が含まれます あなたビルダーがディレクトリターゲットを作成する場合、および
入門ビルダーがファイルまたはディレクトリ ターゲットのいずれかを作成できる場合。

例:

MakeDirectoryBuilder = Builder(アクション = my_mkdir、ターゲットファクトリー = Dir)
env = 環境()
env.Append(BUILDERS = {'MakeDirectory':MakeDirectoryBuilder})
env.MakeDirectory('新しいディレクトリ', [])

MakeDirectory Builderの呼び出しでは、空のソースリストを指定する必要があることに注意してください。
文字列をビルダーのターゲットを表すようにする。それがなければ、
引数はソースであり、そこからターゲット名を推測しようとするが、
自動的に追加された接頭辞または接尾辞がない場合、一致するターゲットになり、
ソース名と循環依存関係。

ソースファクトリー
文字列として指定されたソースを変換するためにビルダーが使用するファクトリー関数
SConsノードにインポートします。デフォルトでは、SConsはすべてのソースがファイルであると想定します。その他の便利な
source_factoryの値には以下が含まれます あなたビルダーがディレクトリをソースとして使用する場合、
入門ビルダーがファイルまたはディレクトリ (またはその両方) をソースとして使用できる場合に使用します。

例:

CollectBuilder = Builder(アクション = my_mkdir、ソースファクトリー = エントリ)
env = 環境()
env.Append(BUILDERS = {'Collect':CollectBuilder})
env.Collect('アーカイブ', ['ディレクトリ名', 'ファイル名'])

エミッター
ターゲットリストとソースリストを操作するための関数または関数のリスト
依存関係が確立され、ターゲットが実際に構築されます。 エミッター こともできます
エミッター関数に展開する構築変数を含む文字列、または
関数のリスト、またはソース ファイルのサフィックスをエミッタ関数にマッピングする辞書。
(最初のソースファイルのサフィックスのみが実際のエミッターの選択に使用されます
エミッタ辞書からの関数。

エミッター関数は 3 つの引数を取ります。 source - ソースノードのリスト、 ターゲット -
ターゲットノードのリスト、 env - 建設環境。エミッターは
2つのリストを含むタプル、このビルダーによって構築されるターゲットのリスト、および
このビルダーのソースのリスト。

例:

def e(ターゲット、ソース、env):
戻り値 (ターゲット + ['foo.foo']、ソース + ['foo.src'])

# エミッター関数とビルダーの単純な関連付け。
b = ビルダー("my_build < $TARGET > $SOURCE",
エミッター = e)

def e2(ターゲット、ソース、環境):
戻り値 (ターゲット + ['bar.foo']、ソース + ['bar.src'])

# エミッター関数のリストとビルダーの単純な関連付け。
b = ビルダー("my_build < $TARGET > $SOURCE",
エミッタ = [e, e2])

# 構築変数を介してエミッター関数を呼び出します。
env = 環境(MY_EMITTER = e)
b = ビルダー("my_build < $TARGET > $SOURCE",
エミッター = '$MY_EMITTER')

# 構築変数を介してエミッター関数のリストを呼び出します。
env = 環境(EMITTER_LIST = [e, e2])
b = ビルダー("my_build < $TARGET > $SOURCE",
エミッター = '$EMITTER_LIST')

# 複数のエミッターを異なるファイルに関連付ける
# 辞書を使用してサフィックスを検索します。
e_suf1(ターゲット、ソース、env)を定義します。
return (target + ['another_target_file'], source)
e_suf2(ターゲット、ソース、env)を定義します。
戻り値 (ターゲット、ソース + ['another_source_file'])
b = ビルダー("my_build < $TARGET > $SOURCE",
エミッター = {'.suf1' : e_suf1,
'.suf2' : e_suf2})

マルチ
このビルダーを同じ目的で複数回呼び出すことができるかどうかを指定します。
ターゲットファイル。デフォルトは0で、ビルダーを複数回呼び出すことはできないことを意味します。
同じターゲットファイルに対して複数回ビルダーを呼び出すと、
ターゲットは単にソースファイルをターゲットに追加するだけであり、変更は許可されていません。
ターゲットに関連付けられた環境、追加の環境オーバーライドを指定するか、
ターゲットに別のビルダーを関連付けます。

env
このビルダーを使用してソースコードを取得するために使用できる構築環境。
(この環境は 通常のターゲットファイルの通常のビルドに使用されます。
ターゲット ファイルのビルダーを呼び出すために使用された環境を使用します。

ジェネレータ
ターゲットを構築するために実行されるアクションのリストを返す関数
ソースから返されるアクションは、Actionオブジェクト、または
Action オブジェクトに変換できます (次のセクションを参照)。

ジェネレータ関数は 4 つの引数を取ります。 source - ソースノードのリスト、 ターゲット -
ターゲットノードのリスト、 env - 建設環境、 署名用 - ブール値
ビルドを生成するためにジェネレータが呼び出されるかどうかを指定する値
署名(実際にコマンドを実行するのではなく)。例:

g(ソース、ターゲット、env、for_signature)を定義します。
[["gcc", "-c", "-o"] + ターゲット + ソース] を返します。

b = ビルダー(ジェネレーター=g)

この ジェネレータアクション 同じビルダーに対して両方の引数を使用することはできません。

ソースビルダー
ソースファイル名のサフィックスがいずれにも一致しない場合に使用するビルダーを指定します。
ビルダーの接尾辞。この引数を使用すると、マルチステージ ビルダーが生成されます。

シングルソース
このビルダーは、呼び出しごとに1つのソースファイルのみを期待することを指定します。
ターゲットファイルがないソースファイルが1つあると、暗黙的にビルダーが呼び出されます。
複数回(各ソースごとに1回)。複数のソースファイルをまとめて指定する
ターゲット ファイルを使用すると、UserError 例外が発生します。

この ジェネレータアクション 同じビルダーに対して両方の引数を使用することはできません。

ソース拡張子一致
指定された アクション 引数が辞書の場合、
ビルダーに複数のソースファイルが渡されるのは、すべての拡張子が
ソースファイルが一致している。このビルダーがソースのリストで呼び出されることが合法である場合、
異なる拡張子を持つファイルの場合、このチェックは設定によって抑制できます。
ソース拡張子一致 〜へ なし または他の非真の値。 ソース拡張子一致 is
無効にする、 軽蔑的 最初に指定されたソースファイルのサフィックスを使用して、
適切な措置 アクション 辞書。

次の例では、 ソース拡張子一致 を防止 軽蔑的 退出から
の接尾辞が一致しないためエラーが発生しました foo.infoo.extra.

b = Builder(action={'.in' : 'build $SOURCES > $TARGET'},
source_ext_match = なし)

env = 環境(BUILDERS = {'MyBuild':b})
env.MyBuild('foo.out', ['foo.in', 'foo.extra'])

env
このビルダーを使用してソースコードを取得するために使用できる構築環境。
(この環境は 通常のターゲットファイルの通常のビルドに使用されます。
ターゲット ファイルのビルダーを呼び出すために使用された環境を使用します。

b = ビルダー(アクション="ビルド < $SOURCE > $TARGET")
env = 環境(BUILDERS = {'MyBuild' : b})
env.MyBuild('foo.out', 'foo.in', my_arg = 'xyzzy')

Chdir
sconsがこのビルダーに指定されたアクションを実行するディレクトリ。
  Chdir 引数が文字列またはディレクトリノードの場合、sconsは指定されたものに変更されます
ディレクトリ。 Chdir 文字列でもノードでもなく、ゼロでない場合、sconsは
対象ファイルのディレクトリに変更します。

scons は、 構築変数の拡張を自動的に変更する
ような $TARGET$ソース chdirキーワード引数を使用する場合、つまり展開された
ファイル名は依然としてトップレベルのSConstructディレクトリからの相対的なものであり、
その結果、chdirディレクトリに対して正しくありません。chdirを使用して作成されたビルダー
キーワード引数では、次のような構築変数展開を使用する必要があります。
${TARGET.file}${ソース.ファイル} ターゲットのファイル名部分のみを使用し、
ソース。

b = ビルダー(アクション="ビルド < ${SOURCE.file} > ${TARGET.file}",
chdir=1)
env = 環境(BUILDERS = {'MyBuild' : b})
env.MyBuild('sub/dir/foo.out', 'sub/dir/foo.in')

警告: Pythonはすべてのスレッドに対して現在のディレクトリの場所を1つだけ保持します。
の使用は Chdir 引数は SConsと協力する -j オプション、なぜなら
SConsによって生成された個々のワーカースレッドは、開始時に互いに干渉し合う。
ディレクトリを変更しています。

Builderオブジェクトの作成時に指定された追加のキーワード引数(つまり、
Builder()関数が呼び出される)は実行中の構築環境に設定される。
Builderオブジェクトが呼び出されたときに、
ソース コード システムのリポジトリへの構築変数。

ビルダーの実行時に提供される追加のキーワード引数 オブジェクト 呼び出されるのは
特定のBuilder呼び出しによって作成されたターゲットに関連付けられた(および他のファイル)
呼び出しの結果として構築されます。

これらの追加のキーワード引数は、次の関数に渡されます: コマンドジェネレータ
関数、関数アクション、およびエミッター関数。

行動 オブジェクト
この ビルダー()関数は、 アクション キーワード引数を適切な内部
アクションオブジェクト。また、 行動() グローバル
関数は、 ビルダー() 関数。これを使用して
アクションオブジェクトをより柔軟に設定したり、単に
複数のBuilderオブジェクトが必要な場合、各Builderオブジェクトは別々のアクションを作成します。
同じことをする。

この 行動()グローバル関数は、によって表されるアクションの適切なオブジェクトを返します。
最初の引数の型:

行動
最初の引数がすでに Action オブジェクトである場合は、そのオブジェクトがそのまま返されます。

String
最初の引数が文字列の場合、コマンドラインアクションが返されます。
コマンドライン文字列の前には @ (アットマーク)は印刷を抑制します
指定されたコマンドライン、または - (ハイフン) は終了ステータスを無視します
指定されたコマンド:

アクション('$CC -c -o $TARGET $SOURCES')

# 実行中の行は印刷されません。
アクション('@build $TARGET $SOURCES')

# 戻り値を無視する
アクション('-build $TARGET $SOURCES')

リスト
最初の引数がリストの場合、Actionオブジェクトのリストが返されます。Action
オブジェクトはリスト内の各要素ごとに必要に応じて作成されます。要素が 以内  
リスト自体はリストであり、内部リストは実行されるコマンドと引数である。
コマンドラインから。これにより、引数に空白を囲むことができる。
リスト内のリストでコマンドを定義する:

アクション([['cc', '-c', '-DWHITE SPACE', '-o', '$TARGET', '$SOURCES']])

演算
最初の引数がPython関数の場合、関数アクションが返されます。Python
関数は3つのキーワード引数を取る必要があります。 ターゲット (ノードオブジェクトを表す
対象ファイル)、 source (ソースファイルを表すNodeオブジェクト)と env
ターゲットファイルの構築に使用される構築環境)。 ターゲットsource
複数のターゲットファイルまたはソースファイルがある場合、引数はNodeオブジェクトのリストになることがあります。
ファイル。実際のターゲットファイル名とソースファイル名は、ノードから取得できます。
組み込みの Python str() 関数を介してオブジェクトを取得します。

ターゲットファイル名 = str(ターゲット)
ソースファイル名 = map(lambda x: str(x), ソース)

関数は0または なし ターゲットのビルドが成功したことを示す
ファイル。関数は例外を発生させるか、ゼロ以外の終了ステータスを返す場合があります。
ビルドが失敗したことを示します。

def build_it(ターゲット = なし、ソース = なし、env = なし):
# ソースからターゲットをビルドする
0を返す

a = アクション(build_it)

アクション引数が上記のいずれでもない場合は、None が返されます。

2番目の引数はオプションであり、
アクションは実際に実行されます。このパラメータがない場合、または空の場合
文字列の場合、アクションの種類に応じたデフォルトの出力が使用されます。たとえば、
コマンドラインアクションは実行されたコマンドを出力します。引数はPython
関数または文字列。

最初のケースでは、それは、
実行されるアクション。関数は、 文字列関数= キーワード
引数。ファイルを構築する関数と同様に、この関数は3つのキーワード引数を取る必要があります。
引数: ターゲット (対象ファイルを表すノードオブジェクト) source (ノードオブジェクト
ソースファイルを表す)と env (建設環境)。 ターゲットsource
複数のターゲットファイルまたはソースファイルがある場合、引数はNodeオブジェクトのリストになることがあります。
ファイルにソフトウェアを指定する必要があります。

2番目のケースでは、文字列そのものを指定します。文字列は、
コマンド文字列= キーワード引数。文字列には通常、$TARGET(S) や
$SOURCE(S)、またはオプションでどこかに定義される単一の変数のみで構成される
SCons 自体は後者のバリアントを頻繁に使用します。

例:

def build_it(ターゲット、ソース、env):
# ソースからターゲットをビルドする
0を返す

def string_it(ターゲット、ソース、env):
「'%s' から '%s' を構築しています」% (ターゲット[0]、ソース[0]) を返します

# 位置引数を使用します。
f = アクション(build_it、string_it)
s = Action(build_it, "'$SOURCE' から '$TARGET' をビルド中")

# あるいは、キーワード引数を使用します。
f = アクション(build_it、strfunction=string_it)
s = Action(build_it, cmdstr="'$SOURCE' から '$TARGET' をビルド中")

# 設定可能な変数を提供できます。
l = アクション(build_it、'$STRINGIT')

3番目以降の引数は、存在する場合、構築変数または
署名に含まれる値となる構築変数のリスト
アクションが変更されたためにターゲットを再構築するかどうかを決定するときのアクション。
変数は、 変数リスト= キーワードパラメータ。両方が存在する場合、
結合されます。これは、特定のターゲットが再構築されたときにターゲットを再構築したい場合に必要です。
構築変数の変更。これは文字列アクションではあまり必要ありません。
展開された変数は通常コマンドラインの一部になりますが、
Python関数アクションは、生成時に構築変数の値を使用します。
コマンドライン。

def build_it(ターゲット、ソース、env):
# 'XXX'構築変数からターゲットを構築します
ターゲット[0]、'w'を開いて、env['XXX']に書き込みます。
0を返す

# 位置引数を使用します。
a = アクション(build_it, '$STRINGIT', ['XXX'])

# あるいは、キーワード引数を使用します。
a = アクション(build_it、varlist=['XXX'])

この 行動() グローバル関数には、次のオプションのキーワード引数を渡すことができる。
Action オブジェクトの動作を変更します。

Chdir この Chdir キーワード引数は、sconsがアクションを実行することを指定します。
指定されたディレクトリに変更します。 Chdir 引数は文字列またはディレクトリです
ノードの場合、sconsは指定されたディレクトリに移動します。 Chdir 引数は文字列ではありません
または Node がゼロ以外の場合、scons はターゲット ファイルのディレクトリに変更されます。

scons は、 次のような構築変数の展開を自動的に変更します。
$TARGET$ソース chdir キーワード引数を使用する場合、つまり展開されたファイルを使用する場合
名前は依然として最上位の SConstruct ディレクトリを基準とするため、
chdirディレクトリに対する相対パスが正しくありません。chdirキーワード引数を使用して作成されたビルダーは、
次のような構築変数展開を使用する必要があります ${TARGET.file}${ソース.ファイル}
ターゲットとソースのファイル名部分のみを使用します。

a = Action("< ${SOURCE.file} > ${TARGET.file} をビルド",
chdir=1)

exitstat関数 この 行動() グローバル関数も exitstat関数 キーワード引数
これは、終了ステータス(または戻り値)が渡される関数を指定します。
指定されたアクションを実行し、任意の値または変更された値を返すことができます。これは、
たとえば、Actionオブジェクトの戻り値が特別な場合無視されるように指定するには、
したがって、条件と SCon は、アクションが常に成功すると考慮する必要があります。

常に成功を定義する:
# 常に 0 を返します。これは成功を示します。
0を返す
a = Action("< ${SOURCE.file} > ${TARGET.file} をビルド",
exitstatfunc=常に成功)

バッチキー この バッチキー キーワード引数は、アクションが作成できることを指定するために使用できます。
複数の独立したソースファイルを同時に処理することで、複数のターゲットファイルを作成できます。(
標準的な例は、複数のオブジェクトファイルを複数のパスで渡して「バッチコンパイル」することです。
ソースファイルをMicrosoftのVisual C / C++などのコンパイラの1回の呼び出しに渡す
コンパイラの場合。 バッチキー 引数はFalse以外の呼び出し不可能なPython値であり、
設定されたアクションオブジェクトは 軽蔑的 アクションで構築されたすべてのターゲットを収集する
オブジェクトと同じ構築環境で構成された単一の呼び出しに
アクションオブジェクトのコマンドラインまたは関数。コマンドラインでは通常、
CHANGED_SOURCES 建設変数(そしておそらく CHANGED_TARGETS 通過するだけ
ターゲットが作成されてから実際に変更されたソースをコマンドラインに入力します。
建てられました。

例:

a = アクション('build $CHANGED_SOURCES', batch_key=True)

この バッチキー 引数は、キーを返す呼び出し可能な関数である場合もあります。
バッチ構築のために収集されるターゲットファイルの異なる「バッチ」を識別するために使用されます。
バッチキー 関数は次の引数を取る必要があります:

アクション
アクションオブジェクト。

env
ターゲット用に構成された構築環境。

ターゲット
特定の構成されたアクションのターゲットのリスト。

source
特定の構成されたアクションのソースのリスト。

返されるキーは通常、引数から導出された値のタプルになります。
適切なロジックを使用して、複数の呼び出しをバッチ処理する方法を決定します。
例、 バッチキー 関数は特定の値を返すことを決定する場合があります
建設変数から env 議論は 軽蔑的 バッチビルドする
その変数の値が一致するターゲットを返すか、 id()の
建設環境全体、その場合 軽蔑的 すべてのターゲットをバッチビルドします
同じ構築環境で構成されています。 なし は、
特定のターゲットは バッチビルドの一部ではなく、代わりにビルドされます
アクションのコマンドまたは関数を別途呼び出すことによって。例:

def batch_key(アクション、env、ターゲット、ソース):
tdir = ターゲット[0].dir
tdir.name == 'special'の場合:
# ターゲットをバッチビルドしない
# special/ サブディレクトリ内。
返却なし
戻り値 (id(アクション), id(env), tdir)
a = アクション('build $CHANGED_SOURCES', batch_key=batch_key)

その他 行動 機能
軽蔑的 さまざまな一般的なファイルやディレクトリを整理する多数の機能を提供します
実行する操作。これらは、Antビルドの「タスク」の概念に似ています。
ツールですが、実装が若干異なります。これらの関数は実際には
関数が呼び出されたときに指定されたアクションを実行し、代わりに
適切なタイミングで実行できるアクションオブジェクト。(オブジェクト指向では
用語としては、これらは実際にはアクション 工場 Action オブジェクトを返す関数。

実際には、これらのアクション関数は2つの自然な方法で実行されることが意図されています。
中古。

まず、SConscriptファイルの読み込み時にアクションを実行する必要がある場合は、
あなたが使用することができます 実行する そのためのグローバル関数:

実行(タッチ('file'))

第二に、これらの関数を使用して、リスト内のアクションを供給し、 Command
この方法により、より複雑なファイル操作シーケンスを実行できるようになります。
プラットフォーム固有の外部コマンドに頼ることなく、

env = 環境(TMPBUILD = '/tmp/builddir')
env.Command('foo.out', 'foo.in',
[Mkdir('$TMPBUILD'),
コピー('$TMPBUILD', '${SOURCE.dir}'),
"cd $TMPBUILD && make",
削除('$TMPBUILD')])

chmod(dest, モード)
指定された権限を変更するアクションオブジェクトを返します。 dest ファイルまたは
指定されたディレクトリに モード。 例:

実行(Chmod('file', 0755))

env.Command('foo.out', 'foo.in',
[コピー('$TARGET', '$SOURCE'),
chmod('$TARGET', 0755)])

コピー(dest, SRC)
コピーするアクションオブジェクトを返します SRC ソースファイルまたはディレクトリを dest
宛先ファイルまたはディレクトリ。例:

実行(コピー('foo.output', 'foo.input'))

env.Command('bar.out', 'bar.in',
コピー('$TARGET', '$SOURCE'))

消去(エントリ、[必ず存在する])
指定されたものを削除するアクションを返します エントリ(ファイルまたはディレクトリ)
ディレクトリが指定されている場合は、ディレクトリツリー全体が削除されます。
必ず存在する フラグが設定されている場合、指定されたエントリが
存在しない; デフォルトは 存在する必要がある=0つまり、アクションは何もせずに黙って何もしない。
エントリが存在しない場合。例:

実行(削除('/tmp/buildroot'))

env.Command('foo.out', 'foo.in',
[削除('${TARGET.dir}'),
[MyBuildAction]) マイビルドアクション

実行(削除('file_that_must_exist'、must_exist=1))

Mkdir(DIR)
指定されたディレクトリを作成するアクションを返します DIR . 例:

実行(Mkdir('/tmp/outputdir'))

env.Command('foo.out', 'foo.in',
[Mkdir('/tmp/builddir'),
コピー('/tmp/builddir/foo.in', '$SOURCE'),
「cd /tmp/builddir && make」、
コピー('$TARGET', '/tmp/builddir/foo.out')])

動く(dest, SRC)
指定されたものを移動するアクションを返します SRC ファイルまたはディレクトリを指定された dest
ファイルまたはディレクトリ。例:

実行(Move('file.destination', 'file.source'))

env.Command('出力ファイル', '入力ファイル',
[マイビルドアクション、
移動('$TARGET', 'file_created_by_MyBuildAction')])

触る(file)
指定された変更時刻を更新するアクションを返します。 file。 例:

実行(タッチ('タッチするファイル'))

env.Command('マーカー', '入力ファイル',
[マイビルドアクション、
タッチ('$TARGET')])

変数 置換
コマンドを実行する前に、 軽蔑的 構築変数補間を実行する
ビルダーのコマンドラインを構成する文字列。変数は $ 接頭辞。
構築変数に加えて、sconsは各コマンドに対して次の変数を提供します。
実行:

CHANGED_SOURCES
ターゲット以降に変更されたビルドコマンドのすべてのソースのファイル名
最後に建てられました。

CHANGED_TARGETS
変更されたソースからビルドされるすべてのターゲットのファイル名
ターゲットが最後に構築された日時。

SOURCE
ビルドコマンドのソースのファイル名、または最初のソースのファイル名
複数のソースが構築されている場合。

SOURCES
ビルド コマンドのソースのファイル名。

TARGET
ビルド中のターゲットのファイル名、または最初のターゲットのファイル名(
複数のターゲットが構築されています。

ターゲット
ビルドされるすべてのターゲットのファイル名。

UNCHANGED_SOURCES
ビルドコマンドのすべてのソースのファイル名は、 以来変更された
ターゲットが最後に構築されました。

UNCHANGED_TARGETS
ソースからビルドされるすべてのターゲットのファイル名は、 変更
ターゲットが最後に構築されてから。

(上記の変数は予約されており、構文内で設定できないことに注意してください。
環境。)

例えば、構築変数CC='cc'、targets=['foo']、および
ソース=['foo.c', 'bar.c']:

アクション='$CC -c -o $TARGET $SOURCES'

次のようなコマンドラインが生成されます:

cc -c -o foo foo.c bar.c

変数名は中括弧({})で囲むことで、変数名と変数の内容を区別することができます。
末尾の文字。中括弧内では、変数名にPythonスライスが含まれる場合があります。
リストから1つ以上の項目を選択するために添え字が追加されます。前の例では、
文字列:

${ソース[1]}

生成されます:

bar.c

さらに、変数名には、次の特別な修飾子を付加することができます。
中括弧で囲むと、挿入された文字列が変更されます。

ベース
ファイル名の基本パス。ディレクトリ パスを含み、サフィックスは除きます。

DIR
ファイルが存在するディレクトリの名前。

file
ディレクトリ部分を除いたファイル名。

ファイルベース
ファイルのベース名のみで、サフィックスとディレクトリは除きます。

サフィックス
ファイルのサフィックスのみ。

棄権
ファイルの絶対パス名。

POSIX
POSIX形式のパス。ディレクトリは / (スラッシュ)
バックスラッシュ。Windowsシステムでは、パスが
他の (POSIX) システム上のファイル。

ソースパス
このファイルにリンクされているソースファイルのディレクトリとファイル名
バリアントディレクトリ()。このファイルがリンクされていない場合は、ディレクトリとファイル名のみを返します。
変更なし。

srcdir
このファイルにリンクされているソースファイルを含むディレクトリ バリアントディレクトリ()。 もし
このファイルはリンクされておらず、ファイル名のディレクトリ部分のみが返されます。

rsrcパス
このファイルにリンクされているソースファイルのディレクトリとファイル名
バリアントディレクトリ()。ファイルがローカルに存在せず、リポジトリに存在する場合、パス
リポジトリ内のファイルが返されます。このファイルがリンクされていない場合は、
ディレクトリとファイル名は変更されません。

rsrcディレクトリ
このファイルにリンクされているソースファイルを含むリポジトリディレクトリ
バリアントディレクトリ()。このファイルがリンクされていない場合は、
ファイル名。

たとえば、指定されたターゲットは、対応する修飾子に対して次のように展開されます。

$TARGET => sub/dir/file.x
${TARGET.base} => サブディレクトリ/ファイル
${TARGET.dir} => サブディレクトリ
${TARGET.file} => ファイル.x
${TARGET.filebase} => ファイル
${TARGET.サフィックス} => .x
${TARGET.abspath} => /top/dir/sub/dir/file.x

SConscript('src/SConscript', バリアントディレクトリ='sub/dir')
$SOURCE => sub/dir/file.x
${SOURCE.srcpath} => src/file.x
${SOURCE.srcdir} => ソース

リポジトリ('/usr/repository')
$SOURCE => sub/dir/file.x
${SOURCE.rsrcpath} => /usr/repository/src/file.x
${SOURCE.rsrcdir} => /usr/repository/src

中括弧は任意のPythonコードを囲むためにも使用できることに注意してください。
評価されます。(実際、上記の修飾子はこのように置き換えられ、単純に
PythonオブジェクトのTARGET、SOURCESなどの属性については、セクションを参照してください。
これをどのように使用できるかのより詳しい例については、以下の「Python コードの置換」を参照してください。

最後に、変数名は、構造に関連付けられた呼び出し可能なPython関数である可能性があります。
環境内の変数。関数は 4 つの引数を取る必要があります。 ターゲット - のリスト
ターゲットノード、 source - ソースノードのリスト、 env - 建設環境、
署名用 - 関数が呼び出されるかどうかを指定するブール値
ビルドシグネチャを生成します。SConsは呼び出された関数が返すものを
展開された文字列:

def foo(ターゲット、ソース、env、for_signature):
「バー」を返す

# $BAR を "bar baz" に展開します
env=環境(FOO=foo, BAR="$FOO baz")

この機能を使用すると、呼び出し可能な関数を作成してPython関数に引数を渡すことができる。
1つ以上の引数をオブジェクトに格納し、
__電話__() メソッドが呼び出されます。この場合、変数展開全体を
引数がインスタンス化に関連付けられるように中括弧で囲みます
クラスの:

クラスfoo(オブジェクト):
def __init__(self, arg):
自己.arg = 引数

def __call__(自己、ターゲット、ソース、env、for_signature):
self.arg + "bar" を返します。

# $BAR を「my argument bar baz」に展開します
env=Environment(FOO=foo, BAR="${FOO('my argument')} baz")

特殊な疑似変数 $($) コマンドラインの一部を囲むために使用できます
それは変わるかもしれない 無し 再構築を引き起こすもの、つまり、
このコマンドで作成されたターゲットファイルの署名。 $($) なります
ファイル署名に追加される前にコマンドラインから削除され、 $($)
コマンドが実行される前に削除されます。たとえば、次のコマンドラインでは、

echo 最後のビルドは $( $TODAY $) でした。> $TARGET

次のコマンドを実行します:

echo 最後のビルドは $TODAY に行われました。> $TARGET

ただし、ターゲット ファイルに追加されるコマンド シグネチャは次のようになります。

echo 最後のビルドが発生しました。 > $TARGET

Python Code 置換
Pythonコード ${-} ペアはPythonのグローバル変数を使ってPythonの「eval」によって評価される。
現在の環境の構築変数のセットに設定されます。つまり、次の場合です。

env['条件'] = 0
env.Command('foo.out', 'foo.in',
'''echo ${COND==1 and 'FOO' or 'BAR'} > $TARGET''')

実行されるコマンドは

エコーFOO > foo.out

or

エコー BAR > foo.out

コマンド実行時のenv['COND']の現在の値に応じて評価されます。
ターゲットがビルドされるときに発生し、SConscriptが読み込まれるときに発生しません。
env['COND'] が SConscript 内で後から変更された場合、最終値が使用されます。

もっと面白い例を挙げましょう。COND、FOO、BARはすべて環境であることに注目してください。
変数の値はその最終コマンドに代入されます。FOOはリストなので、
要素はスペースで区切られて補間されます。

env=環境()
env['条件'] = 0
env['FOO'] = ['foo1', 'foo2']
env['BAR'] = 'barbar'
env.Command('foo.out', 'foo.in',
'echo ${COND==1 and FOO or BAR} > $TARGET')

# これを実行します:
# エコー foo1 foo2 > foo.out

SCons は、構築変数をコマンド ラインに変換するときに次の規則を使用します。

String
値が文字列の場合、スペースで区切られたコマンドラインのリストとして解釈されます。
引数

リスト
値がリストの場合、コマンドライン引数のリストとして解釈されます。各
リストの要素は文字列に変換されます。

その他
リストや文字列以外のものはすべて文字列に変換され、
単一のコマンドライン引数。

改行
改行文字(\n)は行を区切る。改行の解析は他のすべての行の解析の後に行われる。
解析が不可能なので、引数(ファイル名など)に埋め込み文字を含めることはできません。
改行文字。この制限は、SCons の将来のバージョンではなくなる可能性があります。

スキャナー オブジェクト
あなたが使用することができます スキャナー 新しいファイルタイプを暗黙的にスキャンするためのオブジェクトを定義する関数
依存関係。 スキャナー この関数は次の引数を受け入れます:

function
これは、1) ノード(ファイル)を処理して返すPython関数のいずれかです。
見つかった暗黙の依存関係(ファイル名)を表すファイルノードのリスト
内容、または: 2) キーをマップする辞書(通常はファイルサフィックスですが、以下を参照してください)
呼び出す必要がある他のスキャナーに追加します (詳細については、こちらを参照してください)。

引数が実際にPython関数である場合、関数は3つまたは4つの引数を取る必要があります。
引数:

def scanner_function(ノード、env、パス):

def scanner_function(ノード、env、パス、引数=なし):

この 引数はファイルを表す内部SConsノードです。 str(ノード) 〜へ
ファイル名を取得し、 ノード.get_contents() ファイルの内容を取得します。
ファイルは スキャナが呼び出される前に存在することが保証されているので、
スキャナ機能は、スキャンしたファイルが
存在しない (たとえば、他のファイルから構築されている場合)。

この env 引数はスキャンの構築環境です。そこから値を取得します
env.辞書() 方法。

この path 引数は、ファイルを検索できるディレクトリのタプル (またはリスト) です。
これは通常、 パス関数 引数 (以下を参照)。

この argは argument は、スキャナーの作成時に指定された引数です (存在する場合)。


スキャナーの名前。これは主にスキャナーを内部的に識別するために使用されます。

引数
指定するとスキャナ関数に渡されるオプションの引数
(上記で説明) およびパス関数 (下記で指定)。

スキー
どのスキャナを使用するかを決定するために使用できるオプションのリスト。
与えられたノード。ファイル名をスキャンする通常のケースでは、この引数はリストになります
このスキャナがスキャンできるさまざまなファイルタイプのサフィックス。
引数が文字列の場合、現在の環境によってリストに展開されます。

パス関数
4つまたは5つの引数を取るPython関数:構築環境、
最初のターゲットが作成されたSConscriptファイルを含むディレクトリのノード
定義済み、ターゲットノードのリスト、ソースノードのリスト、およびオプションの引数
スキャナの作成時に提供された。 パス関数 のタプルを返します
この Scanner オブジェクトによって返されるファイルを検索できるディレクトリ。
(注意してください FindPathDirs()関数は既製のものを返すために使用できます
パス関数 与えられた構築変数名に対して、
ゼロから独自の機能を作成します。

ノードクラス
このScannerオブジェクトによって返されるノードのクラス。任意の文字列または他の
スキャナ関数によって返されたこのクラス以外のオブジェクトは実行されます
スルー ノードファクトリー 機能。

ノードファクトリー
文字列やその他のオブジェクトを受け取って、それを
この Scanner オブジェクトによって返される適切なノード クラス。

スキャンチェック
2つの引数、ノード(ファイル)と構築を取るオプションのPython関数
環境をスキャンし、ノードが実際にスキャンされるかどうかを返します。
依存関係。このチェックは、スキャナへの不要な呼び出しを排除するために使用できます。
例えば、ノードによって表される基礎ファイルがまだ
存在する。

再帰的な
このスキャナを再度呼び出すかどうかを指定するオプションのフラグ。
スキャナによって返される依存ファイル。このフラグが設定されていない場合、ノード
サブシステムはスキャン対象のファイルに対してのみスキャナを起動し、(例えば
例) スキャン対象のファイル内の #include 行で指定されたファイルにも適用されます。
再帰的な 呼び出し可能な関数である場合、その場合はリストとともに呼び出されます。
見つかったノードは再帰的にスキャンされるべきノードのリストを返す必要があります。
追加のスキャンのために特定のノードのサブセットを選択するために使用できます。

注意してください 軽蔑的 グローバル ソースファイルスキャナ によって使用されるオブジェクト オブジェクト()、
共有オブジェクト()、 と 静的オブジェクト()ビルダーはどのスキャナーを使用するかを決定する
異なるファイル拡張子。 ソースファイルスキャナ.add_scanner() メソッドを追加する
独自のスキャナオブジェクトを 軽蔑的 ターゲットプログラムを構築するインフラストラクチャまたは
さまざまな種類のソース ファイルのリストからライブラリを選択します。

def xyz_scan(ノード、環境、パス):
コンテンツ = node.get_text_contents()
# 内容をスキャンし、含まれるファイルを返します。

XYZスキャナ = スキャナ(xyz_scan)

ソースファイルスキャナ.add_scanner('.xyz', XYZスキャナ)

env.Program('my_prog', ['file1.c', 'file2.f', 'file3.xyz'])

システム固有 動作


SConsとその設定ファイルは、主にその実装のおかげで非常に移植性が高い。
Python。ただし、不注意な人を陥れる可能性のある移植性の問題がいくつかあります。

.C file サフィックス
SConsは大文字を扱う .C ファイルの拡張子は、
基盤となるシステム。LinuxやUNIXなどの大文字と小文字を区別するシステムでは、SConsは
とファイル .C C++ソースファイルとしてサフィックスを使用します。Windowsなどの大文字と小文字を区別しないシステムでは、
SConsはファイルを .C C ソース ファイルとしてサフィックスを付けます。

.F file サフィックス
SConsは大文字を扱う .F ファイルの拡張子は、
基盤となるシステム。LinuxやUNIXなどの大文字と小文字を区別するシステムでは、SConsは
とファイル .F 最初に実行されるFortranソースファイルとしてサフィックスを付けます。
標準Cプリプロセッサ。Windowsなどの大文字と小文字を区別しないシステムでは、SConsはファイルを
また、 .F Fortranソースファイルとしてサフィックスを付けます。 Cを経由する
プリプロセッサ。

Windows: Cygwin ツール Cygwin Python Windows ニシキヘビ
Cygwinは、ユーザーがWindowsシステム上で作業できるようにするツールとユーティリティのセットを提供します。
よりPOSIXに似た環境。Cygwinツール(Cygwin Pythonを含む)は、
UNIXのようなパス名を解釈する機能を共有することで、Cygwin
ツールは内部的に、/cygdrive/c/mydirのようなCygwinパス名を同等の
C:/mydir の Windows パス名 (C:\mydir に相当)。

python.orgや
ActiveStateバージョンでは、Cygwinパス名のセマンティクスが使用されていません。つまり、
ネイティブWindows版Pythonを使用して、Cygwinツール(
gcc、bison、flexなどの他のツールを使用すると、予期しない結果が生じる可能性があります。このように「組み合わせる」と
動作させることはできますが、パス名の使用には注意が必要です。
SConscript ファイル。

実際には、ユーザーは以下のルールを採用することでこの問題を回避できます。gccを使用する場合、
Cygwinが提供するPythonインタープリタを使用してSConsを実行します。Microsoft Visual C/C++を使用する場合
(または他のWindowsコンパイラ)python.orgまたはActiveStateバージョンのPythonを使用して
SCons を実行します。

Windows: scons.bat file
Windowsシステムでは、SConsはラッパーを介して実行されます。 scons.bat ファイル。これには(少なくとも)
2つの影響:

まず、コマンドラインで変数の割り当てを使用したいWindowsコマンドラインユーザー
代入文を二重引用符で囲む必要があるかもしれません:

scons "FOO=BAR" "BAZ=BLEH"

第二に、Cygwinシェルはこのファイルを 軽蔑的
コマンドラインプロンプトでコマンドを発行します。これを回避するには、
scons.bat Cygwinのコマンドラインから、またはラッパーシェルスクリプトを作成して 軽蔑的
.

ミンウ
MinGWのbinディレクトリは、PATH環境変数またはPATH変数に含まれている必要があります。
SConsがMinGWツールを検出して使用できるようにするには、ENV構築変数の下に
ネイティブWindows Pythonインタープリターで実行する場合、SConsはMinGWツールを優先します。
Cygwinツールが両方インストールされている場合、binの順序に関係なく
PATH変数のディレクトリ。MSVCとMinGWの両方がインストールされていて、
MSVCの代わりにMinGWを使用する場合は、SConsにMinGWを使用するように明示的に指示する必要があります。

ツール=['mingw']

Environment()関数に、SConsはMinGWよりもMSVCツールを好むため
ツール。


SConsを使い始めるにあたって、このセクションでは、一般的な
タスク。

Basic 編集 a 単発講座 ソース File
env = 環境()
env.Program(ターゲット = 'foo'、ソース = 'foo.c')

注: ターゲットを引数として指定してファイルをビルドします ("scons foo" または "scons
foo.exe" またはドット ("scons .") を指定します。

Basic 編集 複数 ソース
env = 環境()
env.Program(ターゲット = 'foo'、ソース = Split('f1.c f2.c f3.c'))

設定 a 編集 フラグ
env = 環境(CCFLAGS = '-g')
env.Program(ターゲット = 'foo'、ソース = 'foo.c')

検索 この ローカル ディレクトリ .h
注: CCFLAGSを設定して手動で-Iオプションを指定する必要があります。SConsは
CPPPATH からの適切な -I オプション。

env = 環境(CPPPATH = ['.'])
env.Program(ターゲット = 'foo'、ソース = 'foo.c')

検索 複数 ディレクトリ .h
env = 環境(CPPPATH = ['include1', 'include2'])
env.Program(ターゲット = 'foo'、ソース = 'foo.c')

建物 a 静的 図書室へようこそ
env = 環境()
env.StaticLibrary(ターゲット = 'foo'、ソース = Split('l1.c l2.c'))
env.StaticLibrary(ターゲット = 'bar'、ソース = ['l3.c'、'l4.c'])

建物 a 共有 図書室へようこそ
env = 環境()
env.SharedLibrary(ターゲット = 'foo'、ソース = ['l5.c'、'l6.c'])
env.SharedLibrary(ターゲット = 'bar'、ソース = Split('l7.c l8.c'))

連結 a ローカル 図書室へようこそ a 演奏曲目
env = 環境(LIBS = 'mylib'、LIBPATH = ['.'])
env.Library(ターゲット = 'mylib'、ソース = Split('l1.c l2.c'))
env.Program(ターゲット = 'prog'、ソース = ['p1.c'、'p2.c'])

定義 あなたの 独自の ビルダー オブジェクト
ビルダーを呼び出すときに、ターゲットファイルのサフィックスを省略できることに留意してください。
SCons はそれを自動的に追加します。

bld = ビルダー(アクション = 'pdftex < $SOURCES > $TARGET'
拡張子 = '.pdf'、
src_suffix = '.tex')
env = 環境(BUILDERS = {'PDFBuilder' : bld})
env.PDFBuilder(ターゲット = 'foo.pdf'、ソース = 'foo.tex')

# 以下は「bar.tex」から「bar.pdf」を作成します
env.PDFBuilder(ターゲット = 'bar'、ソース = 'bar')

また、上記の初期化によりデフォルトのBuilderオブジェクトが上書きされるため、
上記で作成した環境はenv.Program()、env.Object()などのビルダーを呼び出すために使用することはできません。
env.StaticLibrary() など

追加 あなたの 独自の ビルダー オブジェクト 〜へ an 環境
bld = ビルダー(アクション = 'pdftex < $SOURCES > $TARGET'
拡張子 = '.pdf'、
src_suffix = '.tex')
env = 環境()
env.Append(BUILDERS = {'PDFBuilder' : bld})
env.PDFBuilder(ターゲット = 'foo.pdf'、ソース = 'foo.tex')
env.Program(ターゲット = 'bar'、ソース = 'bar.c')

また、他のPythonのテクニックを使ってBUILDERS構築変数に追加することもできます。
といった:

env = 環境()
env['BUILDERS]['PDFBuilder'] = bld

定義 あなたの 独自の スキャナー オブジェクト
次の例は非常に単純なスキャナ( kfile_scan()関数)
検索パスを一切使用せず、単に任意の場所に存在するファイル名を返します。 include
スキャンされたファイル内の行。これは、含まれるすべてのファイルが
最上位ディレクトリ:

インポート再

include_re = re.compile(r'^include\s+(\S+)$', re.M)

def kfile_scan(ノード、環境、パス、引数):
コンテンツ = node.get_text_contents()
含む = include_re.findall(コンテンツ)
env.File(includes) を返す

kscan = スキャナ(名前 = 'kfile',
関数 = kfile_scan、
引数 = なし、
skeys = ['.k'])
スキャナー = Environment().Dictionary('SCANNERS')
env = 環境(SCANNERS = スキャナー + [kscan])

env.Command('foo', 'foo.k', 'kprocess < $SOURCES > $TARGET')

bar_in = ファイル('bar.in')
env.Command('bar', bar_in, 'kprocess $SOURCES > $TARGET')
bar_in.target_scanner = kscan

スキャンからファイルノードのリストを返す必要があることに注意することが重要です。
関数では、ファイル名に単純な文字列を使用することはできません。ここで示す例のように
ここでは、 ファイル() ノードを作成するために現在の環境の機能
相対パスを持つ一連のファイル名から即座に取得します。

以下は、ディレクトリのパスを検索する、類似した、しかしより完全な例です(指定された
として 私の進路 実際に存在しているファイルに対して、

インポート再
輸入OS
include_re = re.compile(r'^include\s+(\S+)$', re.M)

def my_scan(ノード、環境、パス、引数):
コンテンツ = node.get_text_contents()
含む = include_re.findall(コンテンツ)
== [] を含む場合:
戻る[]
結果 = []
inc inには以下が含まれます:
パス内の dir の場合:
ファイル = str(dir) + os.sep + inc
os.path.exists(ファイル)が存在する場合:
results.append(ファイル)
破る
env.File(結果) を返す

スキャナ = スキャナ(名前 = 'myscanner',
関数 = my_scan、
引数 = なし、
skeys = ['.x'],
path_function = FindPathDirs('MYPATH')
)
スキャナー = Environment().Dictionary('SCANNERS')
env = 環境(SCANNERS = スキャナ + [スキャナ],
MYPATH = ['incs'])

env.Command('foo', 'foo.x', 'xprocess < $SOURCES > $TARGET')

この FindPathDirs前の例で使用した()関数は関数(実際には
呼び出し可能なPythonオブジェクト)は、指定されたディレクトリのリストを返します。 $MYPATH
構築変数。SConsがファイルを検出できるようにします incs/foo.inc 、 たとえ 関数 含まれています
ライン include 株式会社foo のみ。検索パスの導出方法をカスタマイズする必要がある場合は、
あなた自身が提供する パス関数 Scannerオブジェクトを作成するときに引数として
以下:

# MYPATHはファイルを検索するディレクトリのリストです
def pf(env, dir, target, source, arg):
top_dir = Dir('#').abspath
結果 = []
envに「MYPATH」がある場合:
env['MYPATH']内のpの場合:
結果を追加します(top_dir + os.sep + p)
結果を返す

スキャナ = スキャナ(名前 = 'myscanner',
関数 = my_scan、
引数 = なし、
skeys = ['.x'],
パス関数 = pf
)

作成 a 階層的 建設
サブディレクトリのSConscriptファイルで指定されたファイル名は、
そのサブディレクトリ。

S構築:

env = 環境()
env.Program(ターゲット = 'foo'、ソース = 'foo.c')

SConscript('sub/SConscript')

サブ/SConscript:

env = 環境()
# sub/foo.c から sub/foo をビルドします
env.Program(ターゲット = 'foo'、ソース = 'foo.c')

SConscript('dir/SConscript')

サブ/ディレクトリ/SConscript:

env = 環境()
# sub/dir/foo.c から sub/dir/foo をビルドします
env.Program(ターゲット = 'foo'、ソース = 'foo.c')

分担 Variables の間に S徴兵
共有したい変数を明示的にExport()とImport()でエクスポートする必要があります。
SConscript ファイル。

S構築:

env = 環境()
env.Program(ターゲット = 'foo'、ソース = 'foo.c')

エクスポート("環境")
SConscript('サブディレクトリ/SConscript')

サブディレクトリ/SConscript:

インポート("環境")
env.Program(ターゲット = 'foo'、ソース = 'foo.c')

建物 複数 バリアント   同じ ソース
SConscript関数のvariant_dirキーワード引数を使用して、1つ以上の
特定のソース ディレクトリに対して、バリアント ビルド ディレクトリ ツリーを別々に作成します。

S構築:

cppdefines = ['FOO']
エクスポート("cppdefines")
SConscript('src/SConscript', バリアントディレクトリ='foo')

cppdefines = ['BAR']
エクスポート("cppdefines")
SConscript('src/SConscript', バリアントディレクトリ='bar')

ソース/SConscript:

インポート("cppdefines")
env = 環境(CPPDEFINES = cppdefines)
env.Program(ターゲット = 'src'、ソース = 'src.c')

Export() メソッドを使用して「cppdefines」変数を別の値に設定することに注意してください。
SConscript 関数を呼び出すたびに。

階層的 建設 of ツー ライブラリ リンク 連絡先 a 演奏曲目
S構築:

env = 環境(LIBPATH = ['#libA', '#libB'])
エクスポート('env')
SConscript('libA/SConscript')
SConscript('libB/SConscript')
SConscript('メイン/SConscript')

libA/Sコンスクリプト:

インポート('env')
env.Library('a', Split('a1.c a2.c a3.c'))

libB/Sコンスクリプト:

インポート('env')
env.Library('b', 分割('b1.c b2.c b3.c'))

メイン/SConscript:

インポート('env')
e = env.Copy(LIBS = ['a', 'b'])
e.Program('foo', Split('m1.c m2.c m3.c'))

LIBPATHディレクトリの「#」は、最上位ディレクトリからの相対パスであることを示します。
ディレクトリに保存しておくと、Main/SConscript で使用したときに「Main/libA」にはなりません。

ライブラリ名に「a」と「b」のみを指定すると、SConsは適切な
現在のプラットフォームのライブラリプレフィックスとサフィックス(たとえば、POSIXでは「liba.a」)
システムでは 'a.lib'、Windows では 'a.lib')。

カスタマイズ 建設 variables from   command ライン。
次のようにすると、Cコンパイラをコマンドラインまたは
ファイル custom.py。

vars = 変数('custom.py')
vars.Add('CC', 'C コンパイラ。')
env = 環境(変数=vars)
ヘルプ(vars.GenerateHelpText(env))

ユーザーはコマンドラインで C コンパイラを指定できます。

scons "CC=my_cc"

または custom.py ファイル内:

CC = 'my_cc'

またはオプションに関するドキュメントを入手してください:

$ scons -h

CC: C コンパイラ。
デフォルト: なし
実際: cc

使い方 Microsoft ビジュアル C + + プリコンパイル済み ヘッダーの
windows.hにはあらゆるものが含まれているため、
それを何度もコンパイルして大量のオブジェクトファイルを作成する必要があるため、Microsoftは
ヘッダーセットを一度コンパイルし、その後、以前にコンパイルしたものをインクルードするメカニズム
あらゆるオブジェクトファイル内のヘッダー。この技術はプリコンパイル済みヘッダーと呼ばれます。一般的な
レシピは、「StdAfx.cpp」という名前のファイルを作成し、その中に「StdAfx.cpp」という名前の単一のヘッダーを含めることです。
「StdAfx.h」を作成し、「StdAfx.h」にプリコンパイルしたいすべてのヘッダーをインクルードし、
最後に、コンパイルするすべてのソースファイルの最初のヘッダーとして「StdAfx.h」を含めます。
オブジェクト ファイルに追加します。例:

StdAfx.h:

#含む
#含む

StdAfx.cpp:

#含む

Foo.cpp:

#含む

/* 何かやる */

バー.cpp:

#含む

/* その他の作業を行う */

S構築:

env=環境()
env['PCHSTOP'] = 'StdAfx.h'
env['PCH'] = env.PCH('StdAfx.cpp')[0]
env.Program('MyApp', ['Foo.cpp', 'Bar.cpp'])

詳細については、PCHビルダーのドキュメント、およびPCHとPCHSTOPを参照してください。
構築変数。プリコンパイル済みヘッダーの詳細については、MSDNを参照してください。
/Yc、/Yu、/Yp のドキュメント。

使い方 Microsoft ビジュアル C + + 外部 デバッギング 情報
プログラムや共有ライブラリにデバッグ情報を含めると、
サイズが大幅に増加する可能性があるため、Microsoftはデバッグを含めるメカニズムを提供しています。
PDBファイルと呼ばれる外部ファイルに情報を保存します。SConsはPDBファイルをサポートしています。
PDB 構築変数。

S構築:

env=環境()
env['PDB'] = 'MyApp.pdb'
env.Program('MyApp', ['Foo.cpp', 'Bar.cpp'])

詳細については、PDB 構築変数のドキュメントを参照してください。

ENVIRONMENT


SCONS_LIB_DIR
SCons Python モジュール ディレクトリを含むディレクトリを指定します (例:
/home/aroach/scons-src-0.01/src/engine) を参照してください。

スコンスフラッグ
sconsで渡されるオプションに加えて使用されるオプションの文字列。
コマンドライン。

onworks.net サービスを使用して scons をオンラインで使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad