Ok, please forgive my naivety but this is my first attempt and all, I am lost and need come guidance, the guide is of some help and so is looking at the opengl files. I am not sure exactly what I am trying to write. What is the difference between a dll form Wine and a dll.so? I know the dll.so end up in your linux /lib folder right? How does a dll communicate to this dll.so? How am I to write this dll file so that when the fah gpu app calls for a function the cudart.dll file acts as a link to the libcudart.so.2.0? I don't want to attempt to rewrite the entire dll if I don't have to. To me it just seems like I am not getting the picture. I know we can't simply link the two files because they are in two different formats ELF vs PE. Is there a good example on how this is done? I'm sure this has been done before. Again looking to the opengl_norm.c file all it appears is that every functions has been rewritten but with "wine_" in front of the function name. Is that all I need to do with the cudart? That just seem right.
I probably should even be messing with this stuff, but the beautify of open source applications is that with a little help from the community I can add in support for things I need (CUDA). If this was a closed source app, I would have to just put in a request for it and maybe in a few months or so they might think about adding support. Thanks for your patience and help On Sun, Jul 6, 2008 at 10:13 PM, Stefan Dösinger <[EMAIL PROTECTED]> wrote: > Yes, this guide is reasonable, except probably the building part. You > *may* want to write this DLL as part of Wine, although I am afraid that we > don't have a policy how to deal with non-Windows DLLs(since cuda is an > Nvidia thing, not from MS). Of course the 5.5 part doesn't apply then as > well. > > > > *From:* [EMAIL PROTECTED] [mailto: > [EMAIL PROTECTED] *On Behalf Of *Seth Shelnutt > *Sent:* Sunday, July 06, 2008 6:29 PM > *To:* Michael Karcher > *Cc:* wine-devel@winehq.org > *Subject:* Re: CUDA wrapper > > > > I writing a wrapper, would it be correct to more or less follow this guide, > on winelib dll's? http://www.winehq.org/site/docs/winelib-guide/bindlls > > I've never coded anything for Wine before so I want to make sure I do it > right from the beginning instead of having to go back and make drastic > changes. > > I'll be looking at that opengl32 perl script because there is 102 pages of > functions that cudart.dll and libcudart.so both contain. > > On Sun, Jul 6, 2008 at 6:53 PM, Michael Karcher < > [EMAIL PROTECTED]> wrote: > > This is not going to work. PE style dynamic linking works quite > different from ELF style dynamic linking. Wine can not link native ELF > libraries to windows applications. The .dll.so files from wine are > special in being ELF files but containing extra information that allows > the Wine dynamic linker to link it into PE processes. > > > > > > This is right. You need at least a correct .spec file to make a wine > dll. You still have to implement a wrapper for each function, as Windows > usually uses the stdcall calling convention, whereas linux uses cdecl by > default. There might be some way to automate writing the wrapper > functions. > > Regards, > Michael Karcher > > >