notmuch on w32

Tomi Ollila tomi.ollila at iki.fi
Sun Oct 20 07:50:48 PDT 2013


On Sat, Oct 19 2013, Felipe Contreras <felipe.contreras at gmail.com> wrote:

> On Sat, Oct 19, 2013 at 2:54 PM, David Bremner <david at tethera.net> wrote:
>> Claudio Bley <claudio.bley at googlemail.com> writes:
>>
>>> I wanted to use notmuch on MS Windows and thus have ported the code to
>>> be able to compile with MinGW and MSYS using the GNU autotools on that
>>> platform.
>>
>> Do you really need autotools, or was it just the easiest path to get
>> things working on w32?
>
> No, you don't. I've compiled many things for Windows using MinGW, and
> you don't need autotools.

Me too, using the current configure script with MSYS bash should be no
problem (if there is I'm interested to know where). 

I'd suggest you do a system that attaches to the current system with as
small changes as possible (so you get reviewers) and put all windows
specific things to separate script(s) (which is executed *only* when windows
build is detected). The gnulib dependency could be handled so that in 
case (ext/*)gnulib directory does not exist, first
'git clone git://git.savannah.gnu.org/gnulib.git' is done -- and then
a specific commit is checked out from the clone (git reset --hard <hash>)
This way we get an exact working tree from gnulib but only when someone
attempts to do w32 build (if there are some licensing issues (copyright
assignment papers???) we can require user to manually execute the script
which checks out the repository, maybe with magic command line argument)
A draft of a checkout script is at the end of this email.
(If you desire to build required parts using autotools in your custom
script please do so. In any case nobody will take the responsibility
to support the w32 build :D)


Tomi

>
> In fact, autotools makes things worst (as usual), by requiring m4,
> perl, and bunch of heavy dependencies.
>
> % make CROSS_COMPILE=i486-mingw32-
>
> -- 
> Felipe Contreras

--8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--

#!/bin/sh

set -eux

# commit 9f15e6702a27649a59263a7ed571805a979d9e70
# Author: Eric Blake <eblake at redhat.com>
# Date:   Fri Oct 18 10:30:42 2013 -0600

commit=9f15e6702a27649a59263a7ed571805a979d9e70

test -d ext || mkdir ext
cd ext
test -d gnulib || git clone git://git.savannah.gnu.org/gnulib.git

cd gnulib
if git reset --hard $commit
then
        :
else
        git fetch origin
        git reset --hard $commit
fi


More information about the notmuch mailing list