myfreeer/7z-build-nsis

build: using VC-LTL5

myfreeer opened this issue · 7 comments

Link: https://github.com/Chuyu-Team/VC-LTL5
This should be after #17 and #21
This should not be merged before commit Chuyu-Team/VC-LTL5@fe7d94e reaches a stable release.

First of all, thank you very much because I have used your branch in NanaZip.

I want to give you some notice about VC-LTL 5.x Series: If you want to enable Windows XP/2003 support for VC-LTL 5.x Series. You will also need YY-Thunks. Because VC-LTL 5.x Series only modify the UCRT part for the smaller toolchain size and support linking with static libraries built without using the VC-LTL toolchain. So the YY-Thunks will be needed for make MSVC part to support Windows XP/2003.

I hope this can give you some help.

Kenji Mouri

@MouriNaruto Thank you for reporting this. Is YY-Thunks needed if 7-zip does not use new API introduced in Vista or later?

@myfreeer

Is YY-Thunks needed if 7-zip does not use new API introduced in Vista or later?

Yes, because the MSVC part (e.g. STL) uses the new API (e.g. SRW lock and new locale API) introduced even in 7 or later.

Kenji Mouri

@MouriNaruto

Yes, because the MSVC part (e.g. VCRuntime and STL) uses the new API (e.g. SRW lock and new locale API) introduced even in 7 or later.

Is the MSVC part introduced by VC-LTL5 or windows sdk 10.x or 7-zip?

@myfreeer

Is the MSVC part introduced by VC-LTL5 or windows sdk 10.x or 7-zip?

Nope, VC-LTL 5.x only wraps the UCRT and VCRuntime (because UCRT have the same part) to msvcrt.dll or ucrtbase.dll. Windows 10 SDK only maintains the UCRT.

I don't know STL or other VCRT part whether or not used in 7-Zip.

I think you can try to compile 7-Zip with VC-LTL 5.x first. If you find some functions lacked, you can use YY-Thunks to solve.

Kenji Mouri

@MouriNaruto Thank you for reporting this.