Besides the issues described here I've also encountered another one, regarding usage of "_fileno" and "fileno" availability, while trying to build the library with MSVC 2015 and gcc on Linux 64 bits. I've also attached a patch to overcome them: librsync-patch.zip . What do you think about it?
On top, perl on Windows is pretty unusual, even for developers and, after checking the mkprototab.pl script, is seems its output is static. Taking these into consideration how about to generate the "prototab.h" and "prototab.c" offline, and add them as is, directly into the project?
I'm new with github and pull requests but I've managed to create one: #100 .
Regarding Perl thing, it's not referring to tests as the case of #82, but it's about "mkprototab.pl" script which gets called by cmake and statically creates two files, "prototab.h" and "prototab.c", used for building the rsync library.
PS. To keep this issue clean, would you like to create another specific one?
I think this is about trying to drop perl as a build dependency.
Personally I don't see much value in continuing to have prototab.[ch] auto-generated at all. They are pretty static and realistically if we want to add cmds like a whole-file checksum (see #9) it'd probably be easier to edit the *.[ch] files to add it than update the *.pl file. Dropping the perl build dependency would be more of a win than the auto-generation gives us.