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

Build makefile to support Mac Catalyst #20537

Merged
merged 3 commits into from Nov 10, 2020

Conversation

praeclarum
Copy link
Contributor

@praeclarum praeclarum commented Nov 1, 2020

This patch introduces new Mac Catalyst support for mono!

Background Mac Catalyst allows a developer to use the traditionally iOS APIs - like UIKit - on macOS. It retains the same ABI as macOS x86_64, however, is compiled with a new -target flag that is required in all static and dynamic libraries.

This patch is my first port of mono so I appreciate any code reviews. :-)

I started with a clean build target so as not to break current iOS and Mac support. There is the potential to merge this with the existing iOS support, but I think this method of a specific maccat.mk file is a cleaner separation.

I discussed this publicly on the Merge Conflict podcast: https://www.mergeconflict.fm/225

I also show off the work on my Twitch stream: https://twitch.tv/FrankKrueger

This is the build script I've been using:

#!/bin/bash

export XCODE_DIR=/Applications/Xcode_12.0.0.app/Contents/Developer
export MACOS_VERSION=10.15

echo "ENABLE_MACCAT=1" > sdks/Make.config
make -C sdks/builds configure-maccat

make -j20 -C sdks/builds build-maccat

make -C sdks/builds archive-maccat

mono/utils/mono-log-darwin.c Outdated Show resolved Hide resolved
sdks/builds/maccat.mk Outdated Show resolved Hide resolved
@rolfbjarne
Copy link
Member

@praeclarum can you tick the "Allow edits and access to secrets by maintainers" box so that I can add the changes Alexander requested? Or do you want to implement them?

praeclarum and others added 2 commits November 8, 2020 10:07
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
@praeclarum
Copy link
Contributor Author

@rolfbjarne and @akoeplinger sorry for the delay, I have made the requested changes. Thanks for the review!

Copy link
Member

@akoeplinger akoeplinger left a comment

Choose a reason for hiding this comment

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

Thank you, looks great!

@akoeplinger akoeplinger merged commit c6ca0aa into mono:master Nov 10, 2020
@akoeplinger
Copy link
Member

@monojenkins backport to 2020-02

monojenkins pushed a commit to monojenkins/mono that referenced this pull request Nov 10, 2020
akoeplinger added a commit that referenced this pull request Nov 11, 2020
Backport of #20537.

Co-authored-by: Frank A. Krueger <fak@praeclarum.org>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
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.

None yet

3 participants