Closed alexrp closed 5 months ago
Started the work here: https://github.com/alexrp/libffi/commits/master
The script itself mostly works, but I ran into a handful of issues:
arm-linux-gnueabi
)riscv64-linux-gnu
)aarch64-macos-none
with pauth
CPU feature; not strictly required)as
-compatible assembly files for aarch64-windows-gnu
(libffi issue)Also, I raised the question of upstreaming the build script: https://github.com/libffi/libffi/issues/842
For now, we'll just have to maintain some logic to disable libffi support on known-broken targets.
This will be needed for the interpreter to call external functions.
I don't want to take a dependency on the system libffi since that majorly complicates our (currently) simple build process. That said, it should still be possible to use the system libffi for distro maintainers (https://github.com/ziglang/zig/pull/18778). Also, as with Aro, it should be possible to disable libffi support since I expect very few Graf library users will care about the interpreter.
This will likely involve forking libffi, adding a
build.zig
, and then adding that fork as a lazybuild.zig.zon
dependency (but note #16).