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

WIP : Improving macos build step docs #3873

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions Documentation/MacDevelopment.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,19 @@ git clone --recursive https://github.com/utmapp/UTM.git

Alternatively, run `git submodule update --init --recursive` after cloning if you did not do a recursive clone.

## Dependencies
## Downloading PreBuilt SysRoot Dependencies

The easy way is to get the prebuilt dependences from [GitHub Actions][1]. Pick the latest release and download all of the `Sysroot-macos-*` artifacts. You need to be logged in to GitHub to download artifacts. If you only intend to run locally, it is alright to just download the sysroot for your architecture.
The easiest way is to get the prebuilt dependences from Github.

### Building Dependencies (Advanced)
- Find the list of [release builds here][1].
- Pick the latest release and download all of the `Sysroot-macos-*` artifacts for the architecture you will need (you will need to be signed in to a github account). If you only intend to run locally, it is alright to just download the sysroot for your traget architecture.
Copy link
Contributor

Choose a reason for hiding this comment

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

Typo says "traget"

Choose a reason for hiding this comment

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

Suggested change
- Pick the latest release and download all of the `Sysroot-macos-*` artifacts for the architecture you will need (you will need to be signed in to a github account). If you only intend to run locally, it is alright to just download the sysroot for your traget architecture.
- Pick the latest release and download all the `Sysroot-macos-*` artifacts for the architecture of your choice (you will need to be signed in to a GitHub account). If you only intend to run it locally, it is sufficient to download the SysRoot for your target architecture.

- Unpack them into the UTM project folder. You should have a "folder" configured per architecture (see screenshot for an example)

![Example of prebuilt sysroot](./imgs/prebuilt-sysroot.png)

### Building SysRoot Dependencies (Advanced)

| This is optional, and is only necessary if you changed stuff with Qemu or the patches.

If you want to build the dependencies yourself, it is highly recommended that you start with a fresh macOS VM. This is because some of the dependencies attempt to use `/usr/local/lib` even though the architecture does not match. Certain installed packages like `libusb`, `gawk`, and `cmake` will break the build.

Expand Down
Binary file added Documentation/imgs/prebuilt-sysroot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.