monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] Re: cygwin & *.exe


From: Zbynek Winkler
Subject: [Monotone-devel] Re: cygwin & *.exe
Date: Sat, 17 Jan 2004 00:21:12 +0100
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6b) Gecko/20031208

graydon hoare wrote:

However further testing revealed that the db was created at the path c:\test.db and not in the cygwin root. I guess those two don't really play along well. I guess the problem is that boost somehow 'knows' it is running on windows and does not use the cygwin layer for that. I'll try to look into that.

yes. this is probably happening down in boost::filesystem, which has different behavior on windows and posix. indeed, its whole purpose is to insulate between pathname differences. it sounds like it is stepping on cygwin's feet. unfortunately those differences are built into your boost library, not just boost headers. looking at

boost_1_30_0/libs/filesystem/src/path_posix_windows.cpp

reveals that, as far as boost is concerned, __CYGWIN__ means it's "on windows", and will define BOOST_WINDOWS and switch to all that stuff. do you know which system calls / library calls cygwin intercepts? perhaps it is not intercepting all the right stuff.

Yes. I've found that out too. I've managed to build both versions of the library. One works fine with the windows paths and the other with cygwins. So we can choose :-)

I must admit, I find the notion of having users set up a c:/cygdrive and run monotone from in there (with all the resulting fighting over path names, not to mention line-ending conversion) relatively unappealing. this is why I was aiming to do a mingw / vc++ port.

That would certainly be better. I am also more experienced with vc++ so I might be of more help there. sqlite seems to be able to work natively on windows. I've also found native popt. I know there is native iconv and intl. What I do not know about is lua, adns and cryptopp. How do they like windows? adns seems to be pretty much unix only.

Zbynek
PS. My current build of monotone works with windows paths. It requires only cygwin1, cygiconv, cygintl dlls and it should work. I could upload it somewhere (striped 4MB) for you to test.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]