{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/1275","labels_url":"https://api.github.com/repos/dotnet/coreclr/issues/1275/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/1275/comments","events_url":"https://api.github.com/repos/dotnet/coreclr/issues/1275/events","html_url":"https://github.com/dotnet/coreclr/pull/1275","id":96656489,"number":1275,"title":"Add support for mscorlib.dll build on Unix.","user":{"login":"atsushieno","id":53929,"avatar_url":"https://avatars.githubusercontent.com/u/53929?v=3","gravatar_id":"","url":"https://api.github.com/users/atsushieno","html_url":"https://github.com/atsushieno","followers_url":"https://api.github.com/users/atsushieno/followers","following_url":"https://api.github.com/users/atsushieno/following{/other_user}","gists_url":"https://api.github.com/users/atsushieno/gists{/gist_id}","starred_url":"https://api.github.com/users/atsushieno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atsushieno/subscriptions","organizations_url":"https://api.github.com/users/atsushieno/orgs","repos_url":"https://api.github.com/users/atsushieno/repos","events_url":"https://api.github.com/users/atsushieno/events{/privacy}","received_events_url":"https://api.github.com/users/atsushieno/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dotnet/coreclr/labels/cla-already-signed","name":"cla-already-signed","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-07-22T20:27:17Z","updated_at":"2015-07-22T22:12:37Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dotnet/coreclr/pulls/1275","html_url":"https://github.com/dotnet/coreclr/pull/1275","diff_url":"https://github.com/dotnet/coreclr/pull/1275.diff","patch_url":"https://github.com/dotnet/coreclr/pull/1275.patch"},"body":"Rationale: mscorlib.dll does not build outside Windows yet.\r\nhttps://github.com/dotnet/coreclr/blob/8d3936b/Documentation/building/linux-instructions.md#build-the-framework-\r\n\r\nThis change removes the limitation.\r\n\r\nBasically it does what corefx does on Unix. It pulls MSBuild package\r\nfrom myget and use it to build mscorlib.dll.\r\n\r\nSome additional notes:\r\n\r\n- Mono (as of 4.0/4.2) does not support resgen -d option. So I created\r\n  a patched version that supports it.\r\n- Then I have created NuGet package for that resgen.exe so that we don't\r\n  have to wait for Mono bugfix for above. Just like the custom MSBuild\r\n  that corefx uses, it now uses the packaged resgen.exe.\r\n  (src/mscorlib/GenerateSplitStringResources.targets takes ResGenCommand\r\n  custom build property, so I pass it to msbuild run.)\r\n- BclRewriter.exe does not work outside Windows yet, so there are some\r\n  build targets file hacks that makes it conditional to non-Unix OS.\r\n- Similarly, there is call to rc.exe. It could be disabled by passing\r\n  /p:GenerateNativeVersionInfo=false to msbuild.\r\n- Pdb generation is not working on Unix (PdbWriter depends on COM stuff)\r\n  so I disabled any relevant parts by adding MSBuild condition.\r\n- NuGet packaging fails due to incomplete set of files (e.g. pdb), so\r\n  it is also skipped by MSBuild condition."},"comment":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/comments/123884136","html_url":"https://github.com/dotnet/coreclr/pull/1275#issuecomment-123884136","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/1275","id":123884136,"user":{"login":"jkotas","id":6668460,"avatar_url":"https://avatars.githubusercontent.com/u/6668460?v=3","gravatar_id":"","url":"https://api.github.com/users/jkotas","html_url":"https://github.com/jkotas","followers_url":"https://api.github.com/users/jkotas/followers","following_url":"https://api.github.com/users/jkotas/following{/other_user}","gists_url":"https://api.github.com/users/jkotas/gists{/gist_id}","starred_url":"https://api.github.com/users/jkotas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jkotas/subscriptions","organizations_url":"https://api.github.com/users/jkotas/orgs","repos_url":"https://api.github.com/users/jkotas/repos","events_url":"https://api.github.com/users/jkotas/events{/privacy}","received_events_url":"https://api.github.com/users/jkotas/received_events","type":"User","site_admin":false},"created_at":"2015-07-22T22:12:37Z","updated_at":"2015-07-22T22:12:37Z","body":"NGen-ed mscorlib is not mandatory to run. There are similar problems with JITed mscorlib too once you start running more complex tests."}}