Windows Kitのバージョンアップとrewrite-setup-scripts

超久しぶりですが、備蓄録として書いておこうかと。
Direct3D12のサンプル見て書いたコードのビルドが通らなくて、おかしいなと思ったらWindows Kitが一つ古かったのです。
で、VS2015 Update3のセットアッププログラムから最新のWindows Kitをインストール。
VS2015コマンドプロンプトでは確かに更新されているのに、素のコマンドプロンプトからb2でビルドすると相変わらず古いパスを見にいってる。
確かVSのコマンドラインツールを呼ぶ度にvcvars32.batとかを呼んでたはずと思い、b2に-nオプション付けてみたら、

%TEMP%\b2_msvc_14.0_vcvarsall_amd64.cmd
%TEMP%\b2_msvc_14.0_vcvarsall_x86.cmd
%TEMP%\b2_msvc_14.0_vcvarsall_x86_arm.cmd

なんてファイルが呼ばれてた。
どうも毎回バッチファイル実行すると遅いので、必要な環境変数の設定だけ抜き出してキャッシュしている模様。
ここに古いインクルードパスが残っていたのが原因で、このファイルを消してからビルドしたら直りました。

あるいは、user-config.jamで

using msvc : : <rewrite-setup-scripts>always ;

とすれば毎回再生成されますが、毎回やる必要もないので、終わったら既定値の <rewrite-setup-scripts>on (もしくは無指定)に戻しておいた方がよいでしょう。