Giter Site home page Giter Site logo

Comments (8)

Salamek avatar Salamek commented on September 7, 2024

Install perl and popt libs (http://gnuwin32.sourceforge.net/packages/popt.htm)
or you can use

cmake_dependent_option(BUILD_RDIFF "Whether or not to build rdiff executable" ON "POPT_FOUND" OFF)

if you want only lib

from librsync.

Quiark avatar Quiark commented on September 7, 2024

I also had to add my own S_IFREG to the code because VS2015 doesn't have it:

#ifndef S_ISREG
#   define S_ISREG(x) (x & _S_IFREG)
#endif

and change librsync to static link otherwise VS won't create an import lib for it.

#  change to this in CMakeLists.txt
add_library(rsync STATIC ${rsync_LIB_SRCS})

Then the build went fine.

from librsync.

sourcefrog avatar sourcefrog commented on September 7, 2024

@Quiark it would be great if you could send clean PRs for those two changes.

from librsync.

marius-nicolae avatar marius-nicolae commented on September 7, 2024

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?

from librsync.

Salamek avatar Salamek commented on September 7, 2024

@marius-nicolae ... we have github PR's for that...

Perl issue:
no, generated scripts should NOT be in repo, so only correct solution is switch everything directly to C or Python see #82 (or use modern OS 👻 )

from librsync.

marius-nicolae avatar marius-nicolae commented on September 7, 2024

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?

from librsync.

dbaarda avatar dbaarda commented on September 7, 2024

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.

from librsync.

dbaarda avatar dbaarda commented on September 7, 2024

Note pull request #142 removes perl as a build dependency, but perl will still be needed to run some of the tests because they use a mutate.pl script.

Given there is #82 about fixing the tests be more windows friendly, I'm going to consider #142 as fixing this.

from librsync.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.