diff options
author | Matt Ellis <matell@microsoft.com> | 2015-08-10 22:36:57 -0700 |
---|---|---|
committer | Matt Ellis <matell@microsoft.com> | 2015-08-17 17:05:06 -0700 |
commit | 614d58f99a8385bb54281f2b7fb9d5dd6672a519 (patch) | |
tree | dfc013c785e9aaee12526141c8411dc2fd00e7f5 /dir.props | |
parent | 793558ed5b888b57553df4c8a3e740aa171e51d3 (diff) | |
download | coreclr-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.props | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -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> |