| 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 <http://tukaani.org/xz/>. | |
| The parts of the XZ Utils source code, that are relevant to this | |
| binary package, are in the public domain. XZ Utils have been built | |
| for this package with MinGW-w64 and linked statically against its | |
| runtime libraries. See COPYING-Windows.txt for the copyright and | |
| license information that applies to the MinGW-w64 runtime. You must | |
| include it when redistributing these XZ Utils binaries. | |
| Package contents | |
| ---------------- | |
| All executables and libraries in this package require msvcrt.dll. | |
| It's included in all recent Windows versions. On Windows 95 it | |
| might be missing, but once you get it somewhere, XZ Utils should | |
| run even on Windows 95. | |
| There are two different versions of the executable and library files. | |
| There is one directory for each type of binaries: | |
| bin_i486 32-bit x86 (i486 and up), Windows 95 and later | |
| bin_x86-64 64-bit x86-64, Windows XP 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. | |
| 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. | |
| liblzma.a Static version of the liblzma compression library. | |
| This file is useful only for developers. | |
| The rest of the directories contain architecture-independent files: | |
| doc Documentation in the plain text (TXT) format. The | |
| manuals of the command line tools are provided also | |
| in the PDF format. liblzma.def is in this directory | |
| too. | |
| include C header files for liblzma. These should be | |
| compatible with most C and C++ compilers. If you | |
| have problems, try to fix it and send your fixes | |
| upstream, or at least report a bug, thanks. | |
| Linking against liblzma | |
| ----------------------- | |
| MinGW | |
| If you use MinGW, linking against liblzma.dll or liblzma.a should | |
| be straightforward. You don't need an import library to link | |
| against liblzma.dll, and for static linking, you don't need to | |
| worry about the LZMA_API_STATIC macro. | |
| Note that the MinGW distribution includes liblzma. If you are | |
| building packages that will be part of the MinGW distribution, you | |
| probably should use the version of liblzma shipped in MinGW instead | |
| of this package. | |
| Microsoft Visual C++ | |
| 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 naturally be changed: | |
| lib /def:liblzma.def /out:liblzma.lib /machine:x64 | |
| Linking against static liblzma might work too, but usually you | |
| should use liblzma.dll if possible. (Or, if having a decompressor | |
| is enough, consider using XZ Embedded or LZMA SDK which can be | |
| compiled with MSVC.) | |
| To try linking against static liblzma, rename liblzma.a to e.g. | |
| liblzma_static.lib and tell MSVC to link against it. You also need | |
| to tell lzma.h to not use __declspec(dllimport) by defining the | |
| macro LZMA_API_STATIC. You can do it either in the C/C++ code | |
| #define LZMA_API_STATIC | |
| #include <lzma.h> | |
| or by adding it to compiler options. | |
| Other compilers | |
| If you are using some other compiler, see its documentation how to | |
| create an import library (if it is needed). If it is simple, I | |
| might consider including the instructions here. | |
| Reporting bugs | |
| -------------- | |
| Report bugs to <lasse.collin@tukaani.org> (in English or Finnish). | |