xz/windows/README-Windows.txt

103 lines
3.9 KiB
Plaintext

XZ Utils for Windows
====================
Introduction
------------
This package includes command line tools (xz.exe and a few
others) and the liblzma compression library from XZ Utils.
You can find the latest version and full source code from
<https://xz.tukaani.org/xz-utils/>.
The parts of the XZ Utils source code, that are relevant to this
binary package, are under the BSD Zero Clause License (0BSD).
XZ Utils have been built using GCC and MinGW-w64 and linked
statically against the MinGW-w64 runtime libraries. See
COPYING.MinGW-w64-runtime.txt for copyright and license
information that applies to the MinGW-w64 runtime.
IMPORTANT: You must include COPYING.MinGW-w64-runtime.txt
when distributing these XZ Utils binaries to meet
the license terms of the MinGW-w64 runtime!
(The file COPYING mentions GNU getopt_long. It's *not* used when
XZ Utils is built with MinGW-w64. Thus GNU LGPLv2.1 doesn't apply.)
Package contents
----------------
All executables and libraries in this package require msvcrt.dll,
not Universal CRT (UCRT).
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.
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
Each of the above directories have the following files:
*.exe Command line tools. (It's useless to double-click
these; use the command prompt instead.) These have
been linked statically against liblzma, so they
don't require liblzma.dll. Thus, you can copy e.g.
xz.exe to a directory that is in PATH without
copying any other files from this package.
NOTE: xzdec.exe and lzmadec.exe are optimized for
size, single-threaded, and slower than xz.exe.
Use xz.exe unless program size is important.
liblzma.dll Shared version of the liblzma compression library.
This file is mostly useful to developers, although
some non-developers might use it to upgrade their
copy of liblzma.
The rest of the directories contain architecture-independent files:
doc Basic documentation in the plain text (TXT)
format. COPYING.txt, COPYING.0BSD.txt, and
COPYING.MinGW-w64-runtime.txt contain
copyright and license information.
liblzma.def is in this directory too.
doc/manuals The manuals of the command line tools in
plain text (TXT) and PDF formats.
doc/api liblzma API documentation in HTML format.
doc/examples Example programs for basic liblzma usage.
include C header files for liblzma. These should be
compatible with most C and C++ compilers.
Creating an import library for MSVC / Visual Studio
---------------------------------------------------
To link against liblzma.dll, you need to create an import library
first. You need the "lib" command from MSVC and liblzma.def from
the "doc" directory of this package. Here is the command that works
on 32-bit x86:
lib /def:liblzma.def /out:liblzma.lib /machine:ix86
On x86-64, the /machine argument has to be changed:
lib /def:liblzma.def /out:liblzma.lib /machine:x64
IMPORTANT: See also the file liblzma-crt-mixing.txt.
Reporting bugs
--------------
Report bugs to <xz@tukaani.org>.