Imported Upstream version 5.10.0.47

Former-commit-id: d0813289fa2d35e1f8ed77530acb4fb1df441bc0
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-01-24 17:04:36 +00:00
parent 88ff76fe28
commit e46a49ecf1
5927 changed files with 226314 additions and 129848 deletions

View File

@@ -15,11 +15,11 @@ instructions assume you are building for Linux, but are easily modifiable for OS
of debug CoreCLR since it is much faster at actually running XUnit, but debug
will work if you have the time.
From the root of your CoreCLR enlistment on Linux, run `./build.sh Release` in
From the root of your CoreCLR repo on Linux, run `./build.sh Release` in
order to build.
2. A corresponding version of System.Private.Corelib.dll. Depending on your platform, this may
be produced when you run `build.sh`. Otherwise, this can be produced by
running `build.cmd linuxmscorlib Release` (it's `mscorlib` for historical reasons) from a CoreCLR enlistment on
running `build.cmd linuxmscorlib Release` (it's `mscorlib` for historical reasons) from a CoreCLR repo on
Windows. Remember that the runtime and System.Private.Corelib are tightly coupled with
respect to object sizes and layout so you need to ensure you have either a
release coreclr and release System.Private.Corelib or debug coreclr and debug System.Private.Corelib.
@@ -30,7 +30,7 @@ instructions assume you are building for Linux, but are easily modifiable for OS
* Build the managed parts of CoreFX on Windows. To do so run `build-managed.cmd -os=Linux`. It is okay to build a Debug version of CoreFX and run it
on top of a release CoreCLR (which is exactly what we do in Jenkins).
* Build the native parts of CoreFX on Linux. To do so run `./build-native.sh` from the root of your CoreFX enlistment.
* Build the native parts of CoreFX on Linux. To do so run `./build-native.sh` from the root of your CoreFX repo.
4. The packages folder which contains all the packages restored from NuGet and
MyGet when building CoreFX.

View File

@@ -25,7 +25,7 @@ For Ubuntu 14.04, the following packages should be installed to build the native
components
* git
* clang-3.5
* clang-3.9
* cmake
* make
* libc6-dev
@@ -34,7 +34,7 @@ components
* libcurl4-openssl-dev
* zlib1g-dev
`sudo apt-get install git clang-3.5 cmake make libc6-dev libssl-dev libkrb5-dev
`sudo apt-get install git clang-3.9 cmake make libc6-dev libssl-dev libkrb5-dev
libcurl4-openssl-dev zlib1g-dev`
#### Managed build
@@ -47,7 +47,8 @@ For Ubuntu 14.04, install the following packages:
`sudo apt-get install libunwind8 libicu52 curl`
For Ubuntu 16.04 LTS / Bash on Ubuntu on Windows you may need to replace libicu52 with libicu55. Ubuntu 16.10 will require libcu57.
For Ubuntu 16.04 LTS / Bash on Ubuntu on Windows you may need to replace libicu52 with libicu55.
Ubuntu 16.10 and Ubuntu 17.04 will require libicu57.
`sudo apt-get install libunwind8 libicu55 curl`

View File

@@ -5,27 +5,37 @@ You can build .NET Core either via the command line or by using Visual Studio.
## Required Software
Visual Studio must be installed. Supported versions:
* [Visual Studio 2015](https://www.visualstudio.com/vs/older-downloads/) (Community, Professional, Enterprise). The community version is completely free.
* [Visual Studio 2017](https://www.visualstudio.com/downloads/) (Community, Professional, Enterprise). The community version is completely free.
1. **Visual Studio** must be installed. Supported versions:
* [Visual Studio 2015](https://www.visualstudio.com/vs/older-downloads/) (Community, Professional, Enterprise). The Community version is completely free.
* [Visual Studio 2017](https://www.visualstudio.com/downloads/) (Community, Professional, Enterprise). The Community version is completely free.
2. **[CMake](https://cmake.org/)** must be installed from [the CMake download page](https://cmake.org/download/#latest) and added to your path.
For Visual Studio 2015:
* In order to build our C++ projects be sure to select "Programming Languages | Visual C++ | Common Tools for Visual C++ 2015" while installing VS 2015 (or modify your install to include it).
* We also require that [Visual Studio 2015 Update 1](https://www.visualstudio.com/en-us/news/vs2015-update1-vs.aspx) be installed.
### Visual Studio 2015
For Visual Studio 2017:
* When doing a 'Workloads' based install, the following are the minimum requirements:
* .NET Desktop Development
* [Visual Studio 2015 Update 1](https://www.visualstudio.com/en-us/news/vs2015-update1-vs.aspx) is required.
* You must select **Programming Languages | Visual C++ | Common Tools for Visual C++ 2015** while installing VS 2015 (or modify your install to include it).
### Visual Studio 2017
#### Visual Studio 2017 - 'Workloads' based install
The following are the minimum requirements:
* .NET desktop development
* All Required Components
* .NET Framework 4-4.6 Development Tools
* Desktop Development with C++
* Desktop development with C++
* All Required Components
* VC++ 2017 v141 Toolset (x86, x64)
* Windows 8.1 SDK and UCRT SDK
* VC++ 2015.3 v140 Toolset (x86, x64)
* .NET Core cross-platform development
* All Required Components
* When doing an 'Individual Components' based install, the following are the minimum requirements:
Note: If you have both VS 2017 and 2015 installed, you need to copy DIA SDK directory from VS 2015 installation into VS 2017 (VS installer bug).
#### Visual Studio 2017 - 'Individual components' based install
The following are the minimum requirements:
* C# and Visual Basic Roslyn Compilers
* Static Analysis Tools
* .NET Portable Library Targeting Pack
@@ -36,13 +46,12 @@ For Visual Studio 2017:
* .NET Framework 4.6 Targeting Pack
* Windows Universal CRT SDK
* VC++ 2015.3 v140 Toolset (x86, x64)
* Ensure you are running from the "Developer Command Prompt for VS2017"; Otherwise, the build will attempt to locate and use the VS2015 toolset.
[CMake](https://cmake.org/) is required to build the native libraries for Windows. To build these libraries cmake must be installed from [the CMake download page](https://cmake.org/download/#latest) and added to your path.
## Building From the Command Line
Open a [Visual Studio Command Prompt](http://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx).
You must use the Developer Command Prompt. It will have a name like "Developer Command Prompt for VS 2017" or similar in your start menu.
From a (non-admin) Developer Command Prompt window:
- `build.cmd` - Will cause basic tool initialization and build the default configuration for refs, libs, and packages.
- `build-tests.cmd` - Will build and run tests for the default configuration.
@@ -93,6 +102,11 @@ Once you've built the source code for netfx from the root (`build.cmd -framework
For advanced debugging using WinDBG see [Debugging CoreFX on Windows](https://github.com/dotnet/corefx/blob/master/Documentation/debugging/windows-instructions.md)
### Notes
* At any given time, the corefx repo might be configured to use a more recent compiler than
the one used by the most recent Visual Studio IDE release. This means the corefx codebase might
be using language features that are not understood by the IDE, which might result in errors that
show up as red squiggles while writing code. Such errors should, however, not affect the actual compilation.
* Running tests from using the VS test explorer does not currently work after we switched to running on CoreCLR. [We will be working on enabling full VS test integration](https://github.com/dotnet/corefx/issues/1318) but we don't have an ETA yet. In the meantime, use the steps above to launch/debug the tests using the console runner.
* VS 2015 is required to debug tests running on CoreCLR as the CoreCLR