2021-05-21 23:18:25 +03:00
|
|
|
# CoreCLR
|
|
|
|
|
|
|
|
## How to build and use dotnet/runtime from source
|
|
|
|
|
|
|
|
1. Clone dotnet/runtime somewhere:
|
|
|
|
|
|
|
|
```shell
|
|
|
|
cd ~/work
|
|
|
|
git clone git@github.com:dotnet/runtime
|
|
|
|
# Checkout any specific branch you want to test
|
|
|
|
```
|
|
|
|
|
|
|
|
2. Configure xamarin-macios to use the cloned dotnet/runtime:
|
|
|
|
|
|
|
|
```shell
|
|
|
|
cd ~/work/xamarin-macios
|
|
|
|
make git-clean-all # Must start from a clean state when switching between downloaded and custom built dotnet/runtime.
|
2024-11-06 13:34:39 +03:00
|
|
|
./configure --custom-dotnet=$HOME/work/runtime
|
2021-05-21 23:18:25 +03:00
|
|
|
```
|
|
|
|
|
|
|
|
3. Build dotnet/runtime using our script that builds everything we need:
|
|
|
|
|
|
|
|
```shell
|
|
|
|
cd ~/work/xamarin-macios/dotnet
|
|
|
|
./build-custom-runtime.sh
|
|
|
|
```
|
|
|
|
|
|
|
|
4. Finally build xamarin-macios:
|
|
|
|
|
|
|
|
```shell
|
|
|
|
cd ~/work/xamarin-macios
|
|
|
|
make all -j8
|
|
|
|
make install -j8
|
|
|
|
```
|
|
|
|
|
|
|
|
### Caveats
|
|
|
|
|
|
|
|
You must clean your xamarin-macios working copy every time you switch between
|
|
|
|
using a locally built dotnet/runtime and a downloaded version. Not all parts
|
|
|
|
of the build will pick up any configure changes for an incremental rebuild.
|