Running Treehydra and Dehydra scripts
Today I learned something new. Last night I integrated callgraph into dxr (I'll blog about that later, once I rebuild dxr indices for mozilla-central and comm-central), and that meant that I needed to be able to run a Treehydra script in addition to my existing Dehydra one. Dehydra scripts are basically a subset of Treehydra scripts (the same callback functions still work), and you can use the gcc_treehydra.so plugin to run them both.
Taras had mentioned that there is code in the Mozilla build system to handle this case, and after speaking with Benjamin I had the answer. The file static-checking.js deals with running multiple treehydra/dehydra by loading them as needed. All you need to do in order to make this work is specify that your C++ compiler is one that supports plugins (e.g., CXX=/path/to/dehydra-aware/g++), set DEHYDRA_PATH (e.g., the path to your gcc_dehydra.so or gcc_treehydra.so file), and list your scripts with one or both of DEHYDRA_MODULES and TREEHYDRA_MODULES. The rest happens automatically.