If fontforge"made a mess", that's not just because it's an extra dependency. It's because someone, instead of making the right choice and shipping whatever files fontforge is building, shipped only the sources. The right thing to do would be to ship the prebuilt stuff at least until "right" version of fontforge reaches mainstream. Now we're trying to waste some more time by ripping fontforge and creating sfd2ttf (?). That's lunacy! Just ship the damn prebuilt files until the time is ripe to take them out. Of course the sources should be kept there all the time as well.
So if a version of gcc got released that didn't produce correct libraries then we should add all of the .so files to the Wine tree? What a good idea!
I think you carried the analogy a bit too far: fontforge is a relatively obscure tool, compared to gcc.
Of course, the fix is to try to add a configure check for the incorrect ttf files that fontforge produces, or otherwise a version check, as has already been discussed.
Well, if someone wants to do more work for the sake of argument, then I guess we live in a free world. But still, the fonts are such a fringe part of wine that I just can't see any extra work to be worth it. For a while one can just consider fontforge to be a "proprietary" tool, and wine would just ship the sources and resulting fonts. It's just a matter of being practical.
Configure checks methinks are good for stuff that actually needs to be rebuilt. Do fonts really need to be rebuilt on each and every system? What's the point? Do they change that often, and does every platform have its own ttf format?! It's not the same as C sources that people compile on different platforms, with differing compile options, with different (and often incompatible) compilers and ABIs, and so on.
Cheers, Kuba