aboutsummaryrefslogtreecommitdiff
path: root/windows/INSTALL-Windows.txt
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2010-01-31 23:28:51 +0200
committerLasse Collin <lasse.collin@tukaani.org>2010-01-31 23:28:51 +0200
commit8884e16864ba53fb4b58623d7537d7ef30c28e11 (patch)
tree4b4b670641cfeb4eed71458fe743ef1d728c8677 /windows/INSTALL-Windows.txt
parentSelect the default integrity check type at runtime. (diff)
downloadxz-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 'windows/INSTALL-Windows.txt')
-rw-r--r--windows/INSTALL-Windows.txt131
1 files changed, 131 insertions, 0 deletions
diff --git a/windows/INSTALL-Windows.txt b/windows/INSTALL-Windows.txt
new file mode 100644
index 00000000..b5ac9630
--- /dev/null
+++ b/windows/INSTALL-Windows.txt
@@ -0,0 +1,131 @@
+
+Building XZ Utils on Windows
+============================
+
+Introduction
+------------
+
+ 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
+ binary package will be standalone in sense that it will depend only
+ on DLLs that are included in all Windows installations.
+
+ These instructions don't apply to Cygwin. XZ Utils can be built under
+ Cygwin in the same way as many other packages.
+
+ These instructions don't apply to MinGW and MSYS developers either,
+ who may want to package XZ Utils for MinGW or MSYS distributions.
+ You know who you are, and will probably use quite different configure
+ options etc. than what is described here.
+
+
+Installing the toolchain(s)
+---------------------------
+
+ Some of the following is needed:
+ - MSYS is always needed to use the GNU Autotools based build system.
+ - MinGW builds 32-bit x86 binaries.
+ - MingW-w32 builds 32-bit x86 executables too.
+ - MinGW-w64 builds 64-bit x86-64 binaries.
+
+ So you need to pick between MinGW and MinGW-w32 when building
+ 32-bit version. You don't need both.
+
+ You might find 7-Zip <http://7-zip.org/> handy when extracting
+ some files (especially the .tar.lzma files). The ready-made
+ build script will also use 7-Zip to create the distributable
+ .zip and .7z files.
+
+ I used the following directory structure but you can use whatever
+ you want. Just note that I will use these in my examples. Each of
+ these should have a subdirectory "bin":
+
+ C:\devel\tools\msys
+ C:\devel\tools\mingw
+ C:\devel\tools\mingw-w32
+ C:\devel\tools\mingw-w64
+
+
+Installing MSYS
+
+ You can download MSYS from MinGW's Sourceforge page:
+
+ http://sourceforge.net/projects/mingw/files/
+
+ It's under "MSYS Base System". I recommend using MSYS 1.0.11
+ (MSYS-1.0.11.exe or msysCORE-1.0.11-bin.tar.gz) because that
+ package includes all the required tools. At least some of the
+ later versions include only a subset and thus you would need to
+ download the rest separately. The old version will work fine for
+ building XZ Utils.
+
+ You can use either the .exe or .tar.gz package. I prefer .tar.gz,
+ because it can be extracted into any directory and later removed
+ without worrying about uninstallers.
+
+
+Installing MinGW
+
+ You can download the required packages from MinGW's Sourceforge page:
+
+ http://sourceforge.net/projects/mingw/files/
+
+ These version numbers were the latest when I wrote this document, but
+ you probably should pick the latest versions:
+
+ MinGW Runtime -> mingwrt-3.17-mingw32-dev.tar.gz
+ MinGW API for MS-Windows -> w32api-3.14-mingw32-dev.tar.gz
+ GNU Binutils -> binutils-2.20-1-bin.tar.gz
+ GCC Version 4 -> gcc-full-4.4.0-mingw32-bin-2.tar.lzma
+
+ The full GCC package is quite big, but if you want a smaller
+ download, you will need to download more than one file, so I'm
+ using the full package in this document for simplicity.
+
+ Extract the packages in the above order, possibly overwriting files
+ from packages that were extracted earlier.
+
+
+Installing MinGW-w32 or MinGW-w64
+
+ You can find the latest MinGW-w32 and MinGW-w64 builds here:
+
+ http://sourceforge.net/projects/mingw-w64/files/
+
+ Locate the appropriate files:
+
+ Toolchains targeting Win32 -> mingw-w32-*-mingw*.zip
+ Toolchains targeting Win64 -> mingw-w64-*-mingw*.zip
+
+ I don't know what is the most recommended one. I used sezero's
+ versions from "Personal Builds", since they seemed to have
+ a stable GCC (judging from the GCC version number only).
+
+ If you will install both MinGW-w32 and MinGW-w64, remember to
+ extract them into different directories.
+
+
+Building XZ Utils
+-----------------
+
+ Start MSYS by going to the directory C:\devel\tools\msys and running
+ msys.bat there (double-click or use command prompt). It will start
+ at "home" directory, which is C:\devel\tools\msys\home\YourUserName.
+
+ If you have xz-5.x.x.tar.gz in C:\devel, you should be able to build
+ it now with the following commands:
+
+ cd /c/devel
+ tar xzf xz-5.x.x.tar.gz
+ cd xz-5.x.x
+ sh windows/build.sh
+
+ If you used some other directory than C:\devel\tools for the build
+ tools, edit the variables near the beginning of build.sh first.
+
+ If you want to build manually, read the buildit() function in
+ build.sh. Look especially at the latter configure invocation.
+
+ Be patient. Running configure and other scripts used by the build
+ system is (very) slow under Windows.
+