Sposób działania scan-build
działa w taki sposób, że ustawia różne zmienne środowiskowe, które są zwykle używane przez systemy kompilujące (takie jak make
) w celu kontrolowania przebiegu kompilacji. Niektóre z nich są:
CC
- nazwa programu użyć jako kompilator C
CXX
- nazwa programu użyć jako C++
CCC_*
- różne zmienne środowiskowe, które kontrolują zachowanie statycznych analizatora dzyń za
SCons zwykle czyści środowisko przed uruchomieniem kompilacji (jest to funkcja). W celu dokonania powyższej środowiska zmienne podjęcia efekt, coś jak to zrobić w SConstruct
:
env = Environment()
env["CC"] = os.getenv("CC") or env["CC"]
env["CXX"] = os.getenv("CXX") or env["CXX"]
env["ENV"].update(x for x in os.environ.items() if x[0].startswith("CCC_"))
Dodam, że należy grep dla „środowisko” w większych plików SConstruct dowiedzieć się, gdzie ostatnie trzy linie powinny iść. –