]> git.ipfire.org Git - thirdparty/xz.git/commitdiff
Windows: Update build.bash and its README-Windows.txt to UCRT
authorLasse Collin <lasse.collin@tukaani.org>
Sun, 12 Jan 2025 08:47:58 +0000 (10:47 +0200)
committerLasse Collin <lasse.collin@tukaani.org>
Sun, 12 Jan 2025 11:08:49 +0000 (13:08 +0200)
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.

windows/README-Windows.txt
windows/build.bash

index d97d8428c38c621c659172eb60c3b706ec8c7d46..8fa8ae17aebb1ffa82450a46979c3ebcc32b4fc9 100644 (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
index a68bd7c672e8131fe975a3267af22d900189bf47..9bcc28b4a80b39398a1b0386c8dc55781a7528db 100644 (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/*