diff --git a/libtest/Makefile.in b/libtest/Makefile.in index bf8a05d304a..e9f0a84f727 100644 --- a/libtest/Makefile.in +++ b/libtest/Makefile.in @@ -1,10 +1,24 @@ -DEFS = -DWINELIB -DSTRICT -TOPSRCDIR = @top_srcdir@ -TOPOBJDIR = .. -SRCDIR = @srcdir@ -VPATH = @srcdir@ -MODULE = none -PROGRAMS = expand hello hello2 hello3 hello4 hello5 new rolex vartest volinfo +DEFS = @DLLFLAGS@ -DSTRICT +LDDLLFLAGS = @LDDLLFLAGS@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = .. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = none +PROGRAMS = expand hello hello2 hello3 hello4 hello5 new rolex vartest volinfo +ALL_LIBS = -L$(TOPOBJDIR) -lwine $(LIBS) + +C_SRCS = \ + expand.c \ + hello.c \ + hello2.c \ + hello3.c \ + hello4.c \ + hello5.c \ + new.c \ + rolex.c \ + vartest.c \ + volinfo.c SPEC_SRCS = \ expand.spec \ @@ -21,40 +35,66 @@ SPEC_SRCS = \ RC_SRCS = \ hello3res.rc -all: $(PROGRAMS) +all: $(PROGRAMS) $(PROGRAMS:%=%.so) @MAKE_RULES@ -expand: expand.o expand.spec.o - $(CC) -o expand $+ -L$(DLLDIR) -llz32 -lntdll $(DLL_LINK) $(LIBS) +expand.spec.c: expand.spec expand.o $(WINEBUILD) + $(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym expand.o -o expand.spec.c -spec expand.spec +expand.so: expand.o expand.spec.o + $(LDSHARED) $(LDDLLFLAGS) -o expand.so $+ $(ALL_LIBS) -hello: hello.o hello.spec.o - $(CC) -o hello $+ -L$(DLLDIR) -luser32 -lgdi32 -lkernel32 -lntdll $(DLL_LINK) $(LIBS) +hello.spec.c: hello.spec hello.o $(WINEBUILD) + $(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym hello.o -o hello.spec.c -spec hello.spec +hello.so: hello.o hello.spec.o + $(LDSHARED) $(LDDLLFLAGS) -o hello.so $+ $(ALL_LIBS) -hello2: hello2.o hello2.spec.o - $(CC) -o hello2 $+ -L$(DLLDIR) -luser32 -lgdi32 -lkernel32 -lntdll $(DLL_LINK) $(LIBS) +hello2.spec.c: hello2.spec hello2.o $(WINEBUILD) + $(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym hello2.o -o hello2.spec.c -spec hello2.spec +hello2.so: hello2.o hello2.spec.o + $(LDSHARED) $(LDDLLFLAGS) -o hello2.so $+ $(ALL_LIBS) -hello3: hello3.o hello3.spec.o - $(CC) -o hello3 $+ -L$(DLLDIR) -ladvapi32 -lcomctl32 -lcomdlg32 -lgdi32 -lkernel32 -lole32 -lrpcrt4 -lshell32 -lshlwapi -luser32 -lwinspool.drv -lntdll $(DLL_LINK) $(LIBS) +hello3.spec.c: hello3.spec hello3.o hello3res.res $(WINEBUILD) + $(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym hello3.o -o hello3.spec.c -spec hello3.spec +hello3.so: hello3.o hello3.spec.o + $(LDSHARED) $(LDDLLFLAGS) -o hello3.so $+ $(ALL_LIBS) -hello3.spec.c: hello3res.res +hello4.spec.c: hello4.spec hello4.o $(WINEBUILD) + $(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym hello4.o -o hello4.spec.c -spec hello4.spec +hello4.so: hello4.o hello4.spec.o + $(LDSHARED) $(LDDLLFLAGS) -o hello4.so $+ $(ALL_LIBS) -hello4: hello4.o hello4.spec.o - $(CC) -o hello4 $+ -L$(DLLDIR) -luser32 -lgdi32 -lkernel32 -lntdll $(DLL_LINK) $(LIBS) +hello5.spec.c: hello5.spec hello5.o $(WINEBUILD) + $(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym hello5.o -o hello5.spec.c -spec hello5.spec +hello5.so: hello5.o hello5.spec.o + $(LDSHARED) $(LDDLLFLAGS) -o hello5.so $+ $(ALL_LIBS) -hello5: hello5.o hello5.spec.o - $(CC) -o hello5 $+ -L$(DLLDIR) -lntdll $(DLL_LINK) $(LIBS) +new.spec.c: new.spec new.o $(WINEBUILD) + $(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym new.o -o new.spec.c -spec new.spec +new.so: new.o new.spec.o + $(LDSHARED) $(LDDLLFLAGS) -o new.so $+ $(ALL_LIBS) -new: new.o new.spec.o - $(CC) -o new $+ -L$(DLLDIR) -luser32 -lgdi32 -lkernel32 -lntdll $(DLL_LINK) $(LIBS) +rolex.spec.c: rolex.spec rolex.o $(WINEBUILD) + $(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym rolex.o -o rolex.spec.c -spec rolex.spec +rolex.so: rolex.o rolex.spec.o + $(LDSHARED) $(LDDLLFLAGS) -o rolex.so $+ $(ALL_LIBS) -rolex: rolex.o rolex.spec.o - $(CC) -o rolex $+ -L$(DLLDIR) -luser32 -lgdi32 -lkernel32 -lntdll $(DLL_LINK) $(LIBS) +vartest.spec.c: vartest.spec vartest.o $(WINEBUILD) + $(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym vartest.o -o vartest.spec.c -spec vartest.spec +vartest.so: vartest.o vartest.spec.o + $(LDSHARED) $(LDDLLFLAGS) -o vartest.so $+ $(ALL_LIBS) -vartest: vartest.o vartest.spec.o - $(CC) -o vartest $+ -L$(DLLDIR) -ladvapi32 -lcomctl32 -lgdi32 -lkernel32 -lole32 -loleaut32 -lrpcrt4 -luser32 -lntdll $(DLL_LINK) $(LIBS) +volinfo.spec.c: volinfo.spec volinfo.o $(WINEBUILD) + $(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L $(DLLDIR) -sym volinfo.o -o volinfo.spec.c -spec volinfo.spec +volinfo.so: volinfo.o volinfo.spec.o + $(LDSHARED) $(LDDLLFLAGS) -o volinfo.so $+ $(ALL_LIBS) -volinfo: volinfo.o volinfo.spec.o - $(CC) -o volinfo $+ -L$(DLLDIR) -lntdll $(DLL_LINK) $(LIBS) +$(PROGRAMS): + $(LN_S) $(TOPOBJDIR)/wine $@ + +$(PROGRAMS:%=%.so/_checklink_): $(PROGRAMS:%=%.so) + $(CC) -o checklink $(TOPSRCDIR)/library/checklink.c `dirname $@` $(ALL_LIBS) && $(RM) checklink + +checklink:: $(PROGRAMS:%=%.so/_checklink_) ### Dependencies: diff --git a/libtest/expand.spec b/libtest/expand.spec index 21c495f0fbb..a9f4513a10d 100644 --- a/libtest/expand.spec +++ b/libtest/expand.spec @@ -1,4 +1,7 @@ name expand mode guiexe type win32 -init WinMain + +import lz32.dll +import kernel32.dll +import ntdll.dll diff --git a/libtest/hello.spec b/libtest/hello.spec index 623a3d081ac..a42049cd8f7 100644 --- a/libtest/hello.spec +++ b/libtest/hello.spec @@ -1,4 +1,8 @@ name hello mode guiexe type win32 -init WinMain + +import user32.dll +import gdi32.dll +import kernel32.dll +import ntdll.dll diff --git a/libtest/hello2.spec b/libtest/hello2.spec index 2b5db6e63f7..56568eec8fd 100644 --- a/libtest/hello2.spec +++ b/libtest/hello2.spec @@ -1,4 +1,7 @@ name hello2 mode guiexe type win32 -init WinMain + +import user32.dll +import kernel32.dll +import ntdll.dll diff --git a/libtest/hello3.spec b/libtest/hello3.spec index 67b1097677d..38546b48f2c 100644 --- a/libtest/hello3.spec +++ b/libtest/hello3.spec @@ -1,5 +1,10 @@ name hello3 mode guiexe type win32 -init WinMain rsrc hello3res.res + +import comdlg32.dll +import user32.dll +import gdi32.dll +import kernel32.dll +import ntdll.dll diff --git a/libtest/hello4.c b/libtest/hello4.c index 6e247cb6e16..a633db29b39 100644 --- a/libtest/hello4.c +++ b/libtest/hello4.c @@ -4,7 +4,7 @@ /* even in MS Visual C++ */ #include "windef.h" #include "wingdi.h" -#include +/*#include */ void Write (HDC dc, int x, int y, char *s) { @@ -86,7 +86,7 @@ LRESULT CALLBACK WndProc2 (HWND wnd, UINT msg, WPARAM w, LPARAM l) case WM_MOVE: case WM_SIZE: InvalidateRect( wnd, &rectInfo, TRUE ); - CalcChildScroll16( (UINT16)GetParent(wnd), SB_BOTH ); + /*CalcChildScroll16( (UINT16)GetParent(wnd), SB_BOTH );*/ break; case WM_DESTROY: diff --git a/libtest/hello4.spec b/libtest/hello4.spec index 09699c30e6f..9c34f003103 100644 --- a/libtest/hello4.spec +++ b/libtest/hello4.spec @@ -1,4 +1,8 @@ name hello4 mode guiexe type win32 -init WinMain + +import user32.dll +import gdi32.dll +import kernel32.dll +import ntdll.dll diff --git a/libtest/hello5.spec b/libtest/hello5.spec index b619b3cd100..620b887f9e6 100644 --- a/libtest/hello5.spec +++ b/libtest/hello5.spec @@ -1,4 +1,7 @@ name hello5 mode guiexe type win32 -init WinMain + +import kernel32.dll +import ntdll.dll + diff --git a/libtest/new.spec b/libtest/new.spec index 089b2b6e1af..caa2d2eb50d 100644 --- a/libtest/new.spec +++ b/libtest/new.spec @@ -1,4 +1,8 @@ name new mode guiexe type win32 -init WinMain + +import user32.dll +import gdi32.dll +import kernel32.dll +import ntdll.dll diff --git a/libtest/rolex.spec b/libtest/rolex.spec index df8d81b2bbd..00d6fce61cc 100644 --- a/libtest/rolex.spec +++ b/libtest/rolex.spec @@ -1,4 +1,8 @@ name rolex mode guiexe type win32 -init WinMain + +import user32.dll +import gdi32.dll +import kernel32.dll +import ntdll.dll diff --git a/libtest/vartest.c b/libtest/vartest.c index afff0f217a1..0df62bdfc65 100644 --- a/libtest/vartest.c +++ b/libtest/vartest.c @@ -56,49 +56,27 @@ #include -#ifdef __unix__ -#include -extern LPWSTR HEAP_strdupAtoW( HANDLE heap, DWORD flags, LPCSTR str ); -#endif +#define MAX_BUFFER 1024 -static const int MAX_BUFFER = 1024; - - -#ifndef __unix__ char* WtoA( OLECHAR* p ) { - int i = 0; - char* pc = (char *)malloc( MAX_BUFFER*sizeof(char) ); - pc[0] = '\"'; - pc++; - i = wcstombs( pc, p, MAX_BUFFER ); - if( i < MAX_BUFFER-1 ) - { - pc[i] = '\"'; - pc[i+1] = '\0'; - } - pc--; - return pc; + static char buffer[MAX_BUFFER]; + DWORD len = WideCharToMultiByte( CP_ACP, 0, p, -1, buffer+1, sizeof(buffer)-3, NULL, NULL ); + buffer[0] = '\"'; + buffer[len] = '\"'; + buffer[len+1] = 0; + return buffer; } OLECHAR* AtoW( char* p ) { - int i = 0; - OLECHAR* pwc = (OLECHAR *)malloc( MAX_BUFFER*sizeof(OLECHAR) ); - i = mbstowcs( pwc, p, MAX_BUFFER ); - return pwc; + OLECHAR *buffer; + DWORD len = MultiByteToWideChar( CP_ACP, 0, p, -1, NULL, 0 ); + buffer = malloc( len * sizeof(OLECHAR) ); + MultiByteToWideChar( CP_ACP, 0, p, -1, buffer, len ); + return buffer; } -#else -char* WtoA( OLECHAR* p ) -{ - return debugstr_wn( p, MAX_BUFFER ); -} -OLECHAR* AtoW( char* p ) -{ - return HEAP_strdupAtoW( GetProcessHeap(), 0, p ); -} -#endif int PASCAL WinMain (HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show) diff --git a/libtest/vartest.spec b/libtest/vartest.spec index 1d80e247134..8dcf0d17602 100644 --- a/libtest/vartest.spec +++ b/libtest/vartest.spec @@ -1,4 +1,7 @@ name vartest mode guiexe type win32 -init WinMain + +import oleaut32.dll +import kernel32.dll +import ntdll.dll diff --git a/libtest/volinfo.spec b/libtest/volinfo.spec index a5a94bffa61..eaba29d3a08 100644 --- a/libtest/volinfo.spec +++ b/libtest/volinfo.spec @@ -1,4 +1,6 @@ name volinfo mode guiexe type win32 -init WinMain + +import kernel32.dll +import ntdll.dll