[LLVMdev] Idea of a tool to help in library versioning

Daniel Ruoso daniel at ruoso.com
Fri Feb 29 06:10:17 PST 2008


Hi,

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
starting point.

So I ask, what do you think about such tool? what advices could you give
me on starting that tool?

daniel

P.S.: please include me in CC's... I'm not subscribed...




More information about the llvm-dev mailing list