quite exactly the same job that needs to be done It's the same job, but lex and yacc are not at all the "same" as vala. They are fundamental Unix utilities that have been around forever. Whereas vala is a relatively recent invention, far less ubiquitous. So I see no reason to treat them the same way.
Also, the point of having the lex/yacc .c files in make dist in the first place is to reduce interdependencies among packages. But merely distributing the .c files for vala does not seem likely tome to be enough to actually eliminate the need for vala in practice. Even if it is, looking to the future, it seems to me it would be better to treat intermediate files as intermediate, and not distribute them in make dist. lex/yacc (and .info, etc.) have to be grandfathered in, but creating new such special cases feels like a mistake to me. Every one of the cases is a hassle in the code and causes plenty of confusion for users. Let's not compound the problems. -k