Skip to content

feature: adds experimental ios support#421

Merged
baszalmstra merged 5 commits into
mun-lang:mainfrom
baszalmstra:feat/ios
Jul 7, 2022
Merged

feature: adds experimental ios support#421
baszalmstra merged 5 commits into
mun-lang:mainfrom
baszalmstra:feat/ios

Conversation

@baszalmstra
Copy link
Copy Markdown
Collaborator

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

  • x86_64-apple-ios
  • aarch64-apple-ios
  • aarch64-apple-ios-sim

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 #417 (comment) I don't think this will pass App Store rules because loading of dynamic libraries at runtime is not permitted.

Closes #417

@baszalmstra baszalmstra requested a review from Wodann July 7, 2022 09:34
@baszalmstra baszalmstra self-assigned this Jul 7, 2022
@baszalmstra baszalmstra changed the title feature: adds targets for ios feature: adds experimental ios support Jul 7, 2022
Comment thread crates/mun_target/src/spec/x86_64_unknown_linux_gnu.rs Outdated
@codecov
Copy link
Copy Markdown

codecov Bot commented Jul 7, 2022

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%) ⬇️
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%) ⬆️
crates/mun_codegen/src/ir/types.rs 33.33% <ø> (-23.81%) ⬇️
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.

Copy link
Copy Markdown
Collaborator

@Wodann Wodann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some small comments. Otherwise LGTM :)

Comment thread crates/mun_codegen/src/apple.rs Outdated
Comment thread crates/mun_target/src/spec.rs
Comment thread crates/mun_target/src/spec/apple_sdk_base.rs
@baszalmstra baszalmstra removed their assignment Jul 7, 2022
@baszalmstra baszalmstra merged commit fa07c5c into mun-lang:main Jul 7, 2022
@Wodann Wodann added this to the Mun v0.4.0 milestone Jul 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support for iOS

2 participants