[Box Backup] Win32 port

Chris Wilson boxbackup@fluffy.co.uk
Mon, 5 Dec 2005 13:43:45 +0000 (GMT)


Hi Ben, Martin, Nick and all,

I wrote:

>>  I've checked out Nick's tree from SVN, along with 0.08 and the trunk. I 
>>  think I've fixed all the line endings and reduced the patch (against 0.08) 
>>  to a manageable size (a mere 4,700 lines :-).

Ben wrote:

> Is that different to http://bbdev.fluffy.co.uk/svn/box/martin/test/  ?

Oops, I didn't realise Martin had already done that work :-(

Martin and I had different ideas about which files should be converted to 
Unix line endings and which shouldn't:

File				Martin	Me (my reason)
----				------	--------------
boxbackup.sln (VS project?)	Yes	No (does it still work with VS?)
lib/win32/bbackupd.conf		No	Yes (cross platform compatibility)
lib/win32/emu.{cpp,h}		No	Yes (converted all .cpp files)
lib/win32/ReadMe.txt		No	Yes (converted all .txt files)
lib/win32/win32test.cpp		No	Yes (converted all .cpp files)

I don't have any real objections to going along with Martin's decisions, 
provided that the project files still work in VS and we don't mind having 
inconsistent line endings between lib/win32 and the rest of the project, 
but I would be interested to hear what others think.

I would like to clean up the comments and line lengths before this gets 
merged, since I'm certain you won't allow me to change them afterwards :-) 
Any objections?

I also see that Martin has removed boost from the project, but I don't see 
any changes to the build files to replace the boost regex library which 
Nick used.

I think we must have regex support on win32. Would you have any objections 
to including a copy of Henry Spencer's regex library? 
[http://gnuwin32.sourceforge.net/packages/regex-spencer.htm]

The license is BSD-like with attribution clause, so we would have to 
acknowlegde him in the docs, but apart from that I hope it will not 
conflict with your license.

> There are two parts to the Win32 port:
>
> 1) The actual porting effort.
>
> 2) Some extra features, for example, the dumping of state to disc.
>
> They should, perhaps be separated.

I agree completely, and would like to go ahead and do so.

> The most helpful approach might be to get the changes applied to a copy of 
> trunk, and separating out the two parts. But that may be more work than it's 
> worth. But if it's done line by 4700 lines, we'd make sure we don't lose any 
> extra code.

I will do that as well as I can, but reviews of my changes would be 
greatly appreciated.

> This is a bit of a mess. It's my fault. I should have opened up the source 
> control system far earlier.

No worries, I'm glad that it's open now. The win32 port was never going to 
be easy to merge into a project with long release cycles.

> and you can download the compilers for free if you don't want the IDE as well 
> or object to the "free for a year" business.

Free for a year is OK by me. I just hope it doesn't preclude me from 
working on GPL code.

> I only have VC++ 6, so I can't use the project files in the project. I would 
> really prefer that they didn't rely on anything which wasn't free (as in 
> beer), though.

Absolutely. I want people to be able to build Box and Boxi on Windows 
using free tools, although I would also like to give them the option of 
using VS if they prefer.

> Having said that, MinGW might not be a bad way to go, as it should allow the 
> existing build script to work, which, under the new autoconf stuff, might 
> save a whole world of bother.

Don't the existing scripts require a decent shell (>> cmd.exe) and Perl? 
Then MinGW wouldn't be enough by itself, you would probably need Cygwin to 
run them.

I'm looking at using a free (as in beer) Windows IDE called Chinook, which 
comes with wxWidgets support and the MinGW tools. I think it would be 
quite easy to auto-generate the Chinook project file from Perl, maybe even 
a cmd.exe batch file would do it.

> Yes, this leaked. Removal is probably wise.

Will do.

Cheers, Chris.
-- 
_ ___ __     _
  / __/ / ,__(_)_  | Chris Wilson <0000 at qwirx.com> - Cambs UK |
/ (_/ ,\/ _/ /_ \ | Security/C/C++/Java/Perl/SQL/HTML Developer |
\ _/_/_/_//_/___/ | We are GNU-free your mind-and your software |