@b4n
@LarsGit223 at least projfilecmds is being accessed outside build.c, in project.c, so it's not actually completely private to build.c. If it was, build.h should have had the forward declaration, and build.c the complete one.
Maybe I was not precise enough. The ```GeanyBuildCommand``` pointers are used outside of ```build.c``` but only for: - address comparison - calls to g_free - calls to SETPTR
So the struct items are only used privately in ```build.c```. Therefore a forward declaration seems to be enough, including ```build.h``` is not required (at the moment).