Git Product home page Git Product logo

Comments (1)

cmsj avatar cmsj commented on May 18, 2024

I'm circling back to the extension stuff at the moment, mostly because I'm on an underpowered Mac for a few weeks, and building all of the extensions every time I build Hammerspoon, is driving me crazy.

So, I'm (for probably the 4th or 5th time) attacking the problem of how to get Xcode to build the extensions natively, instead of using scripts and Makefiles.

I think we need to make this change eventually, and I'm happy to do the work now, but it is going to need some changes in the structure of our app bundle. It doesn't have to mean any changes for third party modules though, so let's not get worried about that.

Given the current experiment I have going, I believe I can get the extensions to build as dylibs (really just a .so) and be copied into the app bundle, but I'm not sure I can easily preserve the structure of Resources/extensions/hs/

Right now it's looking like we'll continue to have Resources/extensions/hs/foo/init.lua, but then the C part will be Resources/extensions/hs/libfoo.dylib, which means the init.lua would need to have a different require() for its companion C library. This is a slightly wrinkle for anyone who's doing external builds of an extension we ship, but I'm not sure if anyone is actually doing that ( @asmagill ?)

I'll keep banging at it and see what I can come up with, but ultimately I think I would prefer to disturb the third party workflow, to get our build system under control.

from hammerspoon.

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.