[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-commits-diffs] net.venge.monotone.mingw-instructions: ac0c98b
From: |
code |
Subject: |
[Monotone-commits-diffs] net.venge.monotone.mingw-instructions: ac0c98be37257d9c2f58e84c1f434c118de9234c |
Date: |
Mon, 20 Dec 2010 01:25:34 GMT |
revision: ac0c98be37257d9c2f58e84c1f434c118de9234c
date: 2010-12-19T23:33:23
author: Timothy Brownawell <address@hidden>
branch: net.venge.monotone.mingw-instructions
changelog:
Update MinGW build instructions.
Use current versions of things, including Botan which means
we now need Python to run configure.py. Also, MinGW now comes
with a 'mingw-get' that can install about half of what we need.
manifest:
format_version "1"
new_manifest [8d5324d5ef3d7a171f7fe81788b34edbff8fe186]
old_revision [a0b7fd55c1456a7477440c3f5a9f2528c3d34a58]
patch "INSTALL_windows_native"
from [e6fdc73a0d83a125f12557d5d8bb9c655feb47ef]
to [c65fc4bff26232987d252c66a626735d8222ad9c]
============================================================
--- INSTALL_windows_native e6fdc73a0d83a125f12557d5d8bb9c655feb47ef
+++ INSTALL_windows_native c65fc4bff26232987d252c66a626735d8222ad9c
@@ -2,53 +2,46 @@ on Windows (using MinGW):
on Windows (using MinGW):
-Many tools and packages are available on the SourceForge MinGW
-download site:
+Many tools and packages are available on SourceForge:
-https://sourceforge.net/projects/mingw/files/
+https://sourceforge.net/projects/<project>/files/
That site is organized into several hierarchical lists of files. We
give the hierarchy names here, rather than a complete download URL, to
-make it easy to check for new versions. The versions given here were
-used to build the current release of monontone.
+make it easy to check for new versions.
-Trying a new version of Boost can be dangerous.
+The versions given here may not be exactly the same versions as used to
+build the current release of monontone.
These instructions work on a new computer, with only
Windows XP installed.
-Package | Version | location
+Package | Version | location
--------------------------
-MingGW | 5.1.4 | Automated MinGW Installer | MinGW 5.1.4 | MinGW-5.1.4.exe
-MSYS | 1.0.11 | MSYS Base System | msys-1.0.11 | MSYS-1.0.11.exe
-msysDTK | 1.0.1 | MSYS Supplementary Tools | msysDTK-1.0.1 | msysDTK-1.0.1.exe
-libiconv | 1.13 | MinGW libiconv | Release 1.13 |
- | | libiconv-1.13-mingw32-bin.tar.gz
- | | libiconv-1.13-mingw32-dev.tar.gz
- | | libiconv-1.13-mingw32-dll-2.tar.gz
-autoconf | 2.63 | MSYS autoconf | autoconf-2.63-1 | autoconf-2.63-1-msys-1.0.11-bin.tar.lzma
-automake | 1.11 | MSYS automake | automake-1.11-1 | automake-1.11-1-msys-1.0.11-bin.tar.lzma
-zlib | 1.2.3 | zlib-1.2.3-1-mingw32 |
- | | libz-1.2.3-1-mingw32-dev.tar.gz
- | | libz-1.2.3-1-mingw32-dll-1.tar.gz
-gcc dll | | GCC Version 4 | Current Release_gcc-4.4.0 | gcc-core-4.4.0-mingw32-dll.tar.gz
-gettext | 0.17 | MinGW gettext | gettext-0.17-1 |
- | | gettext-0.17-1-mingw32-bin.tar.lzma
- | | gettext-0.17-1-mingw32-dev.tar.lzma
- | | libgettextpo-0.17-1-mingw32-dll-0.tar.lzma
- | | libintl-0.17-1-mingw32-dll-8.tar.lzma
-boost | 1.34.1 | http://prdownloads.sf.net/boost/boost_1_34_1.tar.bz2?download
-Lua | 5.1.4 | http://www.lua.org/ | lua-5.1.4.tar.gz
-pcre | 7.8 | http://www.pcre.org/ | pcre-7.8.tar.bz2
-botan | 1.8.4 | http://botan.randombit.net/download.html | Botan-1.8.4.tbz
-sqlite3 | 3.6.16 | http://www.sqlite.org/download.html | sqlite-amalgamation-3.6.16.tar.gz, with makefile
-libidn | 1.9 | ftp://ftp.gnu.org/gnu/libidn | libidn-1.9.tar.gz
-Depends.exe| | http://www.dependencywalker.com/ ; also comes with Visual Studio
+Python | 2.7.1 | http://www.python.org/
+ | "Windows Installer" under "Quick Links (2.7.1)"
+mingw-get-inst| latest | http://sourceforge.net/projects/mingw/files/
+ | -> Automated MinGW Installer
+ | -> mingw-get-inst
+ | -> mingw-get-inst-20101030
+ | -> mingw-get-inst-20101030.exe
+boost | 1.45.1 | http://sourceforge.net/projects/boots/files/
+ | -> boost -> 1.54.0 -> boost_1_45_0.tar.gz
+Lua | 5.1.4 | http://www.lua.org/
+ | -> download
+ | -> "...current release is >Lua 5.1.4<" under "Source"
+ | lua-5.1.4.tar.gz
+pcre | 8.11 | http://www.pcre.org/
+ | -> ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
+ | -> pcre-8.11.tar.gz
+botan | 1.8.11 | http://botan.randombit.net/download.html
+ | "Source: >tar/gzip<" under "Current Stable Release"
+sqlite3 | 3.7.4 | http://www.sqlite.org/download.html
+ | -> sqlite-autoconf-3070400.tar.gz
+libidn | 1.19 | ftp://ftp.gnu.org/gnu/libidn/
+ | -> libidn-1.19.tar.gz
+Depends.exe | | http://www.dependencywalker.com/ ; also comes with Visual Studio
-msysDTK installs autoconf, automake, Perl, CVS, crypt, and
-other tools needed by the autoconf tools.
-
-However, monotone requires a newer autoconf and automake.
In general, there are two versions of most tools on the
MinGW site; mingw and msys. MinGW versions are intended to
be run from a DOS shell, msys versions from an Msys shell.
@@ -64,98 +57,97 @@ for MinGW.
postscript format, which requires tools not (yet) available
for MinGW.
-1. MinGW - run installer, accept defaults but add g++ on the package selection page (installs to c:/MinGW)
-2. MSYS - run installer, accept defaults (installs to c:/Msys/1.0)
-3. msysDTK - run installer, accept defaults (installs to c:/Msys/1.0)
+The commands below assume you download files to C:\MinGW\Msys\1.0\ , which
+maps to both / and /usr/ under the MinGW shell.
-4. libiconv
- start the Msys shell.
- $ cd /mingw
- $ tar zxf libiconv-1.13-mingw32-bin.tar.gz
- $ tar zxf libiconv-1.13-mingw32-dev.tar.gz
- $ tar zxf libiconv-1.13-mingw32-dll-2.tar.gz
+01. Python (needed for the Botan configure script)
+ 01.1 Run the installer, accept all defaults.
+ 01.2 Add python to your PATH
+ Right-click on "My Computer", select "Properties"
+ Go to the "Advanced" tab, and click on "Environment Variables"
+ To add Python to everyone's path:
+ Select "Path" (case-insensitive) in the "System variables" at the botton.
+ Click "Edit".
+ Add ";C:\Python27" (without the quotes) to the end of the value.
+ To add Python to only your path:
+ If there is a "Path" entry in the "User variables for ..." section,
+ edit it as above.
+ If there is not a "Path" entry, click on "New" in the User variables section,
+ and enter "PATH" as the variable name and "C:\Python27" as the value.
+ To verify your new PATH, you can go to Start->Run and enter "cmd", then in the
+ command window run "echo %PATH%" and look for the Python directory in the output.
-5. autoconf
- $ cd /
- $ tar --lzma -xf autoconf-2.63-1-msys-1.0.11-bin.tar.lzma
+02. MinGW
+ Run mingw-get-inst (graphical installer for mingw-get and the MinGW base system).
+ At the "Select Components" screen, add "C++ compiler" and "MinGW Developer Toolkit".
+ Other than this, accept all defaults.
+ Open the MinGW shell (Start->All Programs->MinGW->MinGW Shell)
+ Run the following:
+ $ mingw-get install msys-autoconf msys-automake mingw32-libiconv
+ $ mingw-get install mingw32-zlib mingw32-libz-dev mingw32-gettext
-6. automake
- $ cd /
- $ tar --lzma -xf automake-1.11-1-msys-1.0.11-bin.tar.lzma
-
-7. zlib
- $ cd /mingw
- $ tar zxf libz-1.2.3-1-mingw32-dev.tar.gz
- $ tar zxf libz-1.2.3-1-mingw32-dll-1.tar.gz
- $ cp bin/libz-1.dll bin/zlib1.dll
-
-8. gettext
- $ cd /mingw
- $ tar --lzma -xf gettext-0.17-1-mingw32-bin.tar.lzma
- $ tar --lzma -xf gettext-0.17-1-mingw32-dev.tar.lzma
- $ tar --lzma -xf libgettextpo-0.17-1-mingw32-dll-0.tar.lzma
- $ tar --lzma -xf libintl-0.17-1-mingw32-dll-8.tar.lzma
- $ tar zxf gcc-core-4.4.0-mingw32-dll.tar.gz
-
-9. boost; only need headers
+03. boost; only need headers
$ cd /usr
$ mkdir src
$ cd src
- $ tar jxf boost_1_34_1.tar.bz2
- $ cd boost_1_34_1
+ $ tar -zxf ../boost_1_45_1.tar.gz
+ This may give errors about gid_t out of range, and then say
+ "Exiting with failure status due to previous errors"; you can
+ ignore this.
+ $ cd boost_1_45_1
$ cp -a boost /mingw/include
-10. Lua
+04. Lua
$ cd /usr/src
- $ tar zxf lua-5.1.4.tar.gz
+ $ tar -zxf ../lua-5.1.4.tar.gz
$ cd lua-5.1.4
$ make mingw INSTALL_TOP=/mingw
$ make install INSTALL_TOP=/mingw
-11. pcre
+05. pcre
$ cd /usr/src
- $ tar jxf pcre-7.8.tar.bz2
- $ cd pcre-7.8
+ $ tar -zxf ../pcre-8.11.tar.gz
+ $ cd pcre-8.11
$ ./configure --prefix=/mingw
$ make install
-12. botan
- 12.1 unpack, configure:
- $ cd /usr/src
- $ tar jxf Botan-1.8.4.tbz
- $ cd Botan-1.8.4
- $ ./configure.pl --with-tr1=none
- 12.2 edit Makefile, delete -ansi from LANG_FLAGS
- 12.3 install:
- $ make install
+06. botan
+ $ cd /usr/src
+ $ tar -zxf ../Botan-1.8.11.tgz
+ $ cd Botan-1.8.11
+ $ ./configure.py --cc=gcc --os=mingw
+ The Botan configure script generates paths with Python's
+ os.path.join(...), which in the case of the Windows Python
+ we installed uses '\' as the path separator. There are a
+ couple of places in the Makefile where this causes problems.
+ $ sed -i 's#\\\(.\)#/\1#g' Makefile
+ $ make install
-13. sqlite3
+07. sqlite3
$ cd /usr/src
- $ tar zxf sqlite-amalgamation-3.6.16.tar.gz
- $ cd sqlite-3.6.16
+ $ tar -zxf ../sqlite-autoconf-3070400.tar.gz
+ $ cd sqlite-autoconf-3070400
$ ./configure --prefix=/mingw
$ make install
-14. libidn
+08. libidn
$ cd /usr/src
- $ tar zxf libidn-1.9.tar.gz
- $ cd libidn-1.9
+ $ tar -zxf ../libidn-1.19.tar.gz
+ $ cd libidn-1.19
$ ./configure --prefix=/mingw
$ make install
-15. Depends.exe
+09. Depends.exe
If you have Visual Studio installed, you should be able to skip this.
If you don't, then download the appropriate depends*.zip and
- unpack it someplace in your %PATH%.
+ unpack it someplace in your %PATH% (for example, C:\MinGW\bin\).
This is only used by the testsuite, in particular the empty_environment test.
If you just want to build monotone for your own use, you can skip this and
just ignore that that test fails.
-16. build monotone
+10. build monotone
$ cd /c/.../monotone
- $ export PATH=/bin:/mingw/bin
- $ autoreconf -i
- $ touch config.h.in
- $ ./configure sqlite3_LIBS=-lsqlite3
+ $ autoreconf -i # not needed if you use the distributed tarball
+ $ ./configure
$ make
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Monotone-commits-diffs] net.venge.monotone.mingw-instructions: ac0c98be37257d9c2f58e84c1f434c118de9234c,
code <=