mirror of
https://git.tukaani.org/xz.git
synced 2024-04-04 12:36:23 +02:00
Windows: Update the docs.
This commit is contained in:
parent
b0798c6aa6
commit
3a5d755d05
3 changed files with 67 additions and 11 deletions
29
INSTALL
29
INSTALL
|
@ -136,22 +136,31 @@ XZ Utils Installation
|
||||||
|
|
||||||
1.2.7. Windows
|
1.2.7. Windows
|
||||||
|
|
||||||
Building XZ Utils on Windows is supported under MinGW + MSYS,
|
Building XZ Utils on Windows is supported under the following
|
||||||
MinGW-w64 + MSYS, and Cygwin. There is windows/build.bash to
|
environments:
|
||||||
ease packaging XZ Utils with MinGW(-w64) + MSYS into a
|
|
||||||
redistributable .zip or .7z file. See windows/INSTALL-Windows.txt
|
- MinGW-w64 + MSYS (32-bit and 64-bit x86): This is used
|
||||||
for more information.
|
for building the official binary packages for Windows.
|
||||||
|
There is windows/build.bash to ease packaging XZ Utils with
|
||||||
|
MinGW(-w64) + MSYS into a redistributable .zip or .7z file.
|
||||||
|
See windows/INSTALL-MinGW.txt for more information.
|
||||||
|
|
||||||
|
- MinGW + MSYS (32-bit x86): I haven't recently tested this.
|
||||||
|
|
||||||
|
- Cygwin 1.7.35 and later: NOTE that using XZ Utils >= 5.2.0
|
||||||
|
under Cygwin older than 1.7.35 can lead to DATA LOSS! If
|
||||||
|
you must use an old Cygwin version, stick to XZ Utils 5.0.x
|
||||||
|
which is safe under older Cygwin versions. You can check
|
||||||
|
the Cygwin version with the command "cygcheck -V".
|
||||||
|
|
||||||
|
- Microsoft Visual Studio 2013 update 2 or later (MSVC for short):
|
||||||
|
See windows/INSTALL-MSVC.txt for more information.
|
||||||
|
|
||||||
It may be possible to build liblzma with other toolchains too, but
|
It may be possible to build liblzma with other toolchains too, but
|
||||||
that will probably require writing a separate makefile. Building
|
that will probably require writing a separate makefile. Building
|
||||||
the command line tools with non-GNU toolchains will be harder than
|
the command line tools with non-GNU toolchains will be harder than
|
||||||
building only liblzma.
|
building only liblzma.
|
||||||
|
|
||||||
Starting with XZ Utils 5.2.0, building liblzma (not the whole
|
|
||||||
XZ Utils) should work with MSVC 2013 update 2 or later using
|
|
||||||
windows/config.h. No project files or makefiles are included yet,
|
|
||||||
so the build process isn't as convenient yet as it could be.
|
|
||||||
|
|
||||||
Even if liblzma is built with MinGW(-w64), the resulting DLL can
|
Even if liblzma is built with MinGW(-w64), the resulting DLL can
|
||||||
be used by other compilers and linkers, including MSVC. See
|
be used by other compilers and linkers, including MSVC. See
|
||||||
windows/README-Windows.txt for details.
|
windows/README-Windows.txt for details.
|
||||||
|
|
47
windows/INSTALL-MSVC.txt
Normal file
47
windows/INSTALL-MSVC.txt
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
|
||||||
|
Building XZ Utils with Microsoft Visual Studio
|
||||||
|
==============================================
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
MSVC 2013 update 2 and later have enough C99 support to build
|
||||||
|
liblzma from XZ Utils 5.2.0 and later without modifications.
|
||||||
|
Older MSVC versions would require a large number of changes to
|
||||||
|
the XZ Utils code and thus the old MSVC versions aren't supported.
|
||||||
|
|
||||||
|
As of 2015-06-19, some work has been done to get xz.exe and other
|
||||||
|
command line tools built with MSVC, but it's not complete enough
|
||||||
|
to be included in XZ Utils.
|
||||||
|
|
||||||
|
|
||||||
|
Building
|
||||||
|
--------
|
||||||
|
|
||||||
|
The following files in this directory are for MSVC:
|
||||||
|
|
||||||
|
config.h liblzma configuration #defines for MSVC.
|
||||||
|
liblzma.vcxproj This builds static liblzma.
|
||||||
|
liblzma_dll.vcxproj This builds liblzma.dll.
|
||||||
|
xz_win.sln Solution using the above project files.
|
||||||
|
|
||||||
|
The projects have x86 and x86-64 platform configurations, as well
|
||||||
|
as a Debug, Release, and ReleaseMT configuration -- MT is the
|
||||||
|
compiler switch to link to the CRT statically, so it will not
|
||||||
|
have any other DLL dependencies.
|
||||||
|
|
||||||
|
Currently no test programs are built or run under MSVC.
|
||||||
|
|
||||||
|
MSVC gives a bunch of compiler warnings. Some warnings are specific
|
||||||
|
to 32-bit or 64-bit build and some appear for both builds. These
|
||||||
|
are known and shouldn't be a problem. Some of them will probably
|
||||||
|
be fixed in the future.
|
||||||
|
|
||||||
|
|
||||||
|
Notes
|
||||||
|
-----
|
||||||
|
|
||||||
|
liblzma API headers declare the functions with __declspec(dllimport)
|
||||||
|
by default. To avoid this when using static liblzma from your code,
|
||||||
|
#define LZMA_API_STATIC before #including <lzma.h>.
|
||||||
|
|
|
@ -6,7 +6,7 @@ Introduction
|
||||||
------------
|
------------
|
||||||
|
|
||||||
This document explains shortly where to get and how to install the
|
This document explains shortly where to get and how to install the
|
||||||
build tool that are needed to build XZ Utils on Windows. The final
|
build tools that are needed to build XZ Utils on Windows. The final
|
||||||
binary package will be standalone in sense that it will depend only
|
binary package will be standalone in sense that it will depend only
|
||||||
on DLLs that are included in all Windows installations.
|
on DLLs that are included in all Windows installations.
|
||||||
|
|
Loading…
Reference in a new issue