Ray Donnelly <[email protected]> writes:

> msys2 should convert paths depending on the nature of the executable
> (msys vs native).

do you mean "g++" instead of "msys2"?

> I've got a strong feeling that you should start from scratch 

I just did, twice :)

> so I am writing a complete run down of getting everything in place to
> start working on monotone. Are you interested in me completing this
> guide?

Yes. Attached is what I have so far.

-- 
-- Stephe
See INSTALL for general notes, such as running 'make' and 'make check'

on Windows (using MinGW64 via Msys2):

Here we give sources for the various packages needed. We give
directions to the download, rather than an exact URL, to make it easy
to check for new versions.

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
64 bit Windows 7 installed.

Msys2 provides all of the tools required, and several of the packages.

Package       | Version  | location
--------------------------
msys2         |          | 
http://sourceforge.net/p/msys2/wiki/MSYS2%20installation/
              |          | Downloading | 64-bit | latest version
                         | lua-5.1.4.tar.gz
botan         | 1.10.8   | http://botan.randombit.net/download.html
                         | "Source: >tar/bzip<" under "Current Stable Release"
                         | _not_ the "windows binary installer"
Depends.exe   |          | http://www.dependencywalker.com/ ; also comes with 
Visual Studio

The tools listed here are sufficient to build the monotone
executable and html and info documentation. However, the
'distcheck' target also builds the documentation in
postscript format, which requires tools not (yet) available
for MinGW. FIXME: verify

The commands below assume you download files to ~/Downloads.

FIXME: replace this file with an msys2 PKGBUILD

01. MSYS2
    following instructions at 
http://sourceforge.net/p/msys2/wiki/MSYS2%20installation/

    more detailed instruction at 
http://sourceforge.net/p/msys2/tickets/32/?limit=10&page=1#216b

    for more help, consult the mailing list at 
https://lists.sourceforge.net/lists/listinfo/msys2-users

    Create directory c:/Msys2

    using 7-zip or Cygwin tar, unpack msys2-base-x86_64-20140216.tar.xz to 
c:/Msys2

    from cmd.exe (_not_ Windows Explorer), run c:\Msys2\msys64\msys2_shell.bat
        that starts an msys shell; exit it.

    start cmd.exe again, run c:\Msys2\msys64\msys2_shell.bat again

    in the msys64 shell, run 'pacman -Syu'. that gives errors about rebase. 
Exit the shell.

    in cmd.exe, run 'autorease.bat'

    in cmd.exe, run msys2_shell.bat

    in the msys shell:

    $ pacman -S mingw-w64-x86_64-toolchain
        # install all (just hit return)
        # IMPROVEME; don't need all of that
        # but 'pacman -Qo g++' gives 'error: No package owns 
/usr/mingw64/bin/g++'

    $ pacman -S autoconf
    $ pacman -S automake
    $ pacman -S mingw64/mingw-w64-x86_64-sqlite3
    $ pacman -S mingw64/mingw-w64-x86_64-boost
    $ pacman -S mingw64/mingw-w64-x86_64-lua
    $ pacman -S mingw64/mingw-w64-x86_64-libidn
    $ pacman -S msys/tar
    $ pacman -S msys/make
    $ pacman -S msys/pcre-devel

05. botan
   $ mkdir /usr/src
   $ cd /Msys2/msys64/src
    # 'cd /usr/src' doesn't work; sigh

    # Download or copy Botan-1.10.8.tbz to /Msys2/msys64/src

   $ tar xf Botan-1.10.8.tbz
   $ cd Botan-1.10.8

    # tell mingw/python to use / for directories
    # FIXME: or use msys/python

   $ export MSYSTEM=MSYS

   $ ./configure.py --prefix=/mingw64 --cc=gcc --os=mingw --cpu=x86_64
   $ make install

10. 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% (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 test failing.

11. build monotone
   $ cd /c/Projects/monotone
   $ autoreconf -i # not needed if you use the distributed tarball
   $ export CXXFLAGS="-I/Msys2/msys64/mingw64/include -g -O2 -Wall"
   $ export LDFLAGS="-L/Msys2/msys64/mingw64/lib"
   $ export botan_CFLAGS="-I/Msys2/msys64/mingw64/include/botan-1.10"
   $ export botan_LIBS="-lbotan-1.10"
   $ export pcre_CFLAGS="-I/Msys2/msys64/include"
   $ export pcre_LIBS="-L/Msys2/msys64/lib -lpcre"

    # config.guess is broken; use the result of `gcc -dumpmachine`

    # tests for 'templates with static const members', 'char has 8 bits' are 
broken; comment them out in configure

   $ ./configure --build=x86_64-w64-mingw32


   $ make

See innosetup/README.txt for instructions on building the native Win32 
installer.
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Msys2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/msys2-users

Reply via email to