| |
| 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). |
| |