1
0
mirror of https://git.tukaani.org/xz.git synced 2025-02-20 15:38:13 +00:00

Windows: Update build.bash and its README-Windows.txt to UCRT

While MSVCRT builds are possible, UCRT works better with UTF-8.
A 32-bit build is included still but hopefully it's not actually
needed anymore.
This commit is contained in:
Lasse Collin 2025-01-12 10:47:58 +02:00
parent 7b3eb2db6c
commit 0dfc67d37e
No known key found for this signature in database
GPG Key ID: 38EE757D69184620
2 changed files with 22 additions and 15 deletions

View File

@ -28,18 +28,17 @@ Introduction
Package contents
----------------
All executables and libraries in this package require msvcrt.dll,
not Universal CRT (UCRT).
All executables and libraries in this package require
Universal CRT (UCRT). It is included in Windows 10 and later.
There is a SSE2 optimization in the compression code but this
version of XZ Utils doesn't include run-time processor detection.
This is why there is a separate i686-SSE2 version.
The binaries don't work on 32-bit processors without SSE2 support.
There is one directory for each type of executable and library files:
bin_i686 32-bit x86 (i686 and newer), Windows 2000 and later
bin_i686-sse2 32-bit x86 (i686 with SSE2), Windows 2000 and later
bin_x86-64 64-bit x86-64, Windows Vista and later
bin_i686-sse2 32-bit x86 (i686 with SSE2)
bin_x86-64 64-bit x86-64
Each of the above directories have the following files:
@ -67,8 +66,7 @@ Package contents
copyright and license information.
liblzma.def is in this directory too.
doc/manuals The manuals of the command line tools in
plain text (TXT) format.
doc/manuals The manuals of the command line tools
doc/examples Example programs for basic liblzma usage.
@ -90,7 +88,8 @@ Creating an import library for MSVC / Visual Studio
lib /def:liblzma.def /out:liblzma.lib /machine:x64
IMPORTANT: See also the file liblzma-crt-mixing.txt.
IMPORTANT: See also the file liblzma-crt-mixing.txt if your
application isn't using UCRT.
Reporting bugs

View File

@ -172,11 +172,13 @@ txtcp()
}
if type -P i686-w64-mingw32-gcc > /dev/null; then
# 32-bit x86, Win2k or later
buildit pkg/bin_i686 i686-w64-mingw32 \
'-march=i686 -mtune=generic'
# 32-bit x86, Win2k or later if using MSVCRT
#
# Uncomment if using MSVCRT and you want the binaries to be compatible
# with old Windows versions on old computers.
#buildit pkg/bin_i686 i686-w64-mingw32 '-march=i686 -mtune=generic'
# 32-bit x86 with SSE2, Win2k or later
# 32-bit x86 with SSE2 (Win2k or later if using MSVCRT)
buildit pkg/bin_i686-sse2 i686-w64-mingw32 \
'-march=i686 -msse2 -mtune=generic'
else
@ -195,6 +197,10 @@ else
echo
fi
if type -P ps2pdf > /dev/null; then
make pdf
fi
# Copy the headers, the .def file, and the docs.
# They are the same for all architectures and builds.
mkdir -pv pkg/{include/lzma,doc/{manuals,examples}}
@ -202,12 +208,14 @@ txtcp pkg/include "" src/liblzma/api/lzma.h
txtcp pkg/include/lzma "" src/liblzma/api/lzma/*.h
txtcp pkg/doc "" src/liblzma/liblzma.def
txtcp pkg/doc .txt AUTHORS COPYING COPYING.0BSD NEWS README THANKS
txtcp pkg/doc "" doc/*.txt \
txtcp pkg/doc "" doc/*-file-format.txt \
windows/README-Windows.txt \
windows/liblzma-crt-mixing.txt \
windows/COPYING.MinGW-w64-runtime.txt
txtcp pkg/doc/manuals "" doc/man/txt/{xz,xzdec,lzmainfo}.txt
# cp -v doc/man/pdf-*/{xz,xzdec,lzmainfo}-*.pdf pkg/doc/manuals
if [ -d doc/man/pdf-a4 ]; then
cp -v doc/man/pdf-*/{xz,xzdec,lzmainfo}-*.pdf pkg/doc/manuals
fi
# cp -rv doc/api pkg/doc/api
txtcp pkg/doc/examples "" doc/examples/*