Age | Commit message (Collapse) | Author |
|
* Convert ILVerify, ILVerification and ILVerification.Tests to old build
system
* Respond to PR Feedback
* Change target frameworks add runtime config
* Change accessor and debugging files
* Mirror ILCompiler debugging in ILVerify
* Case change
* Add runtime options property to ILVerify runtime json
|
|
|
|
Switch rid to generic linux in most places and stop pretending that we are on ubuntu-14.04. ubuntu-14.04 is left just at the two places that still need it.
|
|
- Auto-detect if there is clang symlink and version is not specified
- Remove hardcode clang version from msbuild file
Signed-off-by: Petr Bred <bredpetr@gmail.com>
|
|
- Sometimes after some number of wget attempts to download
the building is interrupted. For example, it breaks by 80%.
Signed-off-by: Petr Bred <bredpetr@gmail.com>
|
|
* Enable wasm building on OSX.
Upgrade libLLVM to 4.0.0 and LLVMSharp to 5.0.0
LLVM upgrade: Fix 'Use still stuck around after Def is destroyed' of the deleted basic blocks
Add wasm support in runtest.sh
Remove HelloWasm.csproj reference to .ilproj on non-windows OS because of dependency on ilasm
Fix LinkNative target to execute correct commands for Unix wasm builds.
Added support for building on Ubuntu 16.04.3
Update documentation on how to build WebAssembly.
|
|
|
|
|
|
- now it downloads llvm 5 release and uses it in the building ObjWriter
- add [objwriter] option into build.sh
- only Linux platform support
- cross building support(x86/x64 -> ARM32)
- LLVM is built in Release build type always,
ObjWriter uses global project build type.
Signed-off-by: Petr Bred <bredpetr@gmail.com>
|
|
* Fix issues building the runtime, corelib and type loader for WebAssembly
* Fix test infrastructure to allow running with the wasm flavor
|
|
* Fix standalone run of init-tools.sh
* Split out buildtype-independent vars
|
|
prerelease versions of Visual Studio. This fixes building on a machine that only has C++ installed in a preview build of VS 2017. (#4696)
|
|
Also enabled cross compilation of x86 binaries on x64 host.
Ubuntu Dockerfiles:
<details>
<summary><b><ins>Baseline: x64 build on x64 host</ins></b></summary>
```dockerfile
FROM ubuntu
RUN cat /etc/*-release
RUN apt-get update
RUN apt-get install -y \
autoconf bash clang cmake gcc libtool curl \
libunwind-dev llvm make openssl lldb git uuid-dev
RUN git clone https://github.com/dotnet/corert -b master --single-branch
WORKDIR /corert
RUN ./build.sh # or ./build.sh x64
```
</details>
<details>
<summary><b><ins>PR: x86 build on x86 host</ins></b></summary>
```dockerfile
FROM i386/ubuntu
RUN cat /etc/*-release
RUN apt-get update
RUN apt-get install -y \
bash clang cmake gcc libtool curl \
libunwind-dev llvm make openssl lldb git uuid-dev
RUN git clone https://github.com/am11/corert -b linux-x86 --single-branch
WORKDIR /corert
RUN ./build.sh x86
```
</details>
<details>
<summary><b><ins>PR: x86 build on x64 host</ins></b></summary>
```dockerfile
FROM ubuntu
RUN cat /etc/*-release
RUN apt-get update
RUN apt-get install -y \
bash clang cmake gcc libtool curl \
libunwind-dev llvm make openssl lldb git uuid-dev \
g++-multilib
RUN git clone https://github.com/am11/corert -b linux-x86 --single-branch
WORKDIR /corert
RUN ./build.sh x86
```
</details>
|
|
|
|
|
|
* Add placeholder build option for WebAssembly
* Add Emscripten build commands
* Use Nmake in place of Make
|
|
|
|
|
|
|
|
Manually running "Developer Command Prompt for VS 2017" is no longer necessary.
|
|
- a timestamp has been added to avoid downloading
the same thing all the time
Signed-off-by: Petr Bred <bredpetr@gmail.com>
|
|
Signed-off-by: Petr Bred <bredpetr@gmail.com>
|
|
Fixes #4090
|
|
* Move build-restore.cmd back to build-managed
buildpipeline needs to be updated to make this split
* Cleanup dir.props/dir.targets
* Add back VS clues
* Reformat whitespaces to match VS convention
|
|
- Pick up latest .NET Core 2.0 CLI and buildtools
- Remove all project.json references and convert everything to msbuild projects
- Stick to vanilla .NET CLI project shape as much as possible. Minimize dependencies on buildtools special behaviors
|
|
The latest project templates do not have it, and it is only good for generating warnings like the following in the detailed build log:
Project file contains ToolsVersion="4.0". This toolset may be unknown or missing, in which case you may be able to resolve this by installing the appropriate version of MSBuild, or the build may have been forced to a particular ToolsVersion for policy reasons. Treating the project as if it had ToolsVersion="14.0". For more information, please see http://go.microsoft.com/fwlink/?LinkId=293424.
[tfs-changeset: 1662024]
|
|
|
|
This is a followup to #2390 that fixes a few things:
* vs2017 no longer needs to be passed to build.cmd (it will be
autodetected)
* Building and running tests now works
* Documentation updates to point out running from Developer Command
prompt is needed.
Fixes #3394.
|
|
|
|
|
|
* Linux support for multi-module
* Alter build integration scripts to support different naming / tool invocations on Linux.
* Add GC / frame info for ELF to the same group as its associated method so it gets Comdat folded properly.
* Add -multimodule switch to runtest.sh to run tests against a shared pre-compiled framework library.
* Update ObjectWriter Nuget package which brings changes need to support Elf Comdat sections.
|
|
|
|
|
|
There was a problem with the secondary thread shutdown on Unix. First,
when the TlsObjectDestructor is called, it is passed the key that
was set using the pthread_setspecific before. But I was missing the fact
that before the TlsObjectDestructor is called, the key is set to NULL.
So we cannot use pthread_getspecific to get the key anymore and we can
only use the value passed as the TlsObjectDestructor parameter.
The second part of the problem was that the at the time the TlsObjectDestructor
is called, the tls_CurrentThread to which the key points was already removed
from the TLS and so an attempt to access tls_CurrentThread results in creation
of a fresh new tls_CurrentThread. And our checks that we have at a few places
that verify that the argument passed to the TlsObjectDestructor was actually
the current thread pointer cannot be done.
The fix is to use __cxa_thread_atexit to register a destruction callback for the
ThreadStore object and use it instead of the pthread callback functionality.
|
|
Update default clang version to 3.9 and require xcode 8
|
|
This change updates the default clang version used to build CoreRT to the
latest stable version 3.9. It also removes the version 3.5 from the supported
ones. The 3.5 has a bug preventing us from using thread_local C++ feature.
Due to the same reason, the minimum supported xcode version on OSX is 8, so
the prerequisities document is updated accordingly.
|
|
* Split pipeline build to match CoreFX's model.
- OS-specific legs no longer publish to MyGet, they just upload to Azure.
- New publish leg downloads from Azure and publishes to MyGet.
- Only includes Microsoft.TargetingPack.Private.CoreRT for now, will add ILCompiler
after we sort out what OS-specific packages should be named.
* Addressing code review feedback (PR#2505).
|
|
* Add support for VS2017 in buildvars-setup.cmd
* Add support for VS2017 in gen-buildsys-win.cmd
* VS2017 rearranges some files, update build-native.cmd to match
* Update minimum CMake version to 3.7.0
This version is the first version that supports generating a project
using the Visual Studio 2017 toolchain.
* Fix bug in gen-buildsys-win.bat
The code previously assumed that the probe-win.ps1 script is located in the
current working directory. During my testing, I found that this is not robust
enough for all use-cases. Using %~dp0 to identify the directory containing the
batch file is more robust against this issue.
* Use the correct copy of MSBuild to build the C++ projects
Only the copy of MSBuild shipped with VS2017 can successfully
build VS2017 vcxproj files. Using any other copy will cause
strange errors.
* Update documentation
* Use "rem" for comments instead of "::"
The Windows batch file interpreter treats these two
symbols differently. When "::" is used within an if
block, it can create spurious drive-not-found errors.
Using "rem" avoids this problem.
|
|
|
|
RSP file got renamed in #2373 which broke the hackery to generate RSP
files for the repro projects.
|
|
(#2379)
Fixes #2377
|
|
In order to sign and package our builds properly in CI we need to split the build phases up. These changes add build-native, build-managed, and build-tests scripts, with build-packages soon to come. Summary:
- Variable handling moved to buildvars-setup scripts to avoid duplication.
- Everything else is from the old scripts with some path cleanup changes.
- Build.cmd/sh now calls into the split scripts.
- Updated build pipeline definitions for new scripts.
|