Age | Commit message (Collapse) | Author |
|
CoreFX folks are going to want to be able to do things like build.sh
/p:SkipTests=true but today all unrecognized arguments to build.sh are
passed to make instead of MSBuild.
This is a bad default for us.
If we have the need to start passing arguments to build the native build
process and managed, we should agument build.sh to do something like
treating all unrecgonized arguments after the "native" token to be
things to pass to make and have the default behavior do the right thing
most of the time which is pass arguments to MSBuild.
|
|
This helps with cases where folks invoke msbuild directly without going
through build.sh or build.cmd. On Windows it's very easy to guess but
on "Unix" it's harder so right now we assume that the Target OS and Host
OS are the same (of course, this could be overridden).
|
|
`<alloca.h>` is not available on FreeBSD, instead `stdlib.h` has
`alloca()` defined.
Also added check for `EAI_NODATA` and `EAI_FAIL`, as those are
considered obsolete in FreeBSD.
|
|
build.sh was not properly setting the test RID when invoked without
a target OS parameter.
|
|
Now that we can properly restore cross platform binaries when building
out the test library, we no longer need the the step where we copy over
the Linux product build to the overlay. There was some other overlay
related stuff that we could remove as well (e.g. the need for picking up
the test host from a seperate place).
We continue to copy the runtime itself and the native corefx bits. In
time we should remove the copy of the runtime and mscorlib.dll (but for
now we continue to use it to speed up the rate at which we can implement
features in CoreCLR and test them in CoreFX, since if we we used the
runtime that came down from NuGet it would always be at least a day
old).
I have also changed the defaults of run-test.sh to ease folks doing
local development (e.g. it defaults to $OS for the version of the test
binaries instead of always using Windows versions).
In addition, I updated build.sh to set TestNugetRuntimeId to
ubuntu.14.04-x64 or osx.10.10 if you are building on "Linux" or
"Darwin". Obviously this is not complete because we don't actually try
to figure out your distro and version but it better than just deploying
windows stuff when building the test runtimes and run-test.sh will
replace all the native bits which is the major thing that changes anyway.
|
|
Prior to recent changes, it was possible to use build.sh to cross-compile
CoreFX by passing "/p:OSGroup=<target OS>" at the command line. This
change restores the ability to cross-compile by allowing the specification
of the target OS as a command-line option to build.sh: any one of
"windows", "linux", "osx", or "freebsd" is accepted.
|
|
We were failing to cd to the bin directory and CMake would spew files
all over the the working directory and then put things in a bad state
where builds would fail until a git clean was performed.
This was broken by the recent merge of managed and native builds into
one script.
There's a lot of room to tighten up this script's error handling, but
in the meantime this is the minimal fix, which makes clean() recreate
dirs as the comment above it says that it should.
Also fixed a typo: s/manged/managed/
|
|
If no argument is passed, defaults to build both the managed and the
native code. The src/Native/build.sh is kept to not break CI, it simply
calls the top level build.sh to call the native part. Closes #3155
|
|
|
|
|
|
Same as https://github.com/dotnet/corefx/pull/2225, but for build.sh
|
|
Before, the script complained cause it only looked for 4.0.1.x
|
|
|
|
CA-trust.
Trying to run `build.sh` on a clean FreeBSD-system will fail because NuGet.exe isn't downloaded
correctly.
````
/usr/home/josteink/build/corefx $ wget https://api.nuget.org/downloads/nuget.exe
--2015-06-21 05:43:58-- https://api.nuget.org/downloads/nuget.exe
Resolving api.nuget.org (api.nuget.org)...
185.31.18.64 Connecting to api.nuget.org (api.nuget.org)|185.31.18.64|:443... connected.
ERROR: cannot verify api.nuget.org's certificate, issued by ‘CN=DigiCert SHA2 High Assurance Server CA,OU=www.digicert.com,O=DigiCert Inc,C=US’:
Unable to locally verify the issuer's authority.
To connect to api.nuget.org insecurely, use `--no-check-certificate'.
/usr/home/josteink/build/corefx $
````
This is the case on a default FreeBSD 10.1 installation, and the same behaviour
with wget failing on HTTPS trust-issues can very often be observed in the wild
across several OSes and projects, not just FreeBSD and corefx.
(For FreeBSD, a workaround for this issue is to install the `/usr/ports/security/ca_root_nss`,
but this package is not installed by default.)
After this error has (silently) happened, a zero-byte NuGet.exe is left on disk, causing
all subsequent builds to fail on the MSbuild-restore stage.
Downloading with curl however doesn't fail, so default to trying curl instead of wget first
solves this issue.
|
|
According to akoeplinger, the required mono version is now 4.0.1.44 or higher.
Build-script updated to reflect this.
|
|
Update build instructions to include FreeBSD.
|
|
|
|
This patch adds FreeBSD to build.sh. Also use /usr/bin/env to get the real path of bash, since that can be different across platforms.
|
|
|
|
|
|
Pull down nuget and msbuild in the build.sh script. Check for cURL or wget and fail out if missing.
|
|
Add the Mono MSBuild package and update the build script to consume it and restore tools via xbuild.
|
|
|