On Sat, 29 Nov 2003, Alexandre Julliard wrote:
Peter Berg Larsen pebl@math.ku.dk writes:
I might be missing something here: The only thing we see by compiletime is headerfiles. At runtime we try dlopen a library what we hope corresponce to the headerfiles. There is no garantee that it is.
That's why we get the soname at compile time, and dlopen that.
I dont follow you here? The soname comes from autoconf? (which compiles dummy.c and and looks at it with ldd)
It's not 100% foolproof, but it's the best we can do. But now if you open a different library, all bets are off, it has no reason to be compatible with the headers we used at compile time.
The existence of headers and sonames (versions) are test independently in autoconf (which I would see as a bug if they werent compatible).
I would agree with you allmost any time. But (of cause there is a but) we are only using functions that was standard pre waaay old and I did actually spend some time looking for functions/types etc. and nothing has changed. As we are not touching internal stuff, allocating structs or termcap/terminfo etc. I am convinced that they are binary compatible (and I ran wine with some of the oldes curses lib I could find).
Peter