From ff157750c43750fdeab87d9adcfca01b60ab8d79 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Sat, 1 Nov 2008 17:24:41 +0000 Subject: [PATCH] Another attempt to get right extensions of PCH files on intel-win. [SVN r49522] --- src/tools/intel-win.jam | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/tools/intel-win.jam b/src/tools/intel-win.jam index 10f08aa24..a87c481ae 100644 --- a/src/tools/intel-win.jam +++ b/src/tools/intel-win.jam @@ -178,21 +178,28 @@ toolset.flags intel-win.link LIBRARY_OPTION intel : "" ; # works. actions compile-c-c++-pch { - $(.CC) @"@($(<[1]:W).rsp:E="$(>[2]:W)" -Fo"$(<[2]:W)" -Yc"$(>[1]:D=)" -Fp"$(<[1]:W:S=pch)" $(CC_RSPLINE))" "@($(<[1]:W).cpp:E=#include $(.escaped-double-quote)$(>[1]:D=)$(.escaped-double-quote))" $(.CC.FILTER) - copy "$(<[1]:W:S=pch)i" "$(<[1]:W:S=pch)" + $(.CC) @"@($(<[1]:W).rsp:E="$(>[2]:W)" -Fo"$(<[2]:W)" -Yc"$(>[1]:D=)" -Fp"$(<[1]:S=.pch:W)" $(CC_RSPLINE))" "@($(<[1]:W).cpp:E=#include $(.escaped-double-quote)$(>[1]:D=)$(.escaped-double-quote))" $(.CC.FILTER) } actions compile-c-c++-pch-s { - $(.CC) @"@($(<[1]:W).rsp:E="$(>[2]:W)" -Fo"$(<[2]:W)" -Yc"$(>[1]:D=)" -Fp"$(<[1]:W:S=pch)" $(CC_RSPLINE))" $(.CC.FILTER) - copy "$(<[1]:W:S=pch)i" "$(<[1]:W:S=pch)" + $(.CC) @"@($(<[1]:W).rsp:E="$(>[2]:W)" -Fo"$(<[2]:W)" -Yc"$(>[1]:D=)" -Fp"$(<[1]:S=.pch:W)" $(CC_RSPLINE))" $(.CC.FILTER) } +# We also need to mess with pch vs. pchi here. +actions compile-c-c++ +{ + $(.CC) @"@($(<[1]:W).rsp:E="$(>[1]:W)" -Fo"$(<[1]:W)" -Yu"$(>[3]:D=)" -Fp"$(>[2]:S=.pch:W)" $(CC_RSPLINE))" $(.CC.FILTER) +} + + # The compile.c.pch rule that is actually called from the generator for PCH # is imported by toolset.inherit-rules, but it's not localized, so it will # use compile-c-c++-pch* defined in msvc. Re-import it localized. IMPORT msvc : compile.c.pch : intel-win : intel-win.compile.c.pch : localized ; IMPORT msvc : compile.c++.pch : intel-win : intel-win.compile.c++.pch : localized ; +IMPORT msvc : compile.c : intel-win : intel-win.compile.c : localized ; +IMPORT msvc : compile.c++ : intel-win : intel-win.compile.c++ : localized ; # This one is used by compile.c++.pch. Of course, this is a mess, but Python port # will clean this up. IMPORT msvc : get-rspline : intel-win : get-rspline ;