Build systems to some extent require support from the compiler (or tightly-coupled tools, such as scanners). We need a list of support mechanisms / interfaces required so that these toolchain components can track their status in supporting the build systems,