summaryrefslogtreecommitdiff
path: root/dir.props
diff options
context:
space:
mode:
authorMatt Ellis <matell@microsoft.com>2015-08-10 22:36:57 -0700
committerMatt Ellis <matell@microsoft.com>2015-08-17 17:05:06 -0700
commit614d58f99a8385bb54281f2b7fb9d5dd6672a519 (patch)
treedfc013c785e9aaee12526141c8411dc2fd00e7f5 /dir.props
parent793558ed5b888b57553df4c8a3e740aa171e51d3 (diff)
downloadcoreclr-614d58f99a8385bb54281f2b7fb9d5dd6672a519.tar.gz
coreclr-614d58f99a8385bb54281f2b7fb9d5dd6672a519.tar.bz2
coreclr-614d58f99a8385bb54281f2b7fb9d5dd6672a519.zip
Build mscolrib.dll on Unix
Initial work to get mscorlib.dll building via Roslyn + MSBuild running on top of Mono on Linux. - Use a newer version of BclRewriter.exe which works cross-platform, the major difference here is that now we need to specify the input assembly as a named argument instead (since fully qualified paths on Unix look like flags on Windows). - The ResGen we use comes from Mono, which does not support the -d flag, so we need to stop passing defines to ResGen. I know the mono folks recently did some work to address this, but long term we need to move towards getting our ResGen.exe running on CoreCLR and use that instead. - Don't require that mono is installed in order to build coreclr. If mono is not on the path, skip the build step to enable folks to do development without Mono. In this case, they will need to continue to build mscorlib.dll on Windows, targeting Unix. - Mono stability has been an issue for folks that have buddy tested this. I've found that recent mono 4.2 builds, when run with the Boehm GC work well for me. Other folks have other builds they like instead. The `skipmscorlib` flag can be passed to build.sh if you want to skip building mscorlib.dll locally.
Diffstat (limited to 'dir.props')
-rw-r--r--dir.props12
1 files changed, 10 insertions, 2 deletions
diff --git a/dir.props b/dir.props
index 5fc9429b00..c004378884 100644
--- a/dir.props
+++ b/dir.props
@@ -10,7 +10,7 @@
<!-- Build Tools Versions -->
<PropertyGroup>
<BuildToolsVersion>1.0.25-prerelease-00056</BuildToolsVersion>
- <BuildToolsCoreCLRVersion>1.0.2-prerelease</BuildToolsCoreCLRVersion>
+ <BuildToolsCoreCLRVersion>1.0.3-prerelease</BuildToolsCoreCLRVersion>
<DnxVersion Condition="'$(OsEnvironment)'!='Unix'">1.0.0-beta5-12101</DnxVersion>
<DnxVersion Condition="'$(OsEnvironment)'=='Unix'">1.0.0-beta5-12101</DnxVersion>
<DnxPackageName Condition="'$(DnxPackageName)' == '' and '$(OsEnvironment)'!='Unix'">dnx-coreclr-win-x86.$(DnxVersion)</DnxPackageName>
@@ -112,6 +112,14 @@
<NuSpecs Condition="'$(Configuration)'=='Debug'" Include="$(PackagesBinDir)\Microsoft.DotNet.CoreCLR.Debug.Development.nuspec" />
</ItemGroup>
+ <!--
+ Set up Roslyn predefines
+ -->
+ <PropertyGroup>
+ <RoslynPackageDir>$(PackagesDir)/$(RoslynPackageName).$(RoslynVersion)/</RoslynPackageDir>
+ <RoslynPropsFile>$(RoslynPackageDir)build/Microsoft.Net.ToolsetCompilers.props</RoslynPropsFile>
+ </PropertyGroup>
+
<!-- Setup common target properties that we use to conditionally include sources -->
<PropertyGroup>
<TargetsFreeBSD Condition="'$(BuildOS)' == 'FreeBSD'">true</TargetsFreeBSD>
@@ -121,4 +129,4 @@
<TargetsUnix Condition="'$(TargetsFreeBSD)' == 'true' or '$(TargetsLinux)' == 'true' or '$(TargetsOSX)' == 'true'">true</TargetsUnix>
</PropertyGroup>
-</Project> \ No newline at end of file
+</Project>