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を参照してくれるようになるようです。