Allow opting out from preprocessing with a command line argument and
an environment variable. (Not all existing users of llvm-rc might have
clang available, theoretically at least.)
Update tests to pass -no-cpp (and one case of LLVM_RC_NO_CPP) to
make it not try to use clang (which isn't a build level dependency
of llvm-rc).
Update a few options to allow them both joined (as -DFOO) and separate
(-D BR), as rc.exe allows both forms of them.
With the verbose flag set, this prints the preprocessing command
used (which differs from what rc.exe does).
This uses 'clang' for preprocessing, instead of 'clang-cl'; for this
particular case, 'clang-cl' might be marginally easier, but using
'clang' simplifies the following patch. The 'clang' executable is
probably also available in a few more cases than 'clang-cl'.
As we can't rely on clang to exist when running these tests, this only
tests what kind of command lines are constructed.
I know -no-cpp is short, but in my mind 'cpp' sounds like C++ not C preprocessor. I'm wondering if -no-preprocess wouldn't be clearer?