On Thursday 10 October 2002 08:01 pm, Alexandre Julliard wrote:
Greg Turner gmturner007@ameritech.net writes:
Is there, aside from "just knowing," or tracing down API's one-by-one, a task which isn't always obvious to me anyhow, a systematic way to check for broken dll dependencies?
"make checklink" does this. It won't tell you which dependencies to add though...
cool feature! btw, I get:
make[2]: Entering directory `/var/src/wine/dlls/msimg32' gcc -o checklink -Wl,-rpath,../../dlls -Wl,-rpath,../../library -Wl,-rpath,../../unicode ../../library/checklink.c msimg32.dll.so && rm -f checklink msimg32.dll.so: undefined reference to `SetLastError'
this solved it:
Index: dlls/msimg32/Makefile.in =================================================================== RCS file: /home/wine/wine/dlls/msimg32/Makefile.in,v retrieving revision 1.5 diff -u -r1.5 Makefile.in --- dlls/msimg32/Makefile.in 17 May 2002 03:37:13 -0000 1.5 +++ dlls/msimg32/Makefile.in 11 Oct 2002 01:43:45 -0000 @@ -3,6 +3,7 @@ SRCDIR = @srcdir@ VPATH = @srcdir@ MODULE = msimg32.dll +IMPORTS = kernel32
LDDLLFLAGS = @LDDLLFLAGS@ SYMBOLFILE = $(MODULE).tmp.o
This was already in dlls/Makefile.in.
I also presume there are some rules about what is allowed to depend on what, which I also don't know...
The basic rules are that you can't create circular dependencies, and
Makes sense
that in general you shouldn't import things that the equivalent dll under Windows doesn't import.
Also makes sense. Got it, thanks!