On Sat, Aug 27, 2011 at 2:38 PM, Nadeem Vawda <nadeem.vawda@gmail.com> wrote:
On Sat, Aug 27, 2011 at 10:41 PM, Dan Stromberg <drsalists@gmail.com> wrote:
> It seems like there should be some way of coming up with an xml file
> describing the types of the various bits of data and formal arguments -
> perhaps using gccxml or something like it.

The problem is that you would need to do this check at runtime, every time
you load up the library - otherwise, what happens if the user upgrades
their installed copy of liblzma? And we can't expect users to have the
liblzma headers installed, so we'd have to try and figure out whether the
library was ABI-compatible from the shared object alone; I doubt that this
is even possible.

I was thinking about this as I was getting groceries a bit ago.

Why -can't- we expect the user to have liblzma headers installed?  Couldn't it just be a dependency in the package management system?

BTW, gcc-xml seems to be only for C++ (?), but long ago, around the time people were switching from K&R to Ansi C, there were programs like "mkptypes" that could parse a .c/.h and output prototypes.  It seems we could do something like this on module init.

IMO, we really, really need some common way of accessing C libraries that works for all major Python variants.