Fix SuperIlc to work on Linux / OSX in composite mode (#33358)
authorTomáš Rylek <trylek@microsoft.com>
Wed, 11 Mar 2020 23:15:55 +0000 (00:15 +0100)
committerGitHub <noreply@github.com>
Wed, 11 Mar 2020 23:15:55 +0000 (00:15 +0100)
commit17b28bad596209ee5f979ee96394ffa784c9c88b
treef9b83002118ab04c15ab2105df50619da22fe3b4
parent458b95b29dac766a6aaf1477ac6b0382177b057e
Fix SuperIlc to work on Linux / OSX in composite mode (#33358)

1) I have generalized the concept of framework exclusions so that
the CPAOT runner can consume it - without it we were picking up
"CommandLine.dll" in the Core_Root folder as a Crossgen2 compilation
input and R2RDump was subsequently failing to dump the file as
CommandLine.dll is one of the stupid assemblies where the assembly
name differs from the PE file name (the assembly name is
'commandline' causing a mismatch on case-sensitive file systems).

2) On Linux / OSX, we need to copy around a bunch of native libraries
to the output, e.g. libSystem.Globalization.Native.so.

Thanks

Tomas
src/coreclr/src/tools/ReadyToRun.SuperIlc/BuildFolder.cs
src/coreclr/src/tools/ReadyToRun.SuperIlc/BuildFolderSet.cs
src/coreclr/src/tools/ReadyToRun.SuperIlc/CompilerRunner.cs
src/coreclr/src/tools/ReadyToRun.SuperIlc/CpaotRunner.cs
src/coreclr/src/tools/ReadyToRun.SuperIlc/ProcessRunner.cs