Link all remaining dlls except kernel32 as separated dlls, by

temporarily exporting the few functions that are not properly
separated yet.
This commit is contained in:
Alexandre Julliard 2002-09-06 18:51:31 +00:00
parent 1df18838f6
commit cea2e825b2
11 changed files with 163 additions and 38 deletions

View File

@ -771,8 +771,7 @@ crtdll: msvcrt.dll$(DLLEXT) kernel32.dll$(DLLEXT)
crypt32: advapi32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
d3d8: kernel32.dll$(DLLEXT)
dciman32: kernel32.dll$(DLLEXT)
ddraw: user32.dll$(DLLEXT) gdi32.dll$(DLLEXT) kernel32.dll$(DLLEXT) libuser32.dll.$(LIBEXT) \
libgdi32.dll.$(LIBEXT) libkernel32.dll.$(LIBEXT)
ddraw: user32.dll$(DLLEXT) gdi32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
devenum: kernel32.dll$(DLLEXT)
dinput8: dinput.dll$(DLLEXT)
dinput: user32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
@ -780,7 +779,7 @@ dplay: dplayx.dll$(DLLEXT)
dplayx: winmm.dll$(DLLEXT) ole32.dll$(DLLEXT) user32.dll$(DLLEXT) advapi32.dll$(DLLEXT) \
kernel32.dll$(DLLEXT)
dsound: winmm.dll$(DLLEXT) advapi32.dll$(DLLEXT) kernel32.dll$(DLLEXT) ntdll.dll$(DLLEXT)
gdi: advapi32.dll$(DLLEXT) kernel32.dll$(DLLEXT) libkernel32.dll.$(LIBEXT) libntdll.dll.$(LIBEXT)
gdi: advapi32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
glu32: kernel32.dll$(DLLEXT)
icmp: kernel32.dll$(DLLEXT)
imagehlp: kernel32.dll$(DLLEXT)
@ -831,17 +830,15 @@ shlwapi: ole32.dll$(DLLEXT) user32.dll$(DLLEXT) gdi32.dll$(DLLEXT) advapi32.dll
snmpapi: kernel32.dll$(DLLEXT)
sti: kernel32.dll$(DLLEXT)
tapi32: kernel32.dll$(DLLEXT)
ttydrv: user32.dll$(DLLEXT) gdi32.dll$(DLLEXT) kernel32.dll$(DLLEXT) libuser32.dll.$(LIBEXT) \
libgdi32.dll.$(LIBEXT) libkernel32.dll.$(LIBEXT)
ttydrv: user32.dll$(DLLEXT) gdi32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
twain: user32.dll$(DLLEXT) gdi32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
url: kernel32.dll$(DLLEXT)
urlmon: ole32.dll$(DLLEXT) wininet.dll$(DLLEXT) user32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
user: gdi32.dll$(DLLEXT) advapi32.dll$(DLLEXT) kernel32.dll$(DLLEXT) libgdi32.dll.$(LIBEXT) \
libkernel32.dll.$(LIBEXT) libntdll.dll.$(LIBEXT)
user: gdi32.dll$(DLLEXT) advapi32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
version: lz32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
win32s: kernel32.dll$(DLLEXT)
winaspi: advapi32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
winedos: user32.dll$(DLLEXT) kernel32.dll$(DLLEXT) libuser32.dll.$(LIBEXT) libkernel32.dll.$(LIBEXT)
winedos: user32.dll$(DLLEXT) kernel32.dll$(DLLEXT) ntdll.dll$(DLLEXT)
wineps: user32.dll$(DLLEXT) gdi32.dll$(DLLEXT) winspool.drv$(DLLEXT) advapi32.dll$(DLLEXT) \
kernel32.dll$(DLLEXT)
wininet: shlwapi.dll$(DLLEXT) user32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
@ -867,24 +864,15 @@ wintrust: kernel32.dll$(DLLEXT)
wow32: kernel32.dll$(DLLEXT)
wsock32: ws2_32.dll$(DLLEXT) kernel32.dll$(DLLEXT)
x11drv: user32.dll$(DLLEXT) gdi32.dll$(DLLEXT) advapi32.dll$(DLLEXT) kernel32.dll$(DLLEXT) \
libuser32.dll.$(LIBEXT) libgdi32.dll.$(LIBEXT) libkernel32.dll.$(LIBEXT)
ntdll.dll$(DLLEXT)
# Special targets for dlls that we need to link to
LINKABLE_DLLS = ntdll.dll gdi32.dll user32.dll kernel32.dll
LINKABLE_DLLS = ntdll.dll
libntdll.dll.$(LIBEXT): ntdll/ntdll.dll$(DLLEXT)
$(RM) $@ && $(LN_S) ntdll/ntdll.dll$(DLLEXT) $@
libgdi32.dll.$(LIBEXT): gdi/gdi32.dll$(DLLEXT)
$(RM) $@ && $(LN_S) gdi/gdi32.dll$(DLLEXT) $@
libuser32.dll.$(LIBEXT): user/user32.dll$(DLLEXT)
$(RM) $@ && $(LN_S) user/user32.dll$(DLLEXT) $@
libkernel32.dll.$(LIBEXT): kernel/kernel32.dll$(DLLEXT)
$(RM) $@ && $(LN_S) kernel/kernel32.dll$(DLLEXT) $@
uninstall::
$(RM) $(LINKABLE_DLLS:%=$(libdir)/lib%.$(LIBEXT))
@ -893,14 +881,8 @@ install::
cd $(libdir) && if [ "$(dlldir)" = "$(libdir)/wine" ]; \
then \
$(LN_S) wine/ntdll.dll$(DLLEXT) libntdll.dll.$(LIBEXT); \
$(LN_S) wine/gdi32.dll$(DLLEXT) libgdi32.dll.$(LIBEXT); \
$(LN_S) wine/user32.dll$(DLLEXT) libuser32.dll.$(LIBEXT); \
$(LN_S) wine/kernel32.dll$(DLLEXT) libkernel32.dll.$(LIBEXT); \
else \
$(LN_S) $(dlldir)/ntdll.dll$(DLLEXT) libntdll.dll.$(LIBEXT); \
$(LN_S) $(dlldir)/gdi32.dll$(DLLEXT) libgdi32.dll.$(LIBEXT); \
$(LN_S) $(dlldir)/user32.dll$(DLLEXT) libuser32.dll.$(LIBEXT); \
$(LN_S) $(dlldir)/kernel32.dll$(DLLEXT) libkernel32.dll.$(LIBEXT); \
fi
# Misc rules

View File

@ -5,7 +5,9 @@ VPATH = @srcdir@
MODULE = ddraw.dll
IMPORTS = user32 gdi32 kernel32
EXTRALIBS = $(LIBUUID) $(LIBTSX11) $(X_LIBS) $(XLIB)
LDIMPORTS = user32.dll gdi32.dll kernel32.dll
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
OPENGLFILES = \
d3dcommon.c \

View File

@ -6,8 +6,11 @@ VPATH = @srcdir@
MODULE = gdi32.dll
IMPORTS = advapi32 kernel32
ALTNAMES = gdi.exe dispdib.dll wing.dll
LDIMPORTS = kernel32.dll ntdll.dll
EXTRAINCL = @FREETYPEINCL@
EXTRALIBS = $(LIBUNICODE)
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
C_SRCS = \
$(TOPOBJDIR)/graphics/bitblt.c \

View File

@ -419,8 +419,34 @@ init MAIN_GdiInit
@ stdcall CloseJob16(long) CloseJob16
@ stdcall CloseMetaFile16(long) CloseMetaFile16
@ stdcall CreateMetaFile16(str) CreateMetaFile16
@ stdcall DeleteMetaFile16(long) DeleteMetaFile16
@ stdcall DrvGetPrinterData16(str str ptr ptr long ptr) DrvGetPrinterData16
@ stdcall DrvSetPrinterData16(str str long ptr long) DrvSetPrinterData16
@ stdcall ExcludeVisRect16(long long long long long) ExcludeVisRect16
@ stdcall GDIRealizePalette16(long) GDIRealizePalette16
@ stdcall GDISelectPalette16(long long long) GDISelectPalette16
@ stdcall GetDCState16(long) GetDCState16
@ stdcall InquireVisRgn16(long) InquireVisRgn16
@ stdcall IntersectVisRect16(long long long long long) IntersectVisRect16
@ stdcall IsDCCurrentPalette16(long) IsDCCurrentPalette16
@ stdcall OpenJob16(str str long) OpenJob16
@ stdcall RestoreVisRgn16(long) RestoreVisRgn16
@ stdcall SaveVisRgn16(long) SaveVisRgn16
@ stdcall SelectVisRgn16(long long) SelectVisRgn16
@ stdcall SetDCHook(long ptr long) SetDCHook
@ stdcall SetDCOrg16(long long long) SetDCOrg16
@ stdcall SetDCState16(long long) SetDCState16
@ stdcall SetHookFlags16(long long) SetHookFlags16
@ stdcall WriteSpool16(long ptr long) WriteSpool16
################################################################
# Wine dll separation hacks, these will go away, don't use them
#
@ cdecl DC_GetDCPtr(long) DC_GetDCPtr
@ cdecl DIB_BitmapInfoSize(ptr long) DIB_BitmapInfoSize
@ cdecl DIB_CreateDIBFromBitmap(long long) DIB_CreateDIBFromBitmap
@ cdecl DIB_CreateDIBSection(long ptr long ptr long long long) DIB_CreateDIBSection
@ cdecl DIB_GetDIBImageBytes(long long long) DIB_GetDIBImageBytes
@ cdecl DIB_GetDIBWidthBytes(long long) DIB_GetDIBWidthBytes
@ cdecl GDI_GetObjPtr(long long) GDI_GetObjPtr
@ cdecl GDI_ReleaseObj(long) GDI_ReleaseObj

View File

@ -973,21 +973,42 @@ init MAIN_KernelInit
################################################################
# Wine extensions: Win16 functions that are needed by other dlls
#
@ stdcall AllocSelectorArray16(long) AllocSelectorArray16
@ stdcall ConvertDialog32To16(ptr long ptr) ConvertDialog32To16
@ stdcall DOS3Call(ptr) DOS3Call
@ stdcall ExitKernel16() ExitKernel16
@ stdcall FarGetOwner16(long) FarGetOwner16
@ stdcall FarSetOwner16(long long) FarSetOwner16
@ stdcall FindResource16(long str str) FindResource16
@ stdcall FreeResource16(long) FreeResource16
@ stdcall FreeSelector16(long) FreeSelector16
@ stdcall GetCurrentTask() GetCurrentTask
@ stdcall GetDOSEnvironment16() GetDOSEnvironment16
@ stdcall GetExePtr(long) GetExePtr
@ stdcall GetExpWinVer16(long) GetExpWinVer16
@ stdcall GetModuleFileName16(long ptr long) GetModuleFileName16
@ stdcall GetModuleHandle16(str) GetModuleHandle16
@ stdcall GetModuleName16(long ptr long) GetModuleName16
@ stdcall GetModuleUsage16(long) GetModuleUsage16
@ stdcall GetSelectorLimit16(long) GetSelectorLimit16
@ stdcall GetThreadQueue16(long) GetThreadQueue16
@ stdcall GlobalDOSAlloc16(long) GlobalDOSAlloc16
@ stdcall GlobalFlags16(long) GlobalFlags16
@ stdcall GlobalReAlloc16(long long long) GlobalReAlloc16
@ stdcall IsBadReadPtr16(long long) IsBadReadPtr16
@ stdcall IsTask16(long) IsTask16
@ stdcall LoadModule16(str long) LoadModule16
@ stdcall LoadResource16(long long) LoadResource16
@ stdcall LocalAlloc16(long long) LocalAlloc16
@ stdcall LocalInit16(long long long) LocalInit16
@ stdcall LocalLock16(long) LocalLock16
@ stdcall LocalUnlock16(long) LocalUnlock16
@ stdcall LockResource16(long) LockResource16
@ stdcall SetSelectorBase(long long) SetSelectorBase
@ stdcall SetSelectorLimit16(long long) SetSelectorLimit16
@ stdcall SetThreadQueue16(long long) SetThreadQueue16
@ stdcall SizeofResource16(long long) SizeofResource16
@ stdcall WinExec16(str long) WinExec16
@ stdcall GlobalFlags16(long) GlobalFlags16
@ stdcall GlobalReAlloc16(long long long) GlobalReAlloc16
################################################################
# Wine internal extensions
@ -1008,3 +1029,49 @@ init MAIN_KernelInit
# Unix files
@ stdcall wine_get_unix_file_name(str ptr long) wine_get_unix_file_name
################################################################
# Wine dll separation hacks, these will go away, don't use them
#
@ cdecl DOSFS_GetDeviceByHandle(long) DOSFS_GetDeviceByHandle
@ cdecl DOSMEM_Available() DOSMEM_Available
@ cdecl DOSMEM_FreeBlock(ptr) DOSMEM_FreeBlock
@ cdecl DOSMEM_GetBlock(long ptr) DOSMEM_GetBlock
@ cdecl DOSMEM_GetDPMISegments() DOSMEM_GetDPMISegments
@ cdecl DOSMEM_Init(long) DOSMEM_Init
@ cdecl INT_GetPMHandler(long) INT_GetPMHandler
@ stdcall INT_Int11Handler(ptr) INT_Int11Handler
@ stdcall INT_Int12Handler(ptr) INT_Int12Handler
@ stdcall INT_Int13Handler(ptr) INT_Int13Handler
@ stdcall INT_Int15Handler(ptr) INT_Int15Handler
@ stdcall INT_Int1aHandler(ptr) INT_Int1aHandler
@ stdcall INT_Int25Handler(ptr) INT_Int25Handler
@ stdcall INT_Int2aHandler(ptr) INT_Int2aHandler
@ stdcall INT_Int2fHandler(ptr) INT_Int2fHandler
@ stdcall INT_Int31Handler(ptr) INT_Int31Handler
@ stdcall INT_Int34Handler(ptr) INT_Int34Handler
@ stdcall INT_Int35Handler(ptr) INT_Int35Handler
@ stdcall INT_Int36Handler(ptr) INT_Int36Handler
@ stdcall INT_Int37Handler(ptr) INT_Int37Handler
@ stdcall INT_Int38Handler(ptr) INT_Int38Handler
@ stdcall INT_Int39Handler(ptr) INT_Int39Handler
@ stdcall INT_Int3aHandler(ptr) INT_Int3aHandler
@ stdcall INT_Int3bHandler(ptr) INT_Int3bHandler
@ stdcall INT_Int3cHandler(ptr) INT_Int3cHandler
@ stdcall INT_Int3dHandler(ptr) INT_Int3dHandler
@ stdcall INT_Int3eHandler(ptr) INT_Int3eHandler
@ cdecl INT_SetPMHandler(long long) INT_SetPMHandler
@ cdecl LOCAL_Alloc(long long long) LOCAL_Alloc
@ cdecl LOCAL_Compact(long long long) LOCAL_Compact
@ cdecl LOCAL_CountFree(long) LOCAL_CountFree
@ cdecl LOCAL_Free(long long) LOCAL_Free
@ cdecl LOCAL_HeapSize(long) LOCAL_HeapSize
@ cdecl LOCAL_Lock(long long) LOCAL_Lock
@ cdecl LOCAL_ReAlloc(long long long long) LOCAL_ReAlloc
@ cdecl LOCAL_Size(long long) LOCAL_Size
@ cdecl LOCAL_Unlock(long long) LOCAL_Unlock
@ cdecl NE_DefResourceHandler(long long long) NE_DefResourceHandler
@ cdecl SELECTOR_AllocBlock(ptr long long) SELECTOR_AllocBlock
@ cdecl TASK_GetPtr(long) TASK_GetPtr
@ cdecl THREAD_IdToTEB(long) THREAD_IdToTEB
@ cdecl VIRTUAL_SetFaultHandler(ptr ptr ptr) VIRTUAL_SetFaultHandler

View File

@ -1028,6 +1028,7 @@
# Relays
@ cdecl -norelay -i386 __wine_call_from_32_regs() __wine_call_from_32_regs
@ cdecl -i386 __wine_enter_vm86(ptr) __wine_enter_vm86
# Server interface
@ cdecl -norelay wine_server_call(ptr) wine_server_call

View File

@ -4,7 +4,6 @@ SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = ttydrv.dll
IMPORTS = user32 gdi32 kernel32
LDIMPORTS = user32.dll gdi32.dll kernel32.dll
EXTRALIBS = @CURSESLIBS@
LDDLLFLAGS = @LDDLLFLAGS@
@ -23,4 +22,3 @@ C_SRCS = \
@MAKE_DLL_RULES@
### Dependencies:

View File

@ -6,7 +6,10 @@ VPATH = @srcdir@
MODULE = user32.dll
IMPORTS = gdi32 advapi32 kernel32
ALTNAMES = user.exe keyboard.dll ddeml.dll display.dll mouse.dll
LDIMPORTS = gdi32.dll kernel32.dll ntdll.dll
EXTRALIBS = $(LIBUNICODE)
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
C_SRCS = \
$(TOPOBJDIR)/controls/button.c \

View File

@ -558,7 +558,6 @@ init UserClientDllInitialize
@ stdcall TranslateAccelerator(long long ptr) TranslateAccelerator
@ stdcall TranslateAcceleratorA(long long ptr) TranslateAccelerator
@ stdcall TranslateAcceleratorW(long long ptr) TranslateAccelerator
@ stdcall TranslateCharsetInfo(ptr ptr long) TranslateCharsetInfo
@ stdcall TranslateMDISysAccel(long ptr) TranslateMDISysAccel
@ stdcall TranslateMessage(ptr) TranslateMessage
@ stdcall UnhookWindowsHook(long ptr) UnhookWindowsHook
@ -667,12 +666,51 @@ init UserClientDllInitialize
@ stdcall CallWindowProc16(long long long long long) CallWindowProc16
@ stdcall CloseDriver16(long long long) CloseDriver16
@ stdcall CreateDialogIndirectParam16(long ptr long long long) CreateDialogIndirectParam16
@ stdcall DestroyIcon32(long long) DestroyIcon32
@ stdcall DefDriverProc16(long long long long long) DefDriverProc16
@ stdcall DestroyIcon32(long long) DestroyIcon32
@ stdcall DialogBoxIndirectParam16(long long long long long) DialogBoxIndirectParam16
@ stdcall GetDriverModuleHandle16(long) GetDriverModuleHandle16
@ stdcall InitThreadInput16(long long) InitThreadInput16
@ stdcall OpenDriver16(str str long) OpenDriver16
@ stdcall PostAppMessage16(long long long long) PostAppMessage16
@ stdcall SendDriverMessage16(long long long long) SendDriverMessage16
@ stdcall SetWindowsHookEx16(long long long long) SetWindowsHookEx16
@ stdcall UserYield16() UserYield16
################################################################
# Wine dll separation hacks, these will go away, don't use them
#
@ cdecl CARET_GetHwnd() CARET_GetHwnd
@ cdecl CARET_GetRect(ptr) CARET_GetRect
@ cdecl CLIPBOARD_DeleteRecord(ptr long) CLIPBOARD_DeleteRecord
@ cdecl CLIPBOARD_EmptyCache(long) CLIPBOARD_EmptyCache
@ cdecl CLIPBOARD_GetFormatName(long ptr long) CLIPBOARD_GetFormatName
@ cdecl CLIPBOARD_IsPresent(long) CLIPBOARD_IsPresent
@ cdecl CLIPBOARD_LookupFormat(long) CLIPBOARD_LookupFormat
@ cdecl CLIPBOARD_ReleaseOwner() CLIPBOARD_ReleaseOwner
@ cdecl DCE_InvalidateDCE(long ptr) DCE_InvalidateDCE
@ cdecl DRAG_QueryUpdate(long long long) DRAG_QueryUpdate
@ cdecl HOOK_CallHooksA(long long long long) HOOK_CallHooksA
@ cdecl HOOK_CallHooksW(long long long long) HOOK_CallHooksW
@ cdecl HOOK_IsHooked(long) HOOK_IsHooked
@ cdecl NC_GetInsideRect(long ptr) NC_GetInsideRect
@ cdecl NC_HandleNCHitTest(long long long) NC_HandleNCHitTest
@ cdecl NC_HandleSetCursor(long long long) NC_HandleSetCursor
@ cdecl USER_Unlock() USER_Unlock
@ cdecl WINPOS_ActivateOtherWindow(long) WINPOS_ActivateOtherWindow
@ cdecl WINPOS_GetMinMaxInfo(long ptr ptr ptr ptr) WINPOS_GetMinMaxInfo
@ cdecl WINPOS_ShowIconTitle(long long) WINPOS_ShowIconTitle
@ cdecl WIN_FindWndPtr(long) WIN_FindWndPtr
@ cdecl WIN_GetPtr(long) WIN_GetPtr
@ cdecl WIN_Handle32(long) WIN_Handle32
@ cdecl WIN_IsWindowDrawable(long long) WIN_IsWindowDrawable
@ cdecl WIN_LinkWindow(long long long) WIN_LinkWindow
@ cdecl WIN_ListChildren(long) WIN_ListChildren
@ cdecl WIN_ListParents(long) WIN_ListParents
@ cdecl WIN_ReleaseWndPtr(ptr) WIN_ReleaseWndPtr
@ cdecl WIN_RestoreWndsLock(long) WIN_RestoreWndsLock
@ cdecl WIN_SetExStyle(long long) WIN_SetExStyle
@ cdecl WIN_SetRectangles(long ptr ptr) WIN_SetRectangles
@ cdecl WIN_SetStyle(long long) WIN_SetStyle
@ cdecl WIN_SuspendWndsLock() WIN_SuspendWndsLock
@ cdecl WIN_UnlinkWindow(long) WIN_UnlinkWindow

View File

@ -3,8 +3,11 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = winedos.dll
IMPORTS = user32 kernel32
LDIMPORTS = user32.dll kernel32.dll
IMPORTS = user32 kernel32 ntdll
EXTRALIBS = $(LIBUNICODE)
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
C_SRCS = \
devices.c \

View File

@ -4,9 +4,11 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = x11drv.dll
IMPORTS = user32 gdi32 advapi32 kernel32
IMPORTS = user32 gdi32 advapi32 kernel32 ntdll
EXTRALIBS = $(LIBTSX11) $(X_LIBS) $(XLIB)
LDIMPORTS = user32.dll gdi32.dll kernel32.dll
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
C_SRCS = \
$(TOPOBJDIR)/graphics/x11drv/bitblt.c \