shell32: Make shell.dll into a stand-alone 16-bit module.

This commit is contained in:
Alexandre Julliard 2009-04-01 18:20:13 +02:00
parent b1d96f6ffa
commit 129ba5ade0
12 changed files with 37 additions and 42 deletions

1
.gitignore vendored
View File

@ -84,7 +84,6 @@ dlls/rpcrt4/tests/server_c.c
dlls/rpcrt4/tests/server_s.c
dlls/setupx.dll16
dlls/shdocvw/shdocvw_v1.tlb
dlls/shell.dll16
dlls/stdole2.tlb/std_ole_v2.tlb
dlls/stdole32.tlb/std_ole_v1.tlb
dlls/system.drv16

9
configure vendored
View File

@ -26852,6 +26852,14 @@ ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS
dlls/shdocvw/tests/Makefile: dlls/shdocvw/tests/Makefile.in dlls/Maketest.rules"
ac_config_files="$ac_config_files dlls/shdocvw/tests/Makefile"
ALL_MAKEFILES="$ALL_MAKEFILES \\
dlls/shell.dll16/Makefile"
test "x$enable_win16" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\
shell.dll16"
ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS
dlls/shell.dll16/Makefile: dlls/shell.dll16/Makefile.in dlls/Makedll.rules"
ac_config_files="$ac_config_files dlls/shell.dll16/Makefile"
ALL_MAKEFILES="$ALL_MAKEFILES \\
dlls/shell32/Makefile"
test "x$enable_shell32" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\
@ -29204,6 +29212,7 @@ do
"dlls/shdoclc/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/shdoclc/Makefile" ;;
"dlls/shdocvw/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/shdocvw/Makefile" ;;
"dlls/shdocvw/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/shdocvw/tests/Makefile" ;;
"dlls/shell.dll16/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/shell.dll16/Makefile" ;;
"dlls/shell32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/shell32/Makefile" ;;
"dlls/shell32/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/shell32/tests/Makefile" ;;
"dlls/shfolder/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/shfolder/Makefile" ;;

View File

@ -2188,6 +2188,7 @@ WINE_CONFIG_MAKEFILE([dlls/sfc_os/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL
WINE_CONFIG_MAKEFILE([dlls/shdoclc/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
WINE_CONFIG_MAKEFILE([dlls/shdocvw/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
WINE_CONFIG_MAKEFILE([dlls/shdocvw/tests/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS],[enable_tests])
WINE_CONFIG_MAKEFILE([dlls/shell.dll16/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS],[enable_win16])
WINE_CONFIG_MAKEFILE([dlls/shell32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
WINE_CONFIG_MAKEFILE([dlls/shell32/tests/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS],[enable_tests])
WINE_CONFIG_MAKEFILE([dlls/shfolder/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])

View File

@ -25,7 +25,6 @@ WIN16_FILES = \
mmsystem.dll16 \
msvideo.dll16 \
setupx.dll16 \
shell.dll16 \
system.drv16 \
toolhelp.dll16 \
user.exe16 \
@ -58,9 +57,6 @@ msvideo.dll16:
setupx.dll16:
echo "setupapi.dll" >$@
shell.dll16:
echo "shell32.dll" >$@
ddeml.dll16 user.exe16:
echo "user32.dll" >$@

View File

@ -0,0 +1,19 @@
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = shell.dll16
IMPORTS = shell32 user32 advapi32 kernel32
EXTRADLLFLAGS = -Wb,--subsystem,win16,--main-module,shell32.dll
EXTRARCFLAGS = -O res16
SPEC_SRCS = shell.dll16.spec
C_SRCS = shell.c
RC_SRCS = version.rc
@MAKE_DLL_RULES@
@DEPENDENCIES@ # everything below this line is overwritten by make depend

View File

@ -42,7 +42,6 @@
#include "shlwapi.h"
#include "wine/winbase16.h"
#include "shell32_main.h"
#include "wine/debug.h"
@ -52,6 +51,11 @@ extern HINSTANCE WINAPI WOWShellExecute(HWND hWnd, LPCSTR lpOperation,LPCSTR lpF
LPCSTR lpParameters,LPCSTR lpDirectory,
INT iShowCmd, void *callback);
#define HICON_16(h32) (LOWORD(h32))
#define HICON_32(h16) ((HICON)(ULONG_PTR)(h16))
#define HINSTANCE_32(h16) ((HINSTANCE)(ULONG_PTR)(h16))
#define HINSTANCE_16(h32) (LOWORD(h32))
typedef struct { /* structure for dropped files */
WORD wSize;
POINT16 ptMousePos;
@ -170,7 +174,9 @@ HINSTANCE16 WINAPI FindExecutable16( LPCSTR lpFile, LPCSTR lpDirectory,
*/
BOOL16 WINAPI AboutDlgProc16( HWND16 hWnd, UINT16 msg, WPARAM16 wParam,
LPARAM lParam )
{ return (BOOL16)AboutDlgProc( HWND_32(hWnd), msg, wParam, lParam );
{
FIXME( "stub\n" );
return FALSE;
}

View File

@ -64,22 +64,10 @@ SVG_SRCS = \
mydocs.svg \
trash_file.svg
C_SRCS16 = shell.c
RC_SRCS16 = version16.rc
SPEC_SRCS16 = shell.spec
EXTRA_OBJS = authors.o
@MAKE_DLL_RULES@
# Special rules for 16-bit resource files
version16.res: version16.rc
$(LDPATH) $(RC16) $(RC16FLAGS) -fo$@ $(SRCDIR)/version16.rc
shell.spec.o: shell.spec version16.res
$(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --res version16.res --export $(SRCDIR)/shell.spec
authors.c: $(TOPSRCDIR)/AUTHORS
(LC_ALL=C; export LC_ALL; echo 'const char * const SHELL_Authors[] = {' && \
sed -e '1,2d' -e 's/\(.*\)/ \"\1\",/' $(TOPSRCDIR)/AUTHORS && \

View File

@ -35,7 +35,6 @@
#include "undocshell.h"
#include "shlobj.h"
#include "shellapi.h"
#include "wine/windef16.h"
#include "wine/unicode.h"
/*******************************************
@ -153,20 +152,6 @@ void FreeChangeNotifications(void);
BOOL SHELL_ConfirmYesNoW(HWND hWnd, int nKindOfDialog, LPCWSTR szDir);
/* 16-bit functions */
void WINAPI DragAcceptFiles16(HWND16 hWnd, BOOL16 b);
UINT16 WINAPI DragQueryFile16(HDROP16 hDrop, WORD wFile, LPSTR lpszFile, WORD wLength);
void WINAPI DragFinish16(HDROP16 h);
BOOL16 WINAPI DragQueryPoint16(HDROP16 hDrop, POINT16 *p);
HINSTANCE16 WINAPI ShellExecute16(HWND16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT16);
HICON16 WINAPI ExtractIcon16(HINSTANCE16,LPCSTR,UINT16);
HICON16 WINAPI ExtractAssociatedIcon16(HINSTANCE16,LPSTR,LPWORD);
HICON16 WINAPI ExtractIconEx16 ( LPCSTR, INT16, HICON16 *, HICON16 *, UINT16 );
HINSTANCE16 WINAPI FindExecutable16(LPCSTR,LPCSTR,LPSTR);
HGLOBAL16 WINAPI InternalExtractIcon16(HINSTANCE16,LPCSTR,UINT16,WORD);
BOOL16 WINAPI ShellAbout16(HWND16,LPCSTR,LPCSTR,HICON16);
BOOL16 WINAPI AboutDlgProc16(HWND16,UINT16,WPARAM16,LPARAM);
static inline BOOL SHELL_OsIsUnicode(void)
{
/* if high-bit of version is 0, we are emulating NT */
@ -205,12 +190,6 @@ static inline WCHAR * __SHCloneStrAtoW(WCHAR ** target, const char * source)
return *target;
}
/* handle conversions */
#define HICON_16(h32) (LOWORD(h32))
#define HICON_32(h16) ((HICON)(ULONG_PTR)(h16))
#define HINSTANCE_32(h16) ((HINSTANCE)(ULONG_PTR)(h16))
#define HINSTANCE_16(h32) (LOWORD(h32))
typedef UINT_PTR (*SHELL_ExecuteW32)(const WCHAR *lpCmd, WCHAR *env, BOOL shWait,
const SHELLEXECUTEINFOW *sei, LPSHELLEXECUTEINFOW sei_out);

View File

@ -33,7 +33,6 @@
#include "winreg.h"
#include "undocshell.h"
#include "wine/winbase16.h"
#include "wine/debug.h"

View File

@ -42,7 +42,6 @@
#include "shlwapi.h"
#include "ddeml.h"
#include "wine/winbase16.h"
#include "shell32_main.h"
#include "pidl.h"
#include "shresdef.h"