Giter Club home page Giter Club logo

Comments (4)

mm2 avatar mm2 commented on May 26, 2024

I have tried configure and configure --with-fast-float --with-threaded
It does the right thing. Exports the libraries that you specify in the lcms2.pc pkgconfig.
Or this happens on the meson build?
I begin to think adapting meson was not a good idea at all.

from little-cms.

kmilos avatar kmilos commented on May 26, 2024

Exports the libraries that you specify in the lcms2.pc pkgconfig.

It is the same w/ Meson (and yes, it was a good idea 😉).

I'm saying that's not the way to go regardless of the build system - they should have standalone .pc files.

The core lcms2.pc should not link to them implicitly. Projects wishing to use GPL plugins should use lcms2_fast_float.pc and lcms2_threaded.pc explicitly.

I.e. just because someone built and shipped the plugins doesn't mean everyone now has to link them, thus forcing GPL on them.

from little-cms.

mm2 avatar mm2 commented on May 26, 2024

Sorry, I don't get the point. If you install system wide libraries that means those libraries are intended for that system. That includes licensing.

If you wish to develop a commercial product and therefore avoid linking with GPL'd parts, then you should not use system libraries that are out of your control. In general you should never use system libraries for any development you wish to distribute. In any case, if you don't call the initialization function, which is the only function plugins exposes, your final binary is not going to contain any of the plug-in code, either static or as shared object.

Making independent pc files makes the product unnecessarily complex. My desire is to promote open source and GPL licensing, and providing separate pc files would penalty open source projects and benefit proprietary ones. My goal is exactly the opposite.

So, my recommendation for anyone trying to avoid GPL3 parts is to install a local copy. It is not a big deal and that will also prevent to break the project if the system library us updated by someone else and the new version is incompatible or buggy.

from little-cms.

mm2 avatar mm2 commented on May 26, 2024

See #392

from little-cms.

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.