diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 21:12:04 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 21:12:04 +0000 |
commit | eac54b7c4aec25060d7bd856f7cdc290943d6aae (patch) | |
tree | 9a6d81c9f88df4698e746d63d14ddafeddd918b8 /windows/README-Windows.txt | |
parent | Initial commit. (diff) | |
download | xz-utils-upstream.tar.xz xz-utils-upstream.zip |
Adding upstream version 5.4.1.upstream/5.4.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'windows/README-Windows.txt')
-rw-r--r-- | windows/README-Windows.txt | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/windows/README-Windows.txt b/windows/README-Windows.txt new file mode 100644 index 0000000..83f902e --- /dev/null +++ b/windows/README-Windows.txt @@ -0,0 +1,122 @@ + +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://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, the i686 binaries + should run even on Windows 95 if the processor is new enough.) + + 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 95 and later + bin_i686-sse2 32-bit x86 (i686 with SSE2), Windows 98 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. + + 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 + + If you need to link statically against liblzma, you should build + liblzma with MSVC 2013 update 2 or later. Alternatively, if having + a decompressor is enough, consider using XZ Embedded or LZMA SDK. + + When you plan to link against static liblzma, you 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 <xz@tukaani.org>. + |