--- /dev/null
+Return-Path: <claudio.bley@googlemail.com>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by olra.theworths.org (Postfix) with ESMTP id 55FFB431FCB\r
+ for <notmuch@notmuchmail.org>; Mon, 21 Oct 2013 15:00:02 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.185\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.185 tagged_above=-999 required=5\r
+ tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,\r
+ FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_SORBS_WEB=0.614]\r
+ autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+ by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id XXcXLxG1XcKi for <notmuch@notmuchmail.org>;\r
+ Mon, 21 Oct 2013 14:59:56 -0700 (PDT)\r
+Received: from mail-bk0-f49.google.com (mail-bk0-f49.google.com\r
+ [209.85.214.49]) (using TLSv1 with cipher RC4-SHA (128/128 bits))\r
+ (No client certificate requested)\r
+ by olra.theworths.org (Postfix) with ESMTPS id E8873431FAF\r
+ for <notmuch@notmuchmail.org>; Mon, 21 Oct 2013 14:59:55 -0700 (PDT)\r
+Received: by mail-bk0-f49.google.com with SMTP id w14so990335bkz.36\r
+ for <notmuch@notmuchmail.org>; Mon, 21 Oct 2013 14:59:53 -0700 (PDT)\r
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\r
+ d=googlemail.com; s=20120113;\r
+ h=date:message-id:from:to:cc:subject:in-reply-to:references\r
+ :user-agent:mime-version:content-type;\r
+ bh=QSC/kZ0k8tosL4FdIOXLBvSEqhr8uFJS8rRUhexAxv8=;\r
+ b=J2bwIrZiuOtdwjuBjJJLmrJV19mndx1+lqo6vBOVtE6vBC962AXAO4/DN5V27DBwps\r
+ icahKv5jUHsSlW/wkHaOkEr5yGfl+5zjXCabAgRV7AHNj04GAyacmo5LXYB99rjby27i\r
+ GhLxnYVGxdCdbOb8GfEQbgSFxFmI0RNra6rOGfV6AH5/eG1K6qCuGLIRoDtZdQ000uCu\r
+ d2uDLtVK6CI8FhwhGL/JRpXocNi+elF3JTQp9zK1VpDeN1ctpqwivDlP8j/j6VUBIkKh\r
+ 5KCMtrj9ek/3rgf7GgwiVIDMvrE7xnV05elsKUNuAnS81sZ6C+iPx8JeLMbAzdBsQKQb\r
+ PFDg==\r
+X-Received: by 10.204.63.7 with SMTP id z7mr8707406bkh.23.1382392791959;\r
+ Mon, 21 Oct 2013 14:59:51 -0700 (PDT)\r
+Received: from linux.localdomain.de (95-91-253-65-dynip.superkabel.de.\r
+ [95.91.253.65]) by mx.google.com with ESMTPSA id\r
+ no2sm10882180bkb.15.2013.10.21.14.59.50 for <multiple recipients>\r
+ (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\r
+ Mon, 21 Oct 2013 14:59:51 -0700 (PDT)\r
+Date: Mon, 21 Oct 2013 23:59:45 +0200\r
+Message-ID: <87sivu5lpq.wl%claudio.bley@gmail.com>\r
+From: Claudio Bley <claudio.bley@googlemail.com>\r
+To: David Bremner <david@tethera.net>\r
+Subject: Re: notmuch on w32\r
+In-Reply-To: <87y55oudul.fsf@zancas.localnet>\r
+References: <87mwm71x91.wl%claudio.bley@gmail.com>\r
+ <87bo2lvxx3.fsf@zancas.localnet>\r
+ <CAMP44s3UeDJVYY+qDjyJ6qKOWZ59tyGzj776HrGh=wMV_JvnvQ@mail.gmail.com>\r
+ <m2k3h86lo7.fsf@guru.guru-group.fi> <87y55oudul.fsf@zancas.localnet>\r
+User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka)\r
+ FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/24.3\r
+ (x86_64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO)\r
+MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka")\r
+Content-Type: text/plain; charset=US-ASCII\r
+X-Mailman-Approved-At: Mon, 21 Oct 2013 23:06:59 -0700\r
+Cc: Tomi Ollila <tomi.ollila@iki.fi>,\r
+ "notmuch@notmuchmail.org" <notmuch@notmuchmail.org>\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Mon, 21 Oct 2013 22:00:02 -0000\r
+\r
+Hi.\r
+\r
+At Sun, 20 Oct 2013 13:05:54 -0300,\r
+David Bremner wrote:\r
+> \r
+> Tomi Ollila <tomi.ollila@iki.fi> writes:\r
+> \r
+> > I'd suggest you do a system that attaches to the current system with as\r
+> > small changes as possible (so you get reviewers) and put all windows\r
+> > specific things to separate script(s) (which is executed *only* when windows\r
+> > build is detected). The gnulib dependency could be handled so that in \r
+> > case (ext/*)gnulib directory does not exist, first\r
+> > 'git clone git://git.savannah.gnu.org/gnulib.git' is done -- and then\r
+> > a specific commit is checked out from the clone (git reset --hard <hash>)\r
+> \r
+> After looking at gnulib a bit yesterday, it seems unlikely that we need\r
+> or want all of it.\r
+\r
+Yes, it's seldom that one needs all of it.\r
+\r
+> It might be simpler to just grab the bits of gnulib\r
+> we need and throw them in ./compat. gnulib-tool seems to want autoconf,\r
+> but you don't have to use gnulib-tool.\r
+\r
+Currently, I'm using these modules for w32 compat:\r
+\r
+canonicalize\r
+errno\r
+execute\r
+fsync\r
+getdelim\r
+gethostname\r
+getline\r
+mkdir\r
+netdb\r
+progname\r
+readlink\r
+regex\r
+scandir\r
+sigaction\r
+signal-h\r
+strcasestr\r
+strsep\r
+sys_wait\r
+time_r\r
+timegm \r
+waitpid\r
+xvasprintf\r
+\r
+(some of which you already have implemented)\r
+\r
+but those modules in turn depend on other gnulib modules, so you'd end\r
+up with:\r
+\r
+ alloca-opt\r
+ areadlink-with-size\r
+ at-internal\r
+ bitrotate\r
+ btowc\r
+ canonicalize\r
+ chdir\r
+ chdir-long\r
+ cloexec\r
+ close\r
+ closedir\r
+ configmake\r
+ d-ino\r
+ dirent\r
+ dirfd\r
+ dirname\r
+ dirname-lgpl\r
+ dosname\r
+ double-slash-root\r
+ dup\r
+ dup2\r
+ environ\r
+ errno\r
+ error\r
+ execute\r
+ exitfail\r
+ extensions\r
+ extern-inline\r
+ fatal-signal\r
+ fchdir\r
+ fcntl\r
+ fcntl-h\r
+ fd-hook\r
+ fdopendir\r
+ file-set\r
+ filename\r
+ filenamecat-lgpl\r
+ float\r
+ fstat\r
+ fstatat\r
+ fsync\r
+ getcwd\r
+ getcwd-lgpl\r
+ getdelim\r
+ getdtablesize\r
+ gethostname\r
+ getline\r
+ gettext-h\r
+ hash\r
+ hash-pjw\r
+ hash-triple\r
+ havelib\r
+ include_next\r
+ intprops\r
+ langinfo\r
+ largefile\r
+ localcharset\r
+ locale\r
+ localeconv\r
+ lock\r
+ lstat\r
+ malloc-gnu\r
+ malloc-posix\r
+ mbrtowc\r
+ mbsinit\r
+ mbtowc\r
+ memchr\r
+ mempcpy\r
+ memrchr\r
+ mkdir\r
+ mktime\r
+ mktime-internal\r
+ msvc-inval\r
+ msvc-nothrow\r
+ multiarch\r
+ netdb\r
+ nl_langinfo\r
+ nocrash\r
+ open\r
+ openat\r
+ openat-die\r
+ openat-h\r
+ opendir\r
+ pathmax\r
+ posix_spawn-internal\r
+ posix_spawn_file_actions_addopen\r
+ posix_spawn_file_actions_destroy\r
+ posix_spawn_file_actions_init\r
+ posix_spawnattr_destroy\r
+ posix_spawnattr_init\r
+ posix_spawnattr_setflags\r
+ posix_spawnattr_setsigmask\r
+ posix_spawnp\r
+ progname\r
+ raise\r
+ rawmemchr\r
+ readdir\r
+ readlink\r
+ realloc-posix\r
+ regex\r
+ rewinddir\r
+ same\r
+ same-inode\r
+ save-cwd\r
+ scandir\r
+ sched\r
+ sigaction\r
+ signal-h\r
+ sigprocmask\r
+ size_max\r
+ snippet/_Noreturn\r
+ snippet/arg-nonnull\r
+ snippet/c++defs\r
+ snippet/warn-on-use\r
+ socketlib\r
+ sockets\r
+ socklen\r
+ spawn\r
+ ssize_t\r
+ stat\r
+ stdalign\r
+ stdarg\r
+ stdbool\r
+ stddef\r
+ stdint\r
+ stdio\r
+ stdlib\r
+ strcase\r
+ strcasestr\r
+ strcasestr-simple\r
+ strchrnul\r
+ strdup-posix\r
+ streq\r
+ strerror\r
+ strerror-override\r
+ string\r
+ strings\r
+ strndup\r
+ strnlen\r
+ strsep\r
+ sys_socket\r
+ sys_stat\r
+ sys_types\r
+ sys_uio\r
+ sys_wait\r
+ threadlib\r
+ time\r
+ time_r\r
+ timegm\r
+ unistd\r
+ unistd-safer\r
+ vasnprintf\r
+ vasprintf\r
+ verify\r
+ wait-process\r
+ waitpid\r
+ wchar\r
+ wcrtomb\r
+ wctype-h\r
+ xalloc\r
+ xalloc-die\r
+ xalloc-oversized\r
+ xgetcwd\r
+ xsize\r
+ xstrndup\r
+ xvasprintf\r
+\r
+Of course, you'd also need the configure checks to enable/disable\r
+compiling those modules. Doing this without gnulib-tool / autotools\r
+seems to be a lot of (gratuitous) work.\r
+\r
+I don't think that I'll have to time to do this, so I'll just keep my\r
+patches in a private branch then, which saves me the effort of\r
+polishing the patches.\r
+\r
+Thanks for your attention.\r
+\r
+Claudio\r
+\r