Alexandre,
In the past functions that were declared stubs in the .spec file got a dummy definition, so programs using them could link. This doesn't seem to be the case anymore:
mingwrap -mwindows -mno-cygwin -s -o putty.exe be_all.o cmdline.o ldisc.o \ ldiscucs.o logging.o misc.o noise.o pageantc.o portfwd.o \ printing.o proxy.o raw.o rlogin.o settings.o sizetip.o ssh.o \ sshaes.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o sshdes.o \ sshdh.o sshdss.o sshmd5.o sshpubk.o sshrand.o sshrsa.o \ sshsh512.o sshsha.o sshzlib.o telnet.o terminal.o tree234.o \ unicode.o version.o wcwidth.o wildcard.o win_res.res.o \ winctrls.o windlg.o window.o winnet.o winstore.o winutils.o \ x11fwd.o -ladvapi32 -lcomctl32 -lcomdlg32 -lgdi32 -limm32 \ -lshell32 -luser32 -lwinmm -lwinspool -lwsock32 printing.o: In function `printer_start_job': printing.o(.text+0x1fa): undefined reference to `EndDocPrinter' printing.o(.text+0x20a): undefined reference to `EndPagePrinter' printing.o(.text+0x237): undefined reference to `StartDocPrinterA' printing.o(.text+0x24a): undefined reference to `StartPagePrinter' printing.o: In function `printer_finish_job': printing.o(.text+0x2b6): undefined reference to `EndPagePrinter' printing.o(.text+0x2bd): undefined reference to `EndDocPrinter' collect2: ld returned 1 exit status
How shall we proceed?
"Dimitrie O. Paun" dpaun@rogers.com writes:
printing.o: In function `printer_start_job': printing.o(.text+0x1fa): undefined reference to `EndDocPrinter' printing.o(.text+0x20a): undefined reference to `EndPagePrinter' printing.o(.text+0x237): undefined reference to `StartDocPrinterA' printing.o(.text+0x24a): undefined reference to `StartPagePrinter' printing.o: In function `printer_finish_job': printing.o(.text+0x2b6): undefined reference to `EndPagePrinter' printing.o(.text+0x2bd): undefined reference to `EndDocPrinter' collect2: ld returned 1 exit status
How shall we proceed?
We need to implement them, importing stubs no longer works (but of course you can do a stub implementation instead ;-)
On December 16, 2002 08:42 pm, Alexandre Julliard wrote:
We need to implement them, importing stubs no longer works (but of course you can do a stub implementation instead ;-)
Of, of, of, of, offff... :)
ChangeLog Add stubs for {Start,End}{Doc,Page}Printer.
Index: dlls/winspool/info.c =================================================================== RCS file: /var/cvs/wine/dlls/winspool/info.c,v retrieving revision 1.61 diff -u -r1.61 info.c --- dlls/winspool/info.c 12 Nov 2002 02:22:24 -0000 1.61 +++ dlls/winspool/info.c 17 Dec 2002 06:43:09 -0000 @@ -1274,6 +1274,51 @@ }
/***************************************************************************** + * EndDocPrinter [WINSPOOL.@] + */ +BOOL WINAPI EndDocPrinter(HANDLE hPrinter) +{ + FIXME("(hPrinter=%p): stub\n", hPrinter); + return FALSE; +} + +/***************************************************************************** + * EndPagePrinter [WINSPOOL.@] + */ +BOOL WINAPI EndPagePrinter(HANDLE hPrinter) +{ + FIXME("(hPrinter=%p): stub\n", hPrinter); + return FALSE; +} + +/***************************************************************************** + * StartDocPrinterA [WINSPOOL.@] + */ +DWORD WINAPI StartDocPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo) +{ + FIXME("(hPrinter=%p, Level=0x%lx, pDocInfo=%p): stub\n", hPrinter, Level, pDocInfo); + return FALSE; +} + +/***************************************************************************** + * StartDocPrinterW [WINSPOOL.@] + */ +DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo) +{ + FIXME("(hPrinter=%p, Level=0x%lx, pDocInfo=%p): stub\n", hPrinter, Level, pDocInfo); + return FALSE; +} + +/***************************************************************************** + * StartPagePrinter [WINSPOOL.@] + */ +BOOL WINAPI StartPagePrinter(HANDLE hPrinter) +{ + FIXME("(hPrinter=%p): stub\n", hPrinter); + return FALSE; +} + +/***************************************************************************** * GetFormA [WINSPOOL.@] */ BOOL WINAPI GetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level, Index: dlls/winspool/winspool.drv.spec =================================================================== RCS file: /var/cvs/wine/dlls/winspool/winspool.drv.spec,v retrieving revision 1.16 diff -u -r1.16 winspool.drv.spec --- dlls/winspool/winspool.drv.spec 4 Nov 2002 23:53:42 -0000 1.16 +++ dlls/winspool/winspool.drv.spec 17 Dec 2002 06:01:17 -0000 @@ -56,8 +56,8 @@ @ stdcall DocumentPropertiesA(long long ptr ptr ptr long) DocumentPropertiesA @ stdcall DocumentPropertiesW(long long ptr ptr ptr long) DocumentPropertiesW @ stub EXTDEVICEMODE -@ stub EndDocPrinter -@ stub EndPagePrinter +@ stdcall EndDocPrinter(long) EndDocPrinter +@ stdcall EndPagePrinter(long) EndPagePrinter @ stub EnumFormsA @ stub EnumFormsW @ stdcall EnumJobsA(long long long long ptr long ptr ptr) EnumJobsA @@ -127,8 +127,8 @@ @ stub SpoolerInit @ stub StartDocDlgA @ stub StartDocDlgW -@ stub StartDocPrinterA -@ stub StartDocPrinterW -@ stub StartPagePrinter +@ stdcall StartDocPrinterA(long long ptr) StartDocPrinterA +@ stdcall StartDocPrinterW(long long ptr) StartDocPrinterW +@ stdcall StartPagePrinter(long) StartPagePrinter @ stub WaitForPrinterChange @ stdcall WritePrinter(long ptr long ptr) WritePrinter