Responses from the Stream Development team:
"I think the current version of brcc doesn’t gracefully handle preprocessor directives. If you need access to predefined values in Brook code, you might want to work around it using preset variables."
"In 1.3, you'll have access to a C++ API and this will allow you to more easily separate your code into kernel code in .br files and non-kernel code in .cpp files. Then, you should be able to use preprocessor directives normally in non-kernel code because those pieces of code will not need to go through brcc."
---jski