xz: add missing noreturn for message_filters_help
[xz.git] / windows / README-Windows.txt
blob5dc2ac72a0ada99a0d04c781c872d8efeee5dd8d
2 XZ Utils for Windows
3 ====================
5 Introduction
6 ------------
8     This package includes command line tools (xz.exe and a few
9     others) and the liblzma compression library from XZ Utils.
10     You can find the latest version and full source code from
11     <https://tukaani.org/xz/>.
13     The parts of the XZ Utils source code, that are relevant to this
14     binary package, are under the BSD Zero Clause License (0BSD).
15     XZ Utils have been built using GCC and MinGW-w64 and linked
16     statically against the MinGW-w64 runtime libraries. See
17     COPYING.MinGW-w64-runtime.txt for copyright and license
18     information that applies to the MinGW-w64 runtime.
20         IMPORTANT: You must include COPYING.MinGW-w64-runtime.txt
21         when distributing these XZ Utils binaries to meet
22         the license terms of the MinGW-w64 runtime!
24     (The file COPYING mentions GNU getopt_long. It's *not* used when
25     XZ Utils is built with MinGW-w64. Thus GNU LGPLv2.1 doesn't apply.)
28 Package contents
29 ----------------
31     All executables and libraries in this package require msvcrt.dll,
32     not Universal CRT (UCRT).
34     There is a SSE2 optimization in the compression code but this
35     version of XZ Utils doesn't include run-time processor detection.
36     This is why there is a separate i686-SSE2 version.
38     There is one directory for each type of executable and library files:
40         bin_i686        32-bit x86 (i686 and newer), Windows 2000 and later
41         bin_i686-sse2   32-bit x86 (i686 with SSE2), Windows 2000 and later
42         bin_x86-64      64-bit x86-64, Windows Vista and later
44     Each of the above directories have the following files:
46         *.exe         Command line tools. (It's useless to double-click
47                       these; use the command prompt instead.) These have
48                       been linked statically against liblzma, so they
49                       don't require liblzma.dll. Thus, you can copy e.g.
50                       xz.exe to a directory that is in PATH without
51                       copying any other files from this package.
53                       NOTE: xzdec.exe and lzmadec.exe are optimized for
54                       size, single-threaded, and slower than xz.exe.
55                       Use xz.exe unless program size is important.
57         liblzma.dll   Shared version of the liblzma compression library.
58                       This file is mostly useful to developers, although
59                       some non-developers might use it to upgrade their
60                       copy of liblzma.
62     The rest of the directories contain architecture-independent files:
64         doc           Basic documentation in the plain text (TXT)
65                       format. COPYING.txt, COPYING.0BSD.txt, and
66                       COPYING.MinGW-w64-runtime.txt contain
67                       copyright and license information.
68                       liblzma.def is in this directory too.
70         doc/manuals   The manuals of the command line tools in
71                       plain text (TXT) and PDF formats.
73         doc/api       liblzma API documentation in HTML format.
75         doc/examples  Example programs for basic liblzma usage.
77         include       C header files for liblzma. These should be
78                       compatible with most C and C++ compilers.
81 Creating an import library for MSVC / Visual Studio
82 ---------------------------------------------------
84     To link against liblzma.dll, you need to create an import library
85     first. You need the "lib" command from MSVC and liblzma.def from
86     the "doc" directory of this package. Here is the command that works
87     on 32-bit x86:
89         lib /def:liblzma.def /out:liblzma.lib /machine:ix86
91     On x86-64, the /machine argument has to be changed:
93         lib /def:liblzma.def /out:liblzma.lib /machine:x64
95     IMPORTANT: See also the file liblzma-crt-mixing.txt.
98 Reporting bugs
99 --------------
101     Report bugs to <xz@tukaani.org>.