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