georgefst / monpad

A fully-customisable web-based gamepad, designed to be used from smartphones.
BSD 3-Clause "New" or "Revised" License
39 stars 5 forks source link

Add workarounds for aarch64 cross-compilation #54

Open georgefst opened 1 year ago

georgefst commented 1 year ago

With this branch, ./Build.hs --target=aarch64-none-linux-gnu actually works.

The main thing that needs fixing before we can merge this is to split up the Elm generation in to a separate component, not directly depended on by the main executable. We'll need a monpad-types core library, used by both. This is a better design anyway, and will allow us to properly integrate the Elm generation in to the build script rather than running it manually when necessary as we currently do. When doing this refactor, we should bear in mind the long-term goal of porting the frontend from Elm to Haskell (blocked on https://github.com/dmjio/miso/issues/724).

There are a few other ugly things here for which we should work out better fixes, such as avoiding embedding the static files, disabling serving of other assets (serveDirectoryWebApp), and using slightly different evdev types from Dhall.