diff options
Diffstat (limited to '')
-rw-r--r-- | windows/INSTALL-MinGW.txt | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/windows/INSTALL-MinGW.txt b/windows/INSTALL-MinGW.txt new file mode 100644 index 0000000..72e2718 --- /dev/null +++ b/windows/INSTALL-MinGW.txt @@ -0,0 +1,138 @@ + +Building XZ Utils on Windows +============================ + +Introduction +------------ + + This document explains shortly where to get and how to install the + 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 + 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. + - 32-bit MinGW-w64 (I call it MingW-w32 here) 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 <https://7-zip.org/> handy when extracting + some files. The ready-made build script build.bash 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: + + https://sourceforge.net/projects/mingw/files/MSYS/Base/msys-core/ + + 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 + + NOTE: This section may be outdated. I haven't tried MinGW recently. + + You can download the required packages from MinGW's Sourceforge page: + + https://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 + + I used the packages from Mingw-builds project. With that it is + enough to pick one .7z file for 32-bit and another for 64-bit + toolchain. For XZ Utils 5.2.0 I used the packages from these + directories: + + https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.2/threads-win32/sjlj/ + + https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.9.2/threads-win32/sjlj/ + + If you install both MinGW-w32 and MinGW-w64, remember to extract + them into different directories. build.bash looks at + C:\devel\tools\mingw-w32 and C:\devel\tools\mingw-w64 by default. + + +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 + bash windows/build.bash + + If you used some other directory than C:\devel\tools for the build + tools, edit the variables near the beginning of build.bash first. + + If you want to build manually, read the buildit() function in + build.bash. Look especially at the latter configure invocation. + + Be patient. Running configure and other scripts used by the build + system is (very) slow under Windows. + + +Using a snapshot from the Git repository + + To use a snapshot, the build system files need to be generated with + autogen.sh or "autoreconf -fi" before trying to build using the + above build instructions. You can install the relevant extra packages + from MinGW or use Cygwin or use e.g. a GNU/Linux system to create a + source package with the required build system files. + |