8 This package includes command line tools (xz.exe and a few others)
9 and the liblzma compression library from XZ Utils. You can find the
10 latest version and full source code from <http://tukaani.org/xz/>.
12 The parts of the XZ Utils source code, that are relevant to this
13 binary package, are in the public domain. XZ Utils have been built
14 for this package with MinGW-w64 and linked statically against its
15 runtime libraries. See COPYING-Windows.txt for the copyright and
16 license information that applies to the MinGW-w64 runtime. You must
17 include it when redistributing these XZ Utils binaries.
23 All executables and libraries in this package require msvcrt.dll.
24 It's included in all recent Windows versions. On Windows 95 it
25 might be missing, but once you get it somewhere, XZ Utils should
26 run even on Windows 95.
28 There are two different versions of the executable and library files.
29 There is one directory for each type of binaries:
31 bin_i486 32-bit x86 (i486 and up), Windows 95 and later
32 bin_x86-64 64-bit x86-64, Windows XP and later
34 Each of the above directories have the following files:
36 *.exe Command line tools. (It's useless to double-click
37 these; use the command prompt instead.) These have
38 been linked statically against liblzma, so they
39 don't require liblzma.dll. Thus, you can copy e.g.
40 xz.exe to a directory that is in PATH without copying
41 any other files from this package.
43 liblzma.dll Shared version of the liblzma compression library.
44 This file is mostly useful to developers, although
45 some non-developers might use it to upgrade their
48 liblzma.a Static version of the liblzma compression library.
49 This file is useful only for developers.
51 The rest of the directories contain architecture-independent files:
53 doc Documentation in the plain text (TXT) format. The
54 manuals of the command line tools are provided also
55 in the PDF format. liblzma.def is in this directory
58 include C header files for liblzma. These should be
59 compatible with most C and C++ compilers. If you
60 have problems, try to fix it and send your fixes
61 upstream, or at least report a bug, thanks.
64 Linking against liblzma
65 -----------------------
69 If you use MinGW, linking against liblzma.dll or liblzma.a should
70 be straightforward. You don't need an import library to link
71 against liblzma.dll, and for static linking, you don't need to
72 worry about the LZMA_API_STATIC macro.
74 Note that the MinGW distribution includes liblzma. If you are
75 building packages that will be part of the MinGW distribution, you
76 probably should use the version of liblzma shipped in MinGW instead
82 To link against liblzma.dll, you need to create an import library
83 first. You need the "lib" command from MSVC and liblzma.def from
84 the "doc" directory of this package. Here is the command that works
87 lib /def:liblzma.def /out:liblzma.lib /machine:ix86
89 On x86-64, the /machine argument has to naturally be changed:
91 lib /def:liblzma.def /out:liblzma.lib /machine:x64
93 Linking against static liblzma should work too. Rename liblzma.a
94 to e.g. liblzma_static.lib and tell MSVC to link against it. You
95 also need to tell lzma.h to not use __declspec(dllimport) by defining
96 the macro LZMA_API_STATIC. You can do it either in the C/C++ code
98 #define LZMA_API_STATIC
101 or by adding it to compiler options.
106 If you are using some other compiler, see its documentation how to
107 create an import library (if it is needed). If it is simple, I
108 might consider including the instructions here.
114 Report bugs to <lasse.collin@tukaani.org> (in English or Finnish).