libwine: New naming scheme for 16-bit builtin dlls.

Stop using symlinks for 16-bit dlls to make sure they don't get loaded
by mistake when looking for a 32-bit dll.
This commit is contained in:
Alexandre Julliard 2006-02-16 13:44:38 +01:00
parent 9774745330
commit aed49d439e
5 changed files with 184 additions and 117 deletions

50
dlls/.gitignore vendored
View File

@ -2,6 +2,19 @@ Makedll.rules
Makefile Makefile
Makeimplib.rules Makeimplib.rules
Maketest.rules Maketest.rules
avifile.dll16
comm.drv16
commdlg.dll16
compobj.dll16
ctl3d.dll16
ctl3dv2.dll16
ddeml.dll16
dispdib.dll16
display.drv16
gdi.exe16
imm.dll16
keyboard.drv16
krnl386.exe16
libcomdlg32.def libcomdlg32.def
libgdi32.def libgdi32.def
libkernel32.def libkernel32.def
@ -9,7 +22,42 @@ liblz32.def
libmsacm32.def libmsacm32.def
libmsvfw32.def libmsvfw32.def
libuser32.def libuser32.def
libw32skrnl.def
libwinnls32.def libwinnls32.def
libwnaspi32.def libwnaspi32.def
libws2_32.def libws2_32.def
lzexpand.dll16
mmsystem.dll16
mouse.drv16
msacm.dll16
msvideo.dll16
ole2.dll16
ole2conv.dll16
ole2disp.dll16
ole2nls.dll16
ole2prox.dll16
ole2thk.dll16
olecli.dll16
olesvr.dll16
rasapi16.dll16
setupx.dll16
shell.dll16
sound.drv16
storage.dll16
stress.dll16
system.drv16
toolhelp.dll16
twain.dll16
typelib.dll16
user.exe16
ver.dll16
w32sys.dll16
win32s16.dll16
win87em.dll16
winaspi.dll16
windebug.dll16
wineps16.drv16
wing.dll16
winnls.dll16
winsock.dll16
wintab.dll16
wprocs.dll16

View File

@ -99,9 +99,9 @@ doc-sgml: $(C_SRCS)
# Rules for installation # Rules for installation
EXE_SPECS16 = $(SPEC_SRCS16:.exe.spec=.exe) EXE_SPECS16 = $(SPEC_SRCS16:.exe.spec=.exe16)
DRV_SPECS16 = $(EXE_SPECS16:.drv.spec=.drv) DRV_SPECS16 = $(EXE_SPECS16:.drv.spec=.drv16)
ALL_SPECS16 = $(DRV_SPECS16:.spec=.dll) ALL_SPECS16 = $(DRV_SPECS16:.spec=.dll16)
WIN16_INSTALL = $(ALL_SPECS16:%=_install_/%) WIN16_INSTALL = $(ALL_SPECS16:%=_install_/%)
@ -109,7 +109,7 @@ WIN16_INSTALL = $(ALL_SPECS16:%=_install_/%)
.PHONY: $(ALL_SPECS16:%=_install_/%) $(IMPORTLIB:%=_install_/%) $(IMPLIB_OBJS:%=_install_static_implib_/%) .PHONY: $(ALL_SPECS16:%=_install_/%) $(IMPORTLIB:%=_install_/%) $(IMPLIB_OBJS:%=_install_static_implib_/%)
$(ALL_SPECS16:%=_install_/%): install_lib $(ALL_SPECS16:%=_install_/%): install_lib
cd $(DESTDIR)$(dlldir) && $(RM) `basename $@`$(DLLEXT) && $(LN_S) $(MODULE)$(DLLEXT) `basename $@`$(DLLEXT) echo "$(MODULE)" > $(DESTDIR)$(dlldir)/`basename $@`
install_lib: $(MODULE)$(DLLEXT) install_lib: $(MODULE)$(DLLEXT)
$(MKINSTALLDIRS) $(DESTDIR)$(dlldir) $(MKINSTALLDIRS) $(DESTDIR)$(dlldir)
@ -132,7 +132,7 @@ install install-lib:: install_lib @WIN16_INSTALL@
install install-dev:: $(IMPORTLIB:%=_install_/%) $(IMPLIB_OBJS:%=_install_static_implib_/%) install install-dev:: $(IMPORTLIB:%=_install_/%) $(IMPLIB_OBJS:%=_install_static_implib_/%)
uninstall:: uninstall::
-cd $(DESTDIR)$(dlldir) && $(RM) $(MODULE)$(DLLEXT) $(IMPORTLIB) $(STATICIMPLIB) $(ALL_SPECS16:%=%$(DLLEXT)) -cd $(DESTDIR)$(dlldir) && $(RM) $(MODULE)$(DLLEXT) $(IMPORTLIB) $(STATICIMPLIB) $(ALL_SPECS16)
# Misc. rules # Misc. rules

View File

@ -208,55 +208,55 @@ INSTALLSUBDIRS = $(BUILDSUBDIRS) $(IMPLIBSUBDIRS)
# Symbolic links # Symbolic links
WIN16_FILES = \ WIN16_FILES = \
avifile.dll.so \ avifile.dll16 \
comm.drv.so \ comm.drv16 \
commdlg.dll.so \ commdlg.dll16 \
compobj.dll.so \ compobj.dll16 \
ctl3d.dll.so \ ctl3d.dll16 \
ctl3dv2.dll.so \ ctl3dv2.dll16 \
ddeml.dll.so \ ddeml.dll16 \
dispdib.dll.so \ dispdib.dll16 \
display.drv.so \ display.drv16 \
gdi.exe.so \ gdi.exe16 \
imm.dll.so \ imm.dll16 \
keyboard.drv.so \ keyboard.drv16 \
krnl386.exe.so \ krnl386.exe16 \
lzexpand.dll.so \ lzexpand.dll16 \
mmsystem.dll.so \ mmsystem.dll16 \
mouse.drv.so \ mouse.drv16 \
msacm.dll.so \ msacm.dll16 \
msvideo.dll.so \ msvideo.dll16 \
ole2.dll.so \ ole2.dll16 \
ole2conv.dll.so \ ole2conv.dll16 \
ole2disp.dll.so \ ole2disp.dll16 \
ole2nls.dll.so \ ole2nls.dll16 \
ole2prox.dll.so \ ole2prox.dll16 \
ole2thk.dll.so \ ole2thk.dll16 \
olecli.dll.so \ olecli.dll16 \
olesvr.dll.so \ olesvr.dll16 \
rasapi16.dll.so \ rasapi16.dll16 \
setupx.dll.so \ setupx.dll16 \
shell.dll.so \ shell.dll16 \
sound.drv.so \ sound.drv16 \
storage.dll.so \ storage.dll16 \
stress.dll.so \ stress.dll16 \
system.drv.so \ system.drv16 \
toolhelp.dll.so \ toolhelp.dll16 \
twain.dll.so \ twain.dll16 \
typelib.dll.so \ typelib.dll16 \
user.exe.so \ user.exe16 \
ver.dll.so \ ver.dll16 \
w32sys.dll.so \ w32sys.dll16 \
win32s16.dll.so \ win32s16.dll16 \
win87em.dll.so \ win87em.dll16 \
winaspi.dll.so \ winaspi.dll16 \
windebug.dll.so \ windebug.dll16 \
wineps16.drv.so \ wineps16.drv16 \
wing.dll.so \ wing.dll16 \
winnls.dll.so \ winnls.dll16 \
winsock.dll.so \ winsock.dll16 \
wintab.dll.so \ wintab.dll16 \
wprocs.dll.so wprocs.dll16
SYMLINKS_SO = \ SYMLINKS_SO = \
$(EXTRADIRS:%=%.dll.so) \ $(EXTRADIRS:%=%.dll.so) \
@ -466,8 +466,8 @@ avicap32.dll.so: avicap32/avicap32.dll.so
avifil32.dll.so: avifil32/avifil32.dll.so avifil32.dll.so: avifil32/avifil32.dll.so
$(RM) $@ && $(LN_S) avifil32/avifil32.dll.so $@ $(RM) $@ && $(LN_S) avifil32/avifil32.dll.so $@
avifile.dll.so : avifil32.dll.so avifile.dll16 : avifil32.dll.so
$(RM) $@ && $(LN_S) avifil32.dll.so $@ echo "avifil32.dll" >$@
cabinet.dll.so: cabinet/cabinet.dll.so cabinet.dll.so: cabinet/cabinet.dll.so
$(RM) $@ && $(LN_S) cabinet/cabinet.dll.so $@ $(RM) $@ && $(LN_S) cabinet/cabinet.dll.so $@
@ -490,8 +490,8 @@ comctl32.dll.so: comctl32/comctl32.dll.so
comdlg32.dll.so: commdlg/comdlg32.dll.so comdlg32.dll.so: commdlg/comdlg32.dll.so
$(RM) $@ && $(LN_S) commdlg/comdlg32.dll.so $@ $(RM) $@ && $(LN_S) commdlg/comdlg32.dll.so $@
commdlg.dll.so : comdlg32.dll.so commdlg.dll16 : comdlg32.dll.so
$(RM) $@ && $(LN_S) comdlg32.dll.so $@ echo "comdlg32.dll" >$@
crtdll.dll.so: crtdll/crtdll.dll.so crtdll.dll.so: crtdll/crtdll.dll.so
$(RM) $@ && $(LN_S) crtdll/crtdll.dll.so $@ $(RM) $@ && $(LN_S) crtdll/crtdll.dll.so $@
@ -505,8 +505,8 @@ cryptdll.dll.so: cryptdll/cryptdll.dll.so
ctl3d32.dll.so: ctl3d32/ctl3d32.dll.so ctl3d32.dll.so: ctl3d32/ctl3d32.dll.so
$(RM) $@ && $(LN_S) ctl3d32/ctl3d32.dll.so $@ $(RM) $@ && $(LN_S) ctl3d32/ctl3d32.dll.so $@
ctl3d.dll.so ctl3dv2.dll.so : ctl3d32.dll.so ctl3d.dll16 ctl3dv2.dll16 : ctl3d32.dll.so
$(RM) $@ && $(LN_S) ctl3d32.dll.so $@ echo "ctl3d32.dll" >$@
d3d8.dll.so: d3d8/d3d8.dll.so d3d8.dll.so: d3d8/d3d8.dll.so
$(RM) $@ && $(LN_S) d3d8/d3d8.dll.so $@ $(RM) $@ && $(LN_S) d3d8/d3d8.dll.so $@
@ -595,8 +595,8 @@ dxdiagn.dll.so: dxdiagn/dxdiagn.dll.so
gdi32.dll.so: gdi/gdi32.dll.so gdi32.dll.so: gdi/gdi32.dll.so
$(RM) $@ && $(LN_S) gdi/gdi32.dll.so $@ $(RM) $@ && $(LN_S) gdi/gdi32.dll.so $@
dispdib.dll.so gdi.exe.so wing.dll.so : gdi32.dll.so dispdib.dll16 gdi.exe16 wing.dll16 : gdi32.dll.so
$(RM) $@ && $(LN_S) gdi32.dll.so $@ echo "gdi32.dll" >$@
glu32.dll.so: glu32/glu32.dll.so glu32.dll.so: glu32/glu32.dll.so
$(RM) $@ && $(LN_S) glu32/glu32.dll.so $@ $(RM) $@ && $(LN_S) glu32/glu32.dll.so $@
@ -625,8 +625,8 @@ imagehlp.dll.so: imagehlp/imagehlp.dll.so
imm32.dll.so: imm32/imm32.dll.so imm32.dll.so: imm32/imm32.dll.so
$(RM) $@ && $(LN_S) imm32/imm32.dll.so $@ $(RM) $@ && $(LN_S) imm32/imm32.dll.so $@
imm.dll.so : imm32.dll.so imm.dll16 : imm32.dll.so
$(RM) $@ && $(LN_S) imm32.dll.so $@ echo "imm32.dll" >$@
iphlpapi.dll.so: iphlpapi/iphlpapi.dll.so iphlpapi.dll.so: iphlpapi/iphlpapi.dll.so
$(RM) $@ && $(LN_S) iphlpapi/iphlpapi.dll.so $@ $(RM) $@ && $(LN_S) iphlpapi/iphlpapi.dll.so $@
@ -640,16 +640,16 @@ joystick.drv.so: winmm/joystick/joystick.drv.so
kernel32.dll.so: kernel/kernel32.dll.so kernel32.dll.so: kernel/kernel32.dll.so
$(RM) $@ && $(LN_S) kernel/kernel32.dll.so $@ $(RM) $@ && $(LN_S) kernel/kernel32.dll.so $@
comm.drv.so krnl386.exe.so stress.dll.so \ comm.drv16 krnl386.exe16 stress.dll16 \
system.drv.so toolhelp.dll.so win87em.dll.so \ system.drv16 toolhelp.dll16 win87em.dll16 \
windebug.dll.so : kernel32.dll.so windebug.dll16 : kernel32.dll.so
$(RM) $@ && $(LN_S) kernel32.dll.so $@ echo "kernel32.dll" >$@
lz32.dll.so: lzexpand/lz32.dll.so lz32.dll.so: lzexpand/lz32.dll.so
$(RM) $@ && $(LN_S) lzexpand/lz32.dll.so $@ $(RM) $@ && $(LN_S) lzexpand/lz32.dll.so $@
lzexpand.dll.so : lz32.dll.so lzexpand.dll16 : lz32.dll.so
$(RM) $@ && $(LN_S) lz32.dll.so $@ echo "lz32.dll" >$@
mapi32.dll.so: mapi32/mapi32.dll.so mapi32.dll.so: mapi32/mapi32.dll.so
$(RM) $@ && $(LN_S) mapi32/mapi32.dll.so $@ $(RM) $@ && $(LN_S) mapi32/mapi32.dll.so $@
@ -687,8 +687,8 @@ msacm.drv.so: winmm/wavemap/msacm.drv.so
msacm32.dll.so: msacm/msacm32.dll.so msacm32.dll.so: msacm/msacm32.dll.so
$(RM) $@ && $(LN_S) msacm/msacm32.dll.so $@ $(RM) $@ && $(LN_S) msacm/msacm32.dll.so $@
msacm.dll.so : msacm32.dll.so msacm.dll16 : msacm32.dll.so
$(RM) $@ && $(LN_S) msacm32.dll.so $@ echo "msacm32.dll" >$@
msadp32.acm.so: msacm/msadp32/msadp32.acm.so msadp32.acm.so: msacm/msadp32/msadp32.acm.so
$(RM) $@ && $(LN_S) msacm/msadp32/msadp32.acm.so $@ $(RM) $@ && $(LN_S) msacm/msadp32/msadp32.acm.so $@
@ -735,8 +735,8 @@ msvcrtd.dll.so: msvcrtd/msvcrtd.dll.so
msvfw32.dll.so: msvideo/msvfw32.dll.so msvfw32.dll.so: msvideo/msvfw32.dll.so
$(RM) $@ && $(LN_S) msvideo/msvfw32.dll.so $@ $(RM) $@ && $(LN_S) msvideo/msvfw32.dll.so $@
msvideo.dll.so : msvfw32.dll.so msvideo.dll16 : msvfw32.dll.so
$(RM) $@ && $(LN_S) msvfw32.dll.so $@ echo "msvfw32.dll" >$@
msvidc32.dll.so: msvidc32/msvidc32.dll.so msvidc32.dll.so: msvidc32/msvidc32.dll.so
$(RM) $@ && $(LN_S) msvidc32/msvidc32.dll.so $@ $(RM) $@ && $(LN_S) msvidc32/msvidc32.dll.so $@
@ -768,10 +768,10 @@ odbccp32.dll.so: odbccp32/odbccp32.dll.so
ole32.dll.so: ole32/ole32.dll.so ole32.dll.so: ole32/ole32.dll.so
$(RM) $@ && $(LN_S) ole32/ole32.dll.so $@ $(RM) $@ && $(LN_S) ole32/ole32.dll.so $@
compobj.dll.so ole2.dll.so ole2conv.dll.so \ compobj.dll16 ole2.dll16 ole2conv.dll16 \
ole2nls.dll.so ole2prox.dll.so ole2thk.dll.so \ ole2nls.dll16 ole2prox.dll16 ole2thk.dll16 \
storage.dll.so : ole32.dll.so storage.dll16 : ole32.dll.so
$(RM) $@ && $(LN_S) ole32.dll.so $@ echo "ole32.dll" >$@
oleacc.dll.so: oleacc/oleacc.dll.so oleacc.dll.so: oleacc/oleacc.dll.so
$(RM) $@ && $(LN_S) oleacc/oleacc.dll.so $@ $(RM) $@ && $(LN_S) oleacc/oleacc.dll.so $@
@ -779,14 +779,14 @@ oleacc.dll.so: oleacc/oleacc.dll.so
oleaut32.dll.so: oleaut32/oleaut32.dll.so oleaut32.dll.so: oleaut32/oleaut32.dll.so
$(RM) $@ && $(LN_S) oleaut32/oleaut32.dll.so $@ $(RM) $@ && $(LN_S) oleaut32/oleaut32.dll.so $@
ole2disp.dll.so typelib.dll.so : oleaut32.dll.so ole2disp.dll16 typelib.dll16 : oleaut32.dll.so
$(RM) $@ && $(LN_S) oleaut32.dll.so $@ echo "oleaut32.dll" >$@
olecli32.dll.so: olecli32/olecli32.dll.so olecli32.dll.so: olecli32/olecli32.dll.so
$(RM) $@ && $(LN_S) olecli32/olecli32.dll.so $@ $(RM) $@ && $(LN_S) olecli32/olecli32.dll.so $@
olecli.dll.so : olecli32.dll.so olecli.dll16 : olecli32.dll.so
$(RM) $@ && $(LN_S) olecli32.dll.so $@ echo "olecli32.dll" >$@
oledlg.dll.so: oledlg/oledlg.dll.so oledlg.dll.so: oledlg/oledlg.dll.so
$(RM) $@ && $(LN_S) oledlg/oledlg.dll.so $@ $(RM) $@ && $(LN_S) oledlg/oledlg.dll.so $@
@ -797,8 +797,8 @@ olepro32.dll.so: olepro32/olepro32.dll.so
olesvr32.dll.so: olesvr32/olesvr32.dll.so olesvr32.dll.so: olesvr32/olesvr32.dll.so
$(RM) $@ && $(LN_S) olesvr32/olesvr32.dll.so $@ $(RM) $@ && $(LN_S) olesvr32/olesvr32.dll.so $@
olesvr.dll.so : olesvr32.dll.so olesvr.dll16 : olesvr32.dll.so
$(RM) $@ && $(LN_S) olesvr32.dll.so $@ echo "olesvr32.dll" >$@
opengl32.dll.so: opengl32/opengl32.dll.so opengl32.dll.so: opengl32/opengl32.dll.so
$(RM) $@ && $(LN_S) opengl32/opengl32.dll.so $@ $(RM) $@ && $(LN_S) opengl32/opengl32.dll.so $@
@ -818,8 +818,8 @@ quartz.dll.so: quartz/quartz.dll.so
rasapi32.dll.so: rasapi32/rasapi32.dll.so rasapi32.dll.so: rasapi32/rasapi32.dll.so
$(RM) $@ && $(LN_S) rasapi32/rasapi32.dll.so $@ $(RM) $@ && $(LN_S) rasapi32/rasapi32.dll.so $@
rasapi16.dll.so : rasapi32.dll.so rasapi16.dll16 : rasapi32.dll.so
$(RM) $@ && $(LN_S) rasapi32.dll.so $@ echo "rasapi32.dll" >$@
riched20.dll.so: riched20/riched20.dll.so riched20.dll.so: riched20/riched20.dll.so
$(RM) $@ && $(LN_S) riched20/riched20.dll.so $@ $(RM) $@ && $(LN_S) riched20/riched20.dll.so $@
@ -851,8 +851,8 @@ serialui.dll.so: serialui/serialui.dll.so
setupapi.dll.so: setupapi/setupapi.dll.so setupapi.dll.so: setupapi/setupapi.dll.so
$(RM) $@ && $(LN_S) setupapi/setupapi.dll.so $@ $(RM) $@ && $(LN_S) setupapi/setupapi.dll.so $@
setupx.dll.so : setupapi.dll.so setupx.dll16 : setupapi.dll.so
$(RM) $@ && $(LN_S) setupapi.dll.so $@ echo "setupapi.dll" >$@
sfc.dll.so: sfc/sfc.dll.so sfc.dll.so: sfc/sfc.dll.so
$(RM) $@ && $(LN_S) sfc/sfc.dll.so $@ $(RM) $@ && $(LN_S) sfc/sfc.dll.so $@
@ -863,8 +863,8 @@ shdocvw.dll.so: shdocvw/shdocvw.dll.so
shell32.dll.so: shell32/shell32.dll.so shell32.dll.so: shell32/shell32.dll.so
$(RM) $@ && $(LN_S) shell32/shell32.dll.so $@ $(RM) $@ && $(LN_S) shell32/shell32.dll.so $@
shell.dll.so : shell32.dll.so shell.dll16 : shell32.dll.so
$(RM) $@ && $(LN_S) shell32.dll.so $@ echo "shell32.dll" >$@
shfolder.dll.so: shfolder/shfolder.dll.so shfolder.dll.so: shfolder/shfolder.dll.so
$(RM) $@ && $(LN_S) shfolder/shfolder.dll.so $@ $(RM) $@ && $(LN_S) shfolder/shfolder.dll.so $@
@ -890,8 +890,8 @@ tapi32.dll.so: tapi32/tapi32.dll.so
twain_32.dll.so: twain/twain_32.dll.so twain_32.dll.so: twain/twain_32.dll.so
$(RM) $@ && $(LN_S) twain/twain_32.dll.so $@ $(RM) $@ && $(LN_S) twain/twain_32.dll.so $@
twain.dll.so : twain_32.dll.so twain.dll16 : twain_32.dll.so
$(RM) $@ && $(LN_S) twain_32.dll.so $@ echo "twain_32.dll" >$@
unicows.dll.so: unicows/unicows.dll.so unicows.dll.so: unicows/unicows.dll.so
$(RM) $@ && $(LN_S) unicows/unicows.dll.so $@ $(RM) $@ && $(LN_S) unicows/unicows.dll.so $@
@ -905,9 +905,9 @@ urlmon.dll.so: urlmon/urlmon.dll.so
user32.dll.so: user/user32.dll.so user32.dll.so: user/user32.dll.so
$(RM) $@ && $(LN_S) user/user32.dll.so $@ $(RM) $@ && $(LN_S) user/user32.dll.so $@
ddeml.dll.so display.drv.so keyboard.drv.so \ ddeml.dll16 display.drv16 keyboard.drv16 \
mouse.drv.so user.exe.so : user32.dll.so mouse.drv16 user.exe16 : user32.dll.so
$(RM) $@ && $(LN_S) user32.dll.so $@ echo "user32.dll" >$@
usp10.dll.so: usp10/usp10.dll.so usp10.dll.so: usp10/usp10.dll.so
$(RM) $@ && $(LN_S) usp10/usp10.dll.so $@ $(RM) $@ && $(LN_S) usp10/usp10.dll.so $@
@ -924,8 +924,8 @@ vdmdbg.dll.so: vdmdbg/vdmdbg.dll.so
version.dll.so: version/version.dll.so version.dll.so: version/version.dll.so
$(RM) $@ && $(LN_S) version/version.dll.so $@ $(RM) $@ && $(LN_S) version/version.dll.so $@
ver.dll.so : version.dll.so ver.dll16 : version.dll.so
$(RM) $@ && $(LN_S) version.dll.so $@ echo "version.dll" >$@
vmm.vxd.so: vmm.vxd/vmm.vxd.so vmm.vxd.so: vmm.vxd/vmm.vxd.so
$(RM) $@ && $(LN_S) vmm.vxd/vmm.vxd.so $@ $(RM) $@ && $(LN_S) vmm.vxd/vmm.vxd.so $@
@ -945,8 +945,8 @@ vwin32.vxd.so: vwin32.vxd/vwin32.vxd.so
w32skrnl.dll.so: win32s/w32skrnl.dll.so w32skrnl.dll.so: win32s/w32skrnl.dll.so
$(RM) $@ && $(LN_S) win32s/w32skrnl.dll.so $@ $(RM) $@ && $(LN_S) win32s/w32skrnl.dll.so $@
w32sys.dll.so win32s16.dll.so : w32skrnl.dll.so w32sys.dll16 win32s16.dll16 : w32skrnl.dll.so
$(RM) $@ && $(LN_S) w32skrnl.dll.so $@ echo "w32skrnl.dll" >$@
winealsa.drv.so: winmm/winealsa/winealsa.drv.so winealsa.drv.so: winmm/winealsa/winealsa.drv.so
$(RM) $@ && $(LN_S) winmm/winealsa/winealsa.drv.so $@ $(RM) $@ && $(LN_S) winmm/winealsa/winealsa.drv.so $@
@ -963,8 +963,8 @@ wined3d.dll.so: wined3d/wined3d.dll.so
winedos.dll.so: winedos/winedos.dll.so winedos.dll.so: winedos/winedos.dll.so
$(RM) $@ && $(LN_S) winedos/winedos.dll.so $@ $(RM) $@ && $(LN_S) winedos/winedos.dll.so $@
wprocs.dll.so : winedos.dll.so wprocs.dll16 : winedos.dll.so
$(RM) $@ && $(LN_S) winedos.dll.so $@ echo "winedos.dll" >$@
wineesd.drv.so: winmm/wineesd/wineesd.drv.so wineesd.drv.so: winmm/wineesd/wineesd.drv.so
$(RM) $@ && $(LN_S) winmm/wineesd/wineesd.drv.so $@ $(RM) $@ && $(LN_S) winmm/wineesd/wineesd.drv.so $@
@ -984,8 +984,8 @@ wineoss.drv.so: winmm/wineoss/wineoss.drv.so
wineps.drv.so: wineps/wineps.drv.so wineps.drv.so: wineps/wineps.drv.so
$(RM) $@ && $(LN_S) wineps/wineps.drv.so $@ $(RM) $@ && $(LN_S) wineps/wineps.drv.so $@
wineps16.drv.so : wineps.drv.so wineps16.drv16 : wineps.drv.so
$(RM) $@ && $(LN_S) wineps.drv.so $@ echo "wineps.drv" >$@
winex11.drv.so: x11drv/winex11.drv.so winex11.drv.so: x11drv/winex11.drv.so
$(RM) $@ && $(LN_S) x11drv/winex11.drv.so $@ $(RM) $@ && $(LN_S) x11drv/winex11.drv.so $@
@ -996,14 +996,14 @@ wininet.dll.so: wininet/wininet.dll.so
winmm.dll.so: winmm/winmm.dll.so winmm.dll.so: winmm/winmm.dll.so
$(RM) $@ && $(LN_S) winmm/winmm.dll.so $@ $(RM) $@ && $(LN_S) winmm/winmm.dll.so $@
mmsystem.dll.so sound.drv.so : winmm.dll.so mmsystem.dll16 sound.drv16 : winmm.dll.so
$(RM) $@ && $(LN_S) winmm.dll.so $@ echo "winmm.dll" >$@
winnls32.dll.so: winnls/winnls32.dll.so winnls32.dll.so: winnls/winnls32.dll.so
$(RM) $@ && $(LN_S) winnls/winnls32.dll.so $@ $(RM) $@ && $(LN_S) winnls/winnls32.dll.so $@
winnls.dll.so : winnls32.dll.so winnls.dll16 : winnls32.dll.so
$(RM) $@ && $(LN_S) winnls32.dll.so $@ echo "winnls32.dll" >$@
winspool.drv.so: winspool/winspool.drv.so winspool.drv.so: winspool/winspool.drv.so
$(RM) $@ && $(LN_S) winspool/winspool.drv.so $@ $(RM) $@ && $(LN_S) winspool/winspool.drv.so $@
@ -1011,8 +1011,8 @@ winspool.drv.so: winspool/winspool.drv.so
wintab32.dll.so: wintab32/wintab32.dll.so wintab32.dll.so: wintab32/wintab32.dll.so
$(RM) $@ && $(LN_S) wintab32/wintab32.dll.so $@ $(RM) $@ && $(LN_S) wintab32/wintab32.dll.so $@
wintab.dll.so : wintab32.dll.so wintab.dll16 : wintab32.dll.so
$(RM) $@ && $(LN_S) wintab32.dll.so $@ echo "wintab32.dll" >$@
wintrust.dll.so: wintrust/wintrust.dll.so wintrust.dll.so: wintrust/wintrust.dll.so
$(RM) $@ && $(LN_S) wintrust/wintrust.dll.so $@ $(RM) $@ && $(LN_S) wintrust/wintrust.dll.so $@
@ -1023,8 +1023,8 @@ wldap32.dll.so: wldap32/wldap32.dll.so
wnaspi32.dll.so: winaspi/wnaspi32.dll.so wnaspi32.dll.so: winaspi/wnaspi32.dll.so
$(RM) $@ && $(LN_S) winaspi/wnaspi32.dll.so $@ $(RM) $@ && $(LN_S) winaspi/wnaspi32.dll.so $@
winaspi.dll.so : wnaspi32.dll.so winaspi.dll16 : wnaspi32.dll.so
$(RM) $@ && $(LN_S) wnaspi32.dll.so $@ echo "wnaspi32.dll" >$@
wow32.dll.so: wow32/wow32.dll.so wow32.dll.so: wow32/wow32.dll.so
$(RM) $@ && $(LN_S) wow32/wow32.dll.so $@ $(RM) $@ && $(LN_S) wow32/wow32.dll.so $@
@ -1032,8 +1032,8 @@ wow32.dll.so: wow32/wow32.dll.so
ws2_32.dll.so: winsock/ws2_32.dll.so ws2_32.dll.so: winsock/ws2_32.dll.so
$(RM) $@ && $(LN_S) winsock/ws2_32.dll.so $@ $(RM) $@ && $(LN_S) winsock/ws2_32.dll.so $@
winsock.dll.so : ws2_32.dll.so winsock.dll16 : ws2_32.dll.so
$(RM) $@ && $(LN_S) ws2_32.dll.so $@ echo "ws2_32.dll" >$@
wsock32.dll.so: wsock32/wsock32.dll.so wsock32.dll.so: wsock32/wsock32.dll.so
$(RM) $@ && $(LN_S) wsock32/wsock32.dll.so $@ $(RM) $@ && $(LN_S) wsock32/wsock32.dll.so $@

View File

@ -170,7 +170,7 @@ foreach my $mod (sort keys %directories)
next unless defined $altnames{$mod}; next unless defined $altnames{$mod};
foreach my $i (sort @{$altnames{$mod}}) foreach my $i (sort @{$altnames{$mod}})
{ {
$targets16{sprintf("%s.so",$i)} = 1; $targets16{$i . "16"} = $mod;
} }
} }
foreach my $mod (sort keys %staticlib_dirs) { $targets{$mod} = 1; } foreach my $mod (sort keys %staticlib_dirs) { $targets{$mod} = 1; }
@ -230,10 +230,10 @@ foreach my $mod (sort keys %directories)
foreach my $i (sort @{$altnames{$mod}}) foreach my $i (sort @{$altnames{$mod}})
{ {
if ($count++ == 3) { printf NEWMAKE "\\\n "; $count = 1; } if ($count++ == 3) { printf NEWMAKE "\\\n "; $count = 1; }
printf NEWMAKE "%s.so ", $i; printf NEWMAKE "%s16 ", $i;
} }
printf NEWMAKE ": %s.so\n", $mod; printf NEWMAKE ": %s.so\n", $mod;
printf NEWMAKE "\t\$(RM) \$@ && \$(LN_S) %s.so \$@\n\n", $mod; printf NEWMAKE "\techo \"%s\" >\$\@\n\n", $mod;
} }
} }
foreach my $mod (sort keys %staticlib_dirs) foreach my $mod (sort keys %staticlib_dirs)

View File

@ -518,6 +518,25 @@ int wine_dll_get_owner( const char *name, char *buffer, int size, int *exists )
struct dll_path_context context; struct dll_path_context context;
*exists = 0; *exists = 0;
for (path = first_dll_path( name, "16", &context ); path; path = next_dll_path( &context ))
{
int fd = open( path, O_RDONLY );
if (fd != -1)
{
int res = read( fd, buffer, size - 1 );
while (res > 0 && (buffer[res-1] == '\n' || buffer[res-1] == '\r')) res--;
buffer[res] = 0;
close( fd );
*exists = 1;
ret = 0;
break;
}
}
free_dll_path( &context );
if (ret != -1) return ret;
/* try old method too for backwards compatibility; will be removed later on */
for (path = first_dll_path( name, ".so", &context ); path; path = next_dll_path( &context )) for (path = first_dll_path( name, ".so", &context ); path; path = next_dll_path( &context ))
{ {
int res = readlink( path, buffer, size ); int res = readlink( path, buffer, size );