On 30/09/2009 12:50 AM, Norman Barker wrote:
Hi,
thanks to whoever has been doing a lot of work with supporting windows
with couchdb. I have just gone from 0.9 to trunk and it was really
easy, I didn't have to change a lot of c code like before, just
created MSVC project files and it all works well.
Good to know! If you check out the top-level README you will find the
"official" build instructions - while they do use MSVC, they don't use
project files etc, but instead use cygwin tools to use the same
procedure as other operating systems.
Sadly it is a little more work to setup the environment (ie, you really
need to build erlang and javascript from sources too, plus grab various
other libraries) but the end result is more satisfying and isn't prone
to get stale or miss important bits.
I had one comment, in couch_erl_driver.c you have
#ifndef WIN32
#include<string.h> // for memcpy
#endif
to get memcpy with MSVC I had to include string.h (so ignoring the macro).
Strange - as mentioned we do use MSVC, but I suspect some magic macros
somewhere make it work for me.
The way of launching couchdb with the *.app files means that local.ini
is now picked up on windows as well.
FWIW, the procedure I mention correctly generates all .ini and .app etc
files so thing like version strings are always correct. The do however
use relative paths so the installation is as portable as possible.
If you are keen, please do try the "official" process and report back
any issues you have so I can update the documents and/or the build
process (but the -dev mailing list may be better for that conversation)
The upgrade did break my custom erlang code though (to be expected) so
I will be digging into that!
FYI, I've also got an installer process 95% working (dealing with the
msvcrt runtime dlls at the moment) which I hope to announce over the
next few days - I will make one for 0.10 when released and one from the
current 0.11 trunk.
Cheers,
Mark