1
0
mirror of https://git.tukaani.org/xz.git synced 2025-02-21 16:08:12 +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 Package contents
---------------- ----------------
All executables and libraries in this package require msvcrt.dll, All executables and libraries in this package require
not Universal CRT (UCRT). Universal CRT (UCRT). It is included in Windows 10 and later.
There is a SSE2 optimization in the compression code but this There is a SSE2 optimization in the compression code but this
version of XZ Utils doesn't include run-time processor detection. 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: 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)
bin_i686-sse2 32-bit x86 (i686 with SSE2), Windows 2000 and later bin_x86-64 64-bit x86-64
bin_x86-64 64-bit x86-64, Windows Vista and later
Each of the above directories have the following files: Each of the above directories have the following files:
@ -67,8 +66,7 @@ Package contents
copyright and license information. copyright and license information.
liblzma.def is in this directory too. liblzma.def is in this directory too.
doc/manuals The manuals of the command line tools in doc/manuals The manuals of the command line tools
plain text (TXT) format.
doc/examples Example programs for basic liblzma usage. 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 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 Reporting bugs

View File

@ -172,11 +172,13 @@ txtcp()
} }
if type -P i686-w64-mingw32-gcc > /dev/null; then if type -P i686-w64-mingw32-gcc > /dev/null; then
# 32-bit x86, Win2k or later # 32-bit x86, Win2k or later if using MSVCRT
buildit pkg/bin_i686 i686-w64-mingw32 \ #
'-march=i686 -mtune=generic' # 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 \ buildit pkg/bin_i686-sse2 i686-w64-mingw32 \
'-march=i686 -msse2 -mtune=generic' '-march=i686 -msse2 -mtune=generic'
else else
@ -195,6 +197,10 @@ else
echo echo
fi fi
if type -P ps2pdf > /dev/null; then
make pdf
fi
# Copy the headers, the .def file, and the docs. # Copy the headers, the .def file, and the docs.
# They are the same for all architectures and builds. # They are the same for all architectures and builds.
mkdir -pv pkg/{include/lzma,doc/{manuals,examples}} 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/include/lzma "" src/liblzma/api/lzma/*.h
txtcp pkg/doc "" src/liblzma/liblzma.def txtcp pkg/doc "" src/liblzma/liblzma.def
txtcp pkg/doc .txt AUTHORS COPYING COPYING.0BSD NEWS README THANKS 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/README-Windows.txt \
windows/liblzma-crt-mixing.txt \ windows/liblzma-crt-mixing.txt \
windows/COPYING.MinGW-w64-runtime.txt windows/COPYING.MinGW-w64-runtime.txt
txtcp pkg/doc/manuals "" doc/man/txt/{xz,xzdec,lzmainfo}.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 # cp -rv doc/api pkg/doc/api
txtcp pkg/doc/examples "" doc/examples/* txtcp pkg/doc/examples "" doc/examples/*