I've been thinking lately in the amount of bugs generated by improper
handling of library versioning. And I realised that several developers
don't understand the implications of subtle API changes (like adding a
member to a struct that is member of another struct which happens to be
used as an argument of a function call).
Then I got the idea of generating an API description file from the
public header files of the library, but in that description file, all
public symbols have the types completely resolved to the basic types, so
that that kind of subtle type change becomes easily noticed when
comparing the description file of two different versions. It's important
to realise that binary-compatible changes would be allowed even if the
type definitions go under a refactoring in the library.
I had take a look at the TableGen tool, and it looks like that is my
So I ask, what do you think about such tool? what advices could you give
me on starting that tool?
P.S.: please include me in CC's... I'm not subscribed...