[SETUP:REACTOS] Temporarily use USETUP file/cabinet extraction routines.

Do this until Wine's setupapi cabinet extraction becomes faster...
This commit is contained in:
Hermès Bélusca-Maïto 2023-12-23 18:54:11 +01:00
parent bff31569e6
commit 87df3b548e
No known key found for this signature in database
GPG key ID: 3B2539C65E7B93D0
2 changed files with 26 additions and 0 deletions

View file

@ -20,5 +20,6 @@ add_executable(reactos ${SOURCE} reactos.rc)
set_module_type(reactos win32gui UNICODE)
add_pch(reactos reactos.h SOURCE)
target_link_libraries(reactos uuid setuplib ext2lib vfatlib btrfslib)
target_link_libraries(reactos zlib_solo) ## We use USETUP's cabinet implementation
add_importlibs(reactos advapi32 gdi32 user32 comctl32 shlwapi setupapi msvcrt kernel32 ntdll)
add_cd_file(TARGET reactos DESTINATION reactos NO_CAB FOR bootcd)

View file

@ -13,6 +13,29 @@
#define NDEBUG
#include <debug.h>
#ifndef WINE_SETUPAPI_CAB_EXTRACTION_IS_NOT_SLOW_ANYMORE
#define _USETUP_PCH_ // Disable USetup header inclusion
#define NTOS_MODE_USER
#include <ndk/mmfuncs.h>
#include <ndk/obfuncs.h>
#include <ntstrsafe.h>
#include "../../usetup/spapisup/cabinet.h"
#include "../../usetup/spapisup/cabinet.c"
#define SetupOpenFileQueue _SetupOpenFileQueue
#define SetupCloseFileQueue _SetupCloseFileQueue
#define SetupQueueDeleteW _SetupQueueDeleteW
#define SetupQueueRenameW _SetupQueueRenameW
#define SetupCommitFileQueueW _SetupCommitFileQueueW
#include "../../usetup/spapisup/fileqsup.c"
#else
/* SETUP* API COMPATIBILITY FUNCTIONS ****************************************/
/* A simplified version of SetupQueueCopyW that wraps Cabinet support around */
@ -157,4 +180,6 @@ pSpFileQueueDelete SpFileQueueDelete = SpFileQueueDelete_NtToWin32;
pSpFileQueueRename SpFileQueueRename = SpFileQueueRename_NtToWin32;
pSpFileQueueCommit SpFileQueueCommit = SetupCommitFileQueueW;
#endif
/* EOF */