forked from dotnet/runtime
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial pass on updating documentation to include MonoVM (dotnet#1863)
* Update documentation to cover also Mono runtime * Updated requirements for mac and linux to include mono's * Update System.Private.CoreLib/src/README.md * Added initial mono building doc * Added library testing steps for mono * A bit of rewording based on feedback * Add some scripts coloring
- Loading branch information
1 parent
cd622cd
commit 71a216a
Showing
7 changed files
with
150 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
# Building Mono | ||
|
||
To build just Mono runtime, use the `--subsetCategory` flag to the `build.sh` (or `build.cmd`) at the repo root: | ||
|
||
```bash | ||
./build.sh --subsetCategory mono | ||
``` | ||
or on Windows, | ||
```bat | ||
build.cmd --subsetCategory mono | ||
``` | ||
|
||
By default, build generates a 'debug' build output, that includes asserts, less code optimizations and is easier for debugging. If you want to make performance measurements, or just want tests to execute more quickly, you can also build the 'release' version which does not have these checks by adding the flag `-configuration Release` (or `-c Release`) and `/p:__BuildType=Release`, for example | ||
```bash | ||
./build.sh --subsetCategory mono -configuration Release /p:__BuildType=Release | ||
``` | ||
|
||
Product binaries will be dropped in `artifacts\bin\mono\<OS>.<arch>.<flavor>` folder. | ||
|
||
To generate nuget packages: | ||
|
||
```bash | ||
./build.sh --subsetCategory mono -pack (with optional release configuration) | ||
``` | ||
or on Windows, | ||
```bat | ||
build.cmd --subsetCategory mono -pack (with optional release configuration) | ||
``` | ||
|
||
The following packages will be created under `artifacts\packages\<configuration>\Shipping`: | ||
|
||
- `Microsoft.NETCore.Runtime.Mono.<version>-dev.<number>.1.nupkg` | ||
- `runtime.<OS>.Microsoft.NETCore.Runtime.Mono.<version>-dev.<number>.1.nupkg` | ||
- `transport.Microsoft.NETCore.Runtime.Mono.<version>-dev.<number>.1.nupkg` | ||
- `transport.runtime.<OS>.Microsoft.NETCore.Runtime.Mono.<version>-dev.<number>.1.nupkg` | ||
|
||
Test binaries are not yet available for mono. | ||
|
||
The build places logs in `artifacts\log` and these are useful when the build fails. | ||
|
||
The build places all of its output in the `artifacts\obj\mono` directory, so if you remove that directory you can force a | ||
full rebuild. | ||
|
||
The build has a number of options that you can learn about using `build -?`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# Running Tests using Mono Runtime | ||
|
||
## Running Runtime Tests | ||
The runtime tests will be available at a later date. | ||
|
||
## Running Library Tests | ||
Running library tests again mono is straightforward regardless of configuration. Simply run the following commands: | ||
|
||
1. Build and set the TestRuntimeFlavor | ||
|
||
```bash | ||
./build.sh /p:TestRuntimeFlavor=mono | ||
``` | ||
or on Windows | ||
```bat | ||
build.cmd /p:TestRuntimeFlavor=mono | ||
``` | ||
|
||
2. cd into the test library of your choice (`cd src/libraries/<library>/tests`) | ||
|
||
3. Run the tests | ||
|
||
``` | ||
dotnet msbuild /t:BuildAndTest /p:TestRuntimeFlavor=mono | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,15 @@ | ||
# System.Private.CoreLib Shared Sources | ||
|
||
This directory contains the shared sources for System.Private.CoreLib. It represents the majority of the CoreLib implementation. Each flavor of the runtime (e.g. coreclr, mono) provides a few additional files as part of its build of CoreLib to complement this directory's contents. | ||
This directory contains the shared sources for System.Private.CoreLib library. It represents the majority of the CoreLib implementation. Each flavor of the runtime (e.g. coreclr, mono) provides additional files as part of their build of CoreLib to complement this directory's contents. | ||
|
||
Runtime specific partial part which have shared part use runtime specific suffix to easy the navigation. | ||
* `.CoreCLR.cs` for CoreCLR runtime | ||
* `.Mono.cs` for Mono runtime | ||
|
||
## System.Private.CoreLib CoreCLR Sources | ||
|
||
The CoreCLR specific sources can be found at [src/coreclr/src/System.Private.CoreLib](../../../coreclr/src/System.Private.CoreLib/). | ||
|
||
## System.Private.CoreLib Mono Sources | ||
|
||
The Mono specific sources can be found at [src/mono/netcore/System.Private.CoreLib](../../../mono/netcore/System.Private.CoreLib/). |