8884e16864
The old Makefile + config.h was deleted, because it becomes outdated too easily and building with the Autotools based build system works fine even on Windows. windows/build.sh hasn't got much testing, but it should work to build 32-bit x86 and x86-64 versions of XZ Utils using MSYS, MinGW or MinGW-w32, and MinGW-w64. windows/INSTALL-Windows.txt describes what packages are needed and how to install them. windows/README-Windows.txt is a readme file for the binary package that build.sh hopefully builds. There are no instructions about using Autotools for now, so those using a git snapshot may want to run "autoreconf -fi && ./configure && make mydist" on a UN*X box and then copy the resulting .tar.gz to a Windows.
116 lines
4.1 KiB
Plaintext
116 lines
4.1 KiB
Plaintext
|
|
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 and linked statically against the MinGW
|
|
runtime and w32api packages.
|
|
|
|
FIXME: Add license info about MinGW runtime and w32api.
|
|
|
|
|
|
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 should work too. 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).
|
|
|