summaryrefslogtreecommitdiffstats
path: root/windows/README-Windows.txt
diff options
context:
space:
mode:
Diffstat (limited to 'windows/README-Windows.txt')
-rw-r--r--windows/README-Windows.txt116
1 files changed, 47 insertions, 69 deletions
diff --git a/windows/README-Windows.txt b/windows/README-Windows.txt
index 83f902e..d97d842 100644
--- a/windows/README-Windows.txt
+++ b/windows/README-Windows.txt
@@ -5,25 +5,31 @@ 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/>.
+ 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.
+ 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.
- 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.)
+ 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.
@@ -31,57 +37,47 @@ Package contents
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_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.
+ *.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.
+ 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.a Static version of the liblzma compression library.
- This file is useful only for developers.
+ 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 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.
+ 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) format.
-Linking against liblzma
------------------------
+ doc/examples Example programs for basic liblzma usage.
-MinGW
+ include C header files for liblzma. These should be
+ compatible with most C and C++ compilers.
- 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++
+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
@@ -90,29 +86,11 @@ Microsoft Visual C++
lib /def:liblzma.def /out:liblzma.lib /machine:ix86
- On x86-64, the /machine argument has to naturally be changed:
+ On x86-64, the /machine argument has to 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.
+ IMPORTANT: See also the file liblzma-crt-mixing.txt.
Reporting bugs