Giter VIP home page Giter VIP logo

Comments (3)

danielkaiser avatar danielkaiser commented on August 11, 2024

We are closing this issue due to inactivity. Please reopen the issue and let us know if its cause still persists with the current version of GR.

from gr.

daurnimator avatar daurnimator commented on August 11, 2024

I don't think any of the issues I mentioned here have been fixed.

from gr.

FlorianRhiem avatar FlorianRhiem commented on August 11, 2024

Hey, the build system is something we've been working on over time, though the progress has been rather slow as the build system usually worked well enough and other bugs or features were more pressing or useful. I recently refactored our thirdparty builds for the self-contained build style, unifying build systems there and moving to PREFIX. Something similar still needs to be done for the main Makefiles (and their MinGW counterparts) and things like $(MAKE) are part of that, as well as proper dependency target handling and configuration. Someone else is also working on a CMake based build as an alternative to the current Makefiles for gr, gks, gr3 and the plugins, and I expect that to be ready soon, with less "historically grown" qualities to it. :)

We've also split up the Julia and Python wrappers into seperate repositories. The wrappers will only install the GR runtime if no pre-existing runtime (with the required minimum version) is found locally.

The way we deal with thirdparty dependencies, offering bundled versions and using static libraries for those, comes down to design choices though:

  • The reason we aren't relying on system libraries for the "core" dependencies (zlib, libpng, libjpeg, freetype, qhull) and offer a self-contained build that uses bundled libraries for most other dependencies (excluding things like Qt, wx, X11) is that we try to support a large variety of systems and while we do need to somewhat differentiate between linux distributions with our binaries, doing it this way makes it far easier for these builds to work in varying environments, with as little requirements for the runtime environment as possible.

  • The reason for using static libraries is related to this, it is also done to reduce dependencies at runtime and make deployment easier, particularly for our Python and Julia wrappers. You can still use shared libraries if you don't use the self-contained build, just not for our "core" dependencies. Though we are considering making that optional as well, lettings users use either system dependencies only or bundled libraries only.

from gr.

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.