読者です 読者をやめる 読者になる 読者になる

vs9のプリコンパイルヘッダをsconsでビルド

# SConstruct
from os import environ
from distutils.sysconfig import get_python_inc, get_python_lib

# 環境設定
env = Environment(
    CPPFLAGS  = ['/O2', '/MD', '/EHsc'],
    CPPPATH = [ environ['BOOST_INC'], get_python_inc() ],
    LIBPATH = [ environ['BOOST_LIB'], get_python_lib(standard_lib = True) + 's' ],
    SHLIBSUFFIX = '.pyd' )
env.VariantDir('.obj', 'src')

# プリコンパイルヘッダ【重要】
env['PCHSTOP'] = 'stdafx.h'
env['PCH'] = env.PCH('.obj/stdafx.cpp')[0]

# pythonモジュールのビルド
pyd = env.SharedLibrary('.obj/fibo.pyd', '.obj/fibo.cpp')
env.AddPostAction(pyd, Copy('.', pyd[0].abspath))
env.Clean(pyd, ['.obj', 'fibo.pyd'])
env.Default(pyd)

# test
env.Command('test', pyd, 'python test.py')

設定しているのはPCHSTOP/PCHのところ。
これを記述しておくとstdafx.cppをプリコンパイルヘッダとしてビルドしてstdafx.pchを作り、以降の.objビルド時にはpchを参照してくれるようになるようです。