diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2010-01-31 23:28:51 +0200 |
---|---|---|
committer | Lasse Collin <lasse.collin@tukaani.org> | 2010-01-31 23:28:51 +0200 |
commit | 8884e16864ba53fb4b58623d7537d7ef30c28e11 (patch) | |
tree | 4b4b670641cfeb4eed71458fe743ef1d728c8677 /windows/README-Windows.txt | |
parent | Select the default integrity check type at runtime. (diff) | |
download | xz-8884e16864ba53fb4b58623d7537d7ef30c28e11.tar.xz |
Revise the Windows build files.
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.
Diffstat (limited to '')
-rw-r--r-- | windows/README-Windows.txt | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/windows/README-Windows.txt b/windows/README-Windows.txt new file mode 100644 index 00000000..536d08f5 --- /dev/null +++ b/windows/README-Windows.txt @@ -0,0 +1,115 @@ + +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). + |