Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug 1688178 - Big Sur/M1 updates: xcframeworks, using Xcode clang, lipo #1485

Merged
merged 9 commits into from
Feb 10, 2021

Conversation

badboy
Copy link
Member

@badboy badboy commented Feb 4, 2021

This is my first try at building Glean iOS on a M1 (arm) machine.

It essentially requires us to use xcframeworks, because the Carthage workaround is not suitable on M1 machines (as we can't exclude the arm64 target, because that IS the host target).
I can build Glean iOS now on my M1.
I can't run the tests though, because Rust doesn't know the difference between the host system and the simulator.

It's also likely that our sample app won't work the same anymore, at least not if I also want to get that compilable and runnable on an M1. It will need to start using xcframeworks too.
Carthage currently cannot produce xcframework binary releases, so the sample will always need to compile Glean.
Consumers wouldn't be affected, as long as they don't require xcframeworks. It just means I can't build those projects.

  • Test it on an Intel Mac
  • Ensure tests on CI work
  • Ensure sample app on CI works
  • Ensure our release still works for consumers
    • Actually probably not as important given that the only active consumer (firefox-ios) gets it through application-services.
  • Ensure that application-services doesn't break

@auto-assign auto-assign bot requested a review from brizental February 4, 2021 13:02
@badboy badboy requested review from travis79 and removed request for brizental February 4, 2021 13:02
@badboy badboy marked this pull request as draft February 4, 2021 13:27
Copy link
Member

@travis79 travis79 left a comment

Choose a reason for hiding this comment

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

havewebeenappledyet.com? LGTM!

@badboy badboy force-pushed the use-xcframeworks branch 12 times, most recently from 282584c to 1c4441b Compare February 8, 2021 12:13
@badboy badboy marked this pull request as ready for review February 8, 2021 14:30
@auto-assign auto-assign bot requested a review from brizental February 8, 2021 14:30
@badboy badboy requested review from travis79 and removed request for brizental February 8, 2021 14:41
Copy link
Member

@travis79 travis79 left a comment

Choose a reason for hiding this comment

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

Still looks good to me!

@badboy
Copy link
Member Author

badboy commented Feb 10, 2021

Now that the 2 iOS tasks don't depend on each other we can run them in parallel! The summed up runtime will be the same, but the actual runtime should be shorter!

@badboy badboy enabled auto-merge February 10, 2021 10:21
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.

2 participants