SCons における Options

  • scons コマンドのコマンドラインで指定する VAR=val 形式のビルドオプションは ARGUMENTS という辞書に入れられるので利用できる.
if (int(ARGUMENTS.get('debug', 0))):
    env.Append(CCFLAGS = '-g')
  • これでは面倒なので Options というクラスが用意してある.Options に指定した変数は,Environtment を作成するときに指定することで Construction Variable としてインクルードされる.
opts = Options(CC = 'special-gcc')
env = Environtment(options = opts)
  • Options に指定された変数をコマンドラインでオーバーライドできる.また,Opitons の変数=値ペアをファイルから読み込むこともできる.
  • ビルドオプションの指定形式として,BoolOption, EnumOption, ListOption, PathOption, PackageOption が用意されている.