From 8884e16864ba53fb4b58623d7537d7ef30c28e11 Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Sun, 31 Jan 2010 23:28:51 +0200 Subject: 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. --- windows/INSTALL-Windows.txt | 131 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 windows/INSTALL-Windows.txt (limited to 'windows/INSTALL-Windows.txt') 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 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. + -- cgit v1.2.3