From c8fa11373bfcba1b777426febd70e1caf4955463 Mon Sep 17 00:00:00 2001 From: Shane Fournier <93808768+win32ss@users.noreply.github.com> Date: Mon, 14 Oct 2024 13:26:32 -0400 Subject: Windows XP compatibility for Telegram module (#4729) * These changes should allow telegram.dll to build as an XP-compatible component, using LSC wrapper DLLs to resolve dependencies in kernel32.dll and ws2_32.dll. mir_app also uses the LSC wrapper in place of kernel32 to load telegram.dll with support for implicit thread local storage. * Corrected mir_app link target * Now returning to this code, correcting the Telegram build to incorporate the libs properly. * Removed requirement for pwrp_k32 in mir_app. The TLS loading process will now be performed through GetSystemTimeAsFileTime in the Telegram DLL as calls to that function are made before this first TLS access attempt. --------- Co-authored-by: win32ss --- tools/build_scripts/redist/x32/lsc/p_s232.dll | Bin 0 -> 39936 bytes tools/build_scripts/redist/x32/lsc/pwrp_k32.dll | Bin 0 -> 326144 bytes tools/build_scripts/redist/x64/lsc/p_s232.dll | Bin 0 -> 43520 bytes tools/build_scripts/redist/x64/lsc/pwrp_k32.dll | Bin 0 -> 355328 bytes tools/build_scripts/z2_PackPluginUpdater.bat | 9 +++++++++ 5 files changed, 9 insertions(+) create mode 100644 tools/build_scripts/redist/x32/lsc/p_s232.dll create mode 100644 tools/build_scripts/redist/x32/lsc/pwrp_k32.dll create mode 100644 tools/build_scripts/redist/x64/lsc/p_s232.dll create mode 100644 tools/build_scripts/redist/x64/lsc/pwrp_k32.dll (limited to 'tools/build_scripts') diff --git a/tools/build_scripts/redist/x32/lsc/p_s232.dll b/tools/build_scripts/redist/x32/lsc/p_s232.dll new file mode 100644 index 0000000000..90c31481db Binary files /dev/null and b/tools/build_scripts/redist/x32/lsc/p_s232.dll differ diff --git a/tools/build_scripts/redist/x32/lsc/pwrp_k32.dll b/tools/build_scripts/redist/x32/lsc/pwrp_k32.dll new file mode 100644 index 0000000000..a80c1af3d7 Binary files /dev/null and b/tools/build_scripts/redist/x32/lsc/pwrp_k32.dll differ diff --git a/tools/build_scripts/redist/x64/lsc/p_s232.dll b/tools/build_scripts/redist/x64/lsc/p_s232.dll new file mode 100644 index 0000000000..6063ac80a6 Binary files /dev/null and b/tools/build_scripts/redist/x64/lsc/p_s232.dll differ diff --git a/tools/build_scripts/redist/x64/lsc/pwrp_k32.dll b/tools/build_scripts/redist/x64/lsc/pwrp_k32.dll new file mode 100644 index 0000000000..bccb8e4471 Binary files /dev/null and b/tools/build_scripts/redist/x64/lsc/pwrp_k32.dll differ diff --git a/tools/build_scripts/z2_PackPluginUpdater.bat b/tools/build_scripts/z2_PackPluginUpdater.bat index 998a3b6866..924f7e1a67 100644 --- a/tools/build_scripts/z2_PackPluginUpdater.bat +++ b/tools/build_scripts/z2_PackPluginUpdater.bat @@ -96,6 +96,15 @@ for /f %%a in ('dir plugins\*.dll /B /L') do ( rd /S /Q Libs ren Libs2 Libs ) + + if /I "%%a"=="Telegram.dll" ( + copy /V /Y ..\..\redist\x%tp%\lsc\ps2_32.dll Libs + copy /V /Y ..\..\redist\x%tp%\lsc\pwrp_k32.dll Libs + %ZipIt% "%Arch%\Plugins\%%~na.zip" "Libs\ps2_32.dll" "Libs/pwrp_k32.dll" + del "Libs/ps2_32.dll" + del "Libs/pwrp_k32.dll" + ) + rem now adding plugin itself into archive %ZipIt% "%Arch%\Plugins\%%~na.zip" %%a ) -- cgit v1.2.3