
The clang-win.jam file, which was provided by 'tr1gun' as an attachment to another thread in Boost Build, inherits its generators, flags, and rules from msvc.jam. The lines in clang-win.jam are: toolset.inherit-generators clang-win <toolset>clang toolset-clang:platformwin : msvc ; toolset.inherit-flags clang-win : msvc : <debug-symbols>on/<debug-store>object : YLOPTION ; toolset.inherit-rules clang-win : msvc ; In order to eliminate the VC++ /EH(x) option, which clang using VC++ RTL does not use, I added into the file a rule: rule compile.c++ ( targets * : sources * : properties * ) { C++FLAGS on $(targets) = [ set.difference [ on $(targets[1]) return $(C++FLAGS) ] : /EHs ] ; } suggested by Steve Watanabe. This effectively eliminates the /EHs option when compiling with clang. However when a 'run' action is done, with clang as the compiler, the compile step is never called. If I remove the 'rule compile.c++' from the clang-win.jam file the compile step is called before the link and execute steps of the 'run' action, but of course the compile step then issues the /EHs warning which the insertion of the above rule eliminated. Does anybody know why adding the above rule causes the 'run' action to not compile the appropriate fle before attempting the link and execute ?
participants (1)
-
Edward Diener