Giter Club home page Giter Club logo

Comments (2)

simplytech avatar simplytech commented on July 17, 2024

Hello! I'm very interested in this feature and I would like to help to achieve it. Could you please point me to which file(s) I can start looking at?

from gem-compiler.

luislavena avatar luislavena commented on July 17, 2024

Hello @simplytech and thank you for your interest!

The complexity around this issue is a bit high, as I believe it requires #2 and #3 to be implemented first in order to achieve that.

I created gem-compiler out of issues attempting to get rake-compiler adopted by some projects.

Right now rake-compiler does provide cross-compilation, but it requires modification of how gems are built.

There is no specific place in gem-compiler to look for cross-platform support, but should be in the lines of hi-jacking ExtBuilder and ensure the RbConfig information of the target platform is set in place (plus the fake.rb file required to change the platform).

It also requires the target Ruby be present, which means you need to cross-compile Ruby for the desired platform and refer to it.

While rake-compiler code might be a bit too much, the principle described above is the same: have the target Ruby installed, know where its rbconfig.rb is and use it to deceive your native Ruby to compile the extension for that platform.

I'm no longer pursuing this feature due it's complexity, but feel free to explore the ideas and ask questions about it.

Cheers!

from gem-compiler.

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.