2007-07-26

SCons における Construction Variable

  • Construction Variable はビルドツールの呼び出し方法を制御する.
  • Construction Variable の集合が Environment である.
  • Environment とは Construction Variable=Value pair の集合 + Builder Methods
  • 作成:
  • env = Environtment(VAR1 = 'val1', VAR2 = 'val2')
    
  • 値の取り出し
  • print env['VAR1']
    
  • 値の取り出し(再帰的に変数展開)
  • print env.subst('$VAR1')
    
  • 値の数え上げ
  • dict = env.Dictionary()
    keys = dict.keys()
    keys.sort()
    for key in keys:
    	print "[%s] => [%s]" % (key, dict[key])
    
  • 値の代入
  • env.Replace(VAR1 = 'val1a')
    
  • 値の追加
  • env.Append(VAR1 = ' val1b')
    

2007-07-21

2007-07-13

SCons でのコンパイルオプション

ops = Option('config.py')
ops.Add('CONFIG_SUPPORT_HTML', '(help string)', 0)
env = Environtment(options = ops, CPPDEFINES = { 'CONFIG_SUPPORT_HTML' : '${CONFIG_SUPPORT_HTML}' })
env.Program('hello.c')

config.py が無い場合 -D CONFIG_SUPPORT_HTML=0

config.py が,

CONFIG_SUPPORT_HTML = '1'

のとき,-D CONFIG_SUPPORT_HTML=1

$ scons CONFIG_SUPPORT_HTML=2

と呼び出すと,config.py があっても無くても -D CONFIG_SUPPORT_HTML=2