mun-lang / mun

Source code for the Mun language and runtime.
https://mun-lang.org
Other
1.83k stars 73 forks source link

feature: adds experimental ios support #421

Closed baszalmstra closed 2 years ago

baszalmstra commented 2 years ago

This PR adds experimental targets to run Mun on iOS. It adds the targets:

These are not officially supported since we don't test them in CI.

I also had to do some modifications in the linker to make sure iOS and iOS-sim are properly targeted.

We can add lot more features to add proper support like lipo and stuff but at least this enables you to try Mun on iDevices!

NOTE: I have not tested this on an actual iDevice so I don't know if this actually works on the real hardware. NOTE: As mentioned in https://github.com/mun-lang/mun/issues/417#issuecomment-1176735248 I don't think this will pass App Store rules because loading of dynamic libraries at runtime is not permitted.

Closes #417

codecov[bot] commented 2 years ago

Codecov Report

Merging #421 (5d9ecd4) into main (7b54057) will decrease coverage by 0.76%. The diff coverage is 74.06%.

@@            Coverage Diff             @@
##             main     #421      +/-   ##
==========================================
- Coverage   83.81%   83.04%   -0.77%     
==========================================
  Files         273      280       +7     
  Lines       16179    16520     +341     
==========================================
+ Hits        13560    13719     +159     
- Misses       2619     2801     +182     
Impacted Files Coverage Δ
crates/mun/src/ops/build.rs 58.92% <0.00%> (-3.34%) :arrow_down:
crates/mun/tests/integration.rs 100.00% <ø> (ø)
crates/mun_abi/src/type_id.rs 0.00% <0.00%> (ø)
crates/mun_codegen/src/apple.rs 0.00% <0.00%> (ø)
crates/mun_codegen/src/ir.rs 44.11% <ø> (+2.45%) :arrow_up:
crates/mun_codegen/src/ir/types.rs 33.33% <ø> (-23.81%) :arrow_down:
crates/mun_memory/src/gc/root_ptr.rs 66.66% <ø> (ø)
crates/mun_memory/src/mapping.rs 100.00% <ø> (ø)
crates/mun_target/src/spec/aarch64_apple_ios.rs 0.00% <0.00%> (ø)
...rates/mun_target/src/spec/aarch64_apple_ios_sim.rs 0.00% <0.00%> (ø)
... and 72 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 1fff041...5d9ecd4. Read the comment docs.