From a9e81624b7733d33b75b172c1c23acf490eb3576 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 4 Mar 2009 14:19:49 +0100 Subject: [PATCH] kernel32: Make win87em.dll into a stand-alone 16-bit module. --- .gitignore | 1 - configure | 10 ++++++++++ configure.ac | 2 ++ dlls/Makefile.in | 3 +-- dlls/kernel32/Makefile.in | 4 +--- dlls/kernel32/win87em.spec | 4 ---- dlls/win87em.dll16/Makefile.in | 15 ++++++++++++++ dlls/{kernel32 => win87em.dll16}/win87em.c | 23 ++++++++++------------ dlls/win87em.dll16/win87em.dll16.spec | 4 ++++ 9 files changed, 43 insertions(+), 23 deletions(-) delete mode 100644 dlls/kernel32/win87em.spec create mode 100644 dlls/win87em.dll16/Makefile.in rename dlls/{kernel32 => win87em.dll16}/win87em.c (90%) create mode 100644 dlls/win87em.dll16/win87em.dll16.spec diff --git a/.gitignore b/.gitignore index 908f8ae200c..52d76d40a91 100644 --- a/.gitignore +++ b/.gitignore @@ -118,7 +118,6 @@ dlls/user.exe16 dlls/ver.dll16 dlls/w32sys.dll16 dlls/win32s16.dll16 -dlls/win87em.dll16 dlls/winaspi.dll16 dlls/windebug.dll16 dlls/wineps16.drv16 diff --git a/configure b/configure index 362d19a009d..a335b2448a4 100755 --- a/configure +++ b/configure @@ -3912,6 +3912,7 @@ then enable_vtdapi_vxd=${enable_vtdapi_vxd:-no} enable_vwin32_vxd=${enable_vwin32_vxd:-no} enable_w32skrnl=${enable_w32skrnl:-no} + enable_win87em_dll16=${enable_win87em_dll16:-no} enable_winedos=${enable_winedos:-no} enable_winevdm=${enable_winevdm:-no} enable_winhelp_exe16=${enable_winhelp_exe16:-no} @@ -27083,6 +27084,14 @@ ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS dlls/w32skrnl/Makefile: dlls/w32skrnl/Makefile.in dlls/Makedll.rules" ac_config_files="$ac_config_files dlls/w32skrnl/Makefile" +ALL_MAKEFILES="$ALL_MAKEFILES \\ + dlls/win87em.dll16/Makefile" +test "x$enable_win87em_dll16" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\ + win87em.dll16" +ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS +dlls/win87em.dll16/Makefile: dlls/win87em.dll16/Makefile.in dlls/Makedll.rules" +ac_config_files="$ac_config_files dlls/win87em.dll16/Makefile" + ALL_MAKEFILES="$ALL_MAKEFILES \\ dlls/winealsa.drv/Makefile" test "x$enable_winealsa_drv" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\ @@ -28995,6 +29004,7 @@ do "dlls/vtdapi.vxd/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/vtdapi.vxd/Makefile" ;; "dlls/vwin32.vxd/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/vwin32.vxd/Makefile" ;; "dlls/w32skrnl/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/w32skrnl/Makefile" ;; + "dlls/win87em.dll16/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/win87em.dll16/Makefile" ;; "dlls/winealsa.drv/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/winealsa.drv/Makefile" ;; "dlls/wineaudioio.drv/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/wineaudioio.drv/Makefile" ;; "dlls/winecoreaudio.drv/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/winecoreaudio.drv/Makefile" ;; diff --git a/configure.ac b/configure.ac index f738f8d6d80..133f239316c 100644 --- a/configure.ac +++ b/configure.ac @@ -149,6 +149,7 @@ then enable_vtdapi_vxd=${enable_vtdapi_vxd:-no} enable_vwin32_vxd=${enable_vwin32_vxd:-no} enable_w32skrnl=${enable_w32skrnl:-no} + enable_win87em_dll16=${enable_win87em_dll16:-no} enable_winedos=${enable_winedos:-no} enable_winevdm=${enable_winevdm:-no} enable_winhelp_exe16=${enable_winhelp_exe16:-no} @@ -2217,6 +2218,7 @@ WINE_CONFIG_MAKEFILE([dlls/vnetbios.vxd/Makefile],[dlls/Makedll.rules],[dlls],[A WINE_CONFIG_MAKEFILE([dlls/vtdapi.vxd/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/vwin32.vxd/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/w32skrnl/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) +WINE_CONFIG_MAKEFILE([dlls/win87em.dll16/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/winealsa.drv/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/wineaudioio.drv/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/winecoreaudio.drv/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) diff --git a/dlls/Makefile.in b/dlls/Makefile.in index eeef5ff1bf6..8b1c14feab6 100644 --- a/dlls/Makefile.in +++ b/dlls/Makefile.in @@ -57,7 +57,6 @@ WIN16_FILES = \ ver.dll16 \ w32sys.dll16 \ win32s16.dll16 \ - win87em.dll16 \ winaspi.dll16 \ windebug.dll16 \ wineps16.drv16 \ @@ -90,7 +89,7 @@ dispdib.dll16 gdi.exe16 wing.dll16: imm.dll16: echo "imm32.dll" >$@ -comm.drv16 krnl386.exe16 system.drv16 toolhelp.dll16 win87em.dll16 windebug.dll16: +comm.drv16 krnl386.exe16 system.drv16 toolhelp.dll16 windebug.dll16: echo "kernel32.dll" >$@ lzexpand.dll16: diff --git a/dlls/kernel32/Makefile.in b/dlls/kernel32/Makefile.in index 467a576b34d..3dec8f96bfe 100644 --- a/dlls/kernel32/Makefile.in +++ b/dlls/kernel32/Makefile.in @@ -14,7 +14,6 @@ SPEC_SRCS16 = \ krnl386.exe.spec \ system.drv.spec \ toolhelp.spec \ - win87em.spec \ windebug.spec C_SRCS = \ @@ -78,8 +77,7 @@ C_SRCS16 = \ error16.c \ kernel16.c \ registry16.c \ - toolhelp16.c \ - win87em.c + toolhelp16.c RC_SRCS = kernel.rc diff --git a/dlls/kernel32/win87em.spec b/dlls/kernel32/win87em.spec deleted file mode 100644 index 968063e6624..00000000000 --- a/dlls/kernel32/win87em.spec +++ /dev/null @@ -1,4 +0,0 @@ -1 pascal -register _fpMath() WIN87_fpmath -3 pascal -ret16 __WinEm87Info(ptr word) WIN87_WinEm87Info -4 pascal -ret16 __WinEm87Restore(ptr word) WIN87_WinEm87Restore -5 pascal -ret16 __WinEm87Save(ptr word) WIN87_WinEm87Save diff --git a/dlls/win87em.dll16/Makefile.in b/dlls/win87em.dll16/Makefile.in new file mode 100644 index 00000000000..929361d2215 --- /dev/null +++ b/dlls/win87em.dll16/Makefile.in @@ -0,0 +1,15 @@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = win87em.dll16 +IMPORTS = kernel32 +EXTRADLLFLAGS = -Wb,--subsystem,win16 + +SPEC_SRCS = win87em.dll16.spec + +C_SRCS = win87em.c + +@MAKE_DLL_RULES@ + +@DEPENDENCIES@ # everything below this line is overwritten by make depend diff --git a/dlls/kernel32/win87em.c b/dlls/win87em.dll16/win87em.c similarity index 90% rename from dlls/kernel32/win87em.c rename to dlls/win87em.dll16/win87em.c index 416d0553c49..35a04c4fcd4 100644 --- a/dlls/kernel32/win87em.c +++ b/dlls/win87em.dll16/win87em.c @@ -57,7 +57,7 @@ static WORD StackTop = 175; static WORD StackBottom = 0; static WORD Inthandler02hVar = 1; -static void WIN87_ClearCtrlWord( CONTEXT86 *context ) +static void WIN87_ClearCtrlWord( CONTEXT *context ) { context->Eax &= ~0xffff; /* set AX to 0 */ if (Installed) @@ -69,7 +69,7 @@ static void WIN87_ClearCtrlWord( CONTEXT86 *context ) StatusWord_3 = StatusWord_2 = 0; } -static void WIN87_SetCtrlWord( CONTEXT86 *context ) +static void WIN87_SetCtrlWord( CONTEXT *context ) { CtrlWord_1 = LOWORD(context->Eax); context->Eax &= ~0x00c3; @@ -82,7 +82,7 @@ static void WIN87_SetCtrlWord( CONTEXT86 *context ) CtrlWord_2 = LOWORD(context->Eax); } -static void WIN87_Init( CONTEXT86 *context ) +static void WIN87_Init( CONTEXT *context ) { if (Installed) { #ifdef __i386__ @@ -99,12 +99,11 @@ static void WIN87_Init( CONTEXT86 *context ) /*********************************************************************** * _fpMath (WIN87EM.1) */ -void WINAPI WIN87_fpmath( CONTEXT86 *context ) +void WINAPI _fpMath( CONTEXT *context ) { - TRACE("(cs:eip=%x:%x es=%x bx=%04x ax=%04x dx=%04x)\n", - (WORD)context->SegCs, context->Eip, - (WORD)context->SegEs, (WORD)context->Ebx, - (WORD)context->Eax, (WORD)context->Edx ); + TRACE("(cs:eip=%04x:%04x es=%04x bx=%04x ax=%04x dx=%04x)\n", + context->SegCs, context->Eip, context->SegEs, context->Ebx, + context->Eax, context->Edx ); switch(LOWORD(context->Ebx)) { @@ -224,8 +223,7 @@ void WINAPI WIN87_fpmath( CONTEXT86 *context ) /*********************************************************************** * __WinEm87Info (WIN87EM.3) */ -void WINAPI WIN87_WinEm87Info(struct Win87EmInfoStruct *pWIS, - int cbWin87EmInfoStruct) +void WINAPI __WinEm87Info(struct Win87EmInfoStruct *pWIS, int cbWin87EmInfoStruct) { FIXME("(%p,%d), stub !\n",pWIS,cbWin87EmInfoStruct); } @@ -233,8 +231,7 @@ void WINAPI WIN87_WinEm87Info(struct Win87EmInfoStruct *pWIS, /*********************************************************************** * __WinEm87Restore (WIN87EM.4) */ -void WINAPI WIN87_WinEm87Restore(void *pWin87EmSaveArea, - int cbWin87EmSaveArea) +void WINAPI __WinEm87Restore(void *pWin87EmSaveArea, int cbWin87EmSaveArea) { FIXME("(%p,%d), stub !\n", pWin87EmSaveArea,cbWin87EmSaveArea); @@ -243,7 +240,7 @@ void WINAPI WIN87_WinEm87Restore(void *pWin87EmSaveArea, /*********************************************************************** * __WinEm87Save (WIN87EM.5) */ -void WINAPI WIN87_WinEm87Save(void *pWin87EmSaveArea, int cbWin87EmSaveArea) +void WINAPI __WinEm87Save(void *pWin87EmSaveArea, int cbWin87EmSaveArea) { FIXME("(%p,%d), stub !\n", pWin87EmSaveArea,cbWin87EmSaveArea); diff --git a/dlls/win87em.dll16/win87em.dll16.spec b/dlls/win87em.dll16/win87em.dll16.spec new file mode 100644 index 00000000000..0b9024c2d22 --- /dev/null +++ b/dlls/win87em.dll16/win87em.dll16.spec @@ -0,0 +1,4 @@ +1 pascal -register _fpMath() _fpMath +3 pascal -ret16 __WinEm87Info(ptr word) __WinEm87Info +4 pascal -ret16 __WinEm87Restore(ptr word) __WinEm87Restore +5 pascal -ret16 __WinEm87Save(ptr word) __WinEm87Save