[fetter-devel] RE: Request for comments on new interface

JoeSB COE9 joesb.coe9 at gmail.com
Mon Oct 10 09:21:03 UTC 2005


> <g> Ideally, vzn would have access to something like the .DEF files
> which tells VC++ which functions go in the DLL -- well, maybe not. I
> like that vzn will get me into functions the author did not think to
> export, because I ran into that with FTGL.

I think this should be how the export was determined.
We can use the combination of .h file and (.dll, .lib) file to
determine what symbol to export.
For example, instead of manually listing all the header files of wxWidgets as

"wx.h"
"wxframe.h"
...

I could instead provide to .binding file with

 (include "wx.h" :bind :recursive)
 (export-lib "wxwidgets.dll")  ;; Or may be this can be per-file option above.

That way, VZN can see all the function declaration. (IMHO the format
of dll export table is not too hard to parse.)
Now what function will VZN export? It can determine what function it
will export to wx.lisp by looking in wxwidgets.dll.
If the function/class/type are in both wxwidgets.dll file and any .h
files reachable from wx.h, then VZN should export it.

For issue on a function that the orignal author didn't export, there
you can have special option to do it; may be

 (include "wx.h" :bind :recursive :force-export ("unexported_func"
"some_more_unexported_func"))

But we should optimize for the general case.

Also, to provide flexibility,  we should also be able to generate a
binding from just a header file.
This is when we can fallback to the approach of manually listing all
the header file we want the export symbol.

Hope this is a sensible request.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/fetter-devel/attachments/20051010/65b2b04f/attachment.html>


More information about the fetter-devel mailing list