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.
* Update workflow readme * CR feedback and more detail * Add daily workflow for libraries dev * rebuild->build * More updates * typo: * more * More edits * testing * space:
- Loading branch information
1 parent
aa54d0e
commit 79ea9d1
Showing
4 changed files
with
164 additions
and
69 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 |
---|---|---|
@@ -1,34 +1,32 @@ | ||
# Building | ||
|
||
Once all the necessary tools are in place, building is trivial. Simply run coreclr.cmd/sh script that lives in the repository root. | ||
To build just CoreCLR, use the `--subsetCategory` flag to the `build.sh` (or `build.cmd`) at the repo root: | ||
|
||
```bat | ||
.\coreclr.cmd | ||
[Lots of build spew] | ||
``` | ||
./build.sh --subsetCategory coreclr | ||
``` | ||
or on Windows, | ||
``` | ||
build.cmd --subsetCategory coreclr | ||
``` | ||
|
||
Product binaries are available at C:\git\runtime\artifacts\bin\coreclr\Windows_NT.x64.debug | ||
Test binaries are available at C:\git\runtime\artifacts\tests\coreclr\Windows_NT.x64.debug | ||
By default, build generates a 'debug' build type, that includes asserts and is easier for some people to debug. 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`), for example | ||
``` | ||
./build.sh --subsetCategory coreclr -configuration release | ||
``` | ||
|
||
As shown above, the product will be placed in | ||
This will produce outputs as follows: | ||
|
||
- Product binaries will be dropped in `artifacts\bin\coreclr\<OS>.<arch>.<flavor>` folder. | ||
- A NuGet package, Microsoft.Dotnet.CoreCLR, will be created under `artifacts\bin\coreclr\<OS>.<arch>.<flavor>\.nuget` folder. | ||
- Test binaries will be dropped under `artifacts\tests\coreclr\<OS>.<arch>.<flavor>` folder. | ||
|
||
By default, build generates a 'Debug' build type, that has extra checking (assert) compiled into it. You can | ||
also build the 'release' version which does not have these checks. | ||
|
||
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\coreclr` 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 -?. Some of the more important options are | ||
|
||
* -skiptests - don't build the tests. This can shorten build times quite a bit, but means you can't run tests. | ||
* -release - build the 'Release' build type that does not have extra development-time checking compiled in. | ||
You want this if you are going to do performance testing on your build. | ||
The build has a number of options that you can learn about using `build -?`. In particular `-skiptests` skips building the tests, which makes the build quicker. | ||
|
||
See [Running Tests](../../testing/coreclr/testing.md) for instructions on running the tests. |
Oops, something went wrong.