Skip to content

Instantly share code, notes, and snippets.

@kkestell
Created January 23, 2023 01:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kkestell/f4a54c451471673cf3f330ec7ea0bbdd to your computer and use it in GitHub Desktop.
Save kkestell/f4a54c451471673cf3f330ec7ea0bbdd to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
set -o xtrace
# Install dependencies
mkdir -p deps
# .NET 7.0 SDK
if [ ! -d deps/dotnet ]; then
wget https://download.visualstudio.microsoft.com/download/pr/c646b288-5d5b-4c9c-a95b-e1fad1c0d95d/e13d71d48b629fe3a85f5676deb09e2d/dotnet-sdk-7.0.102-linux-x64.tar.gz
mkdir -p deps/dotnet
tar -C deps/dotnet -xf dotnet-sdk-7.0.102-linux-x64.tar.gz
fi
# DotNet.ILCompiler
if [ ! -d deps/ilcompiler ]; then
wget https://www.nuget.org/api/v2/package/runtime.linux-x64.Microsoft.DotNet.ILCompiler/7.0.2 -O runtime.linux-x64.microsoft.dotnet.ilcompiler.7.0.2.nupkg
mkdir -p deps/ilcompiler
unzip runtime.linux-x64.microsoft.dotnet.ilcompiler.7.0.2.nupkg -d deps/ilcompiler
fi
# NETCore.App.Runtime
if [ ! -d deps/runtime ]; then
wget https://www.nuget.org/api/v2/package/Microsoft.NETCore.App.Runtime.linux-x64/7.0.2 -O microsoft.netcore.app.runtime.linux-x64.7.0.2.nupkg
mkdir -p deps/runtime
unzip microsoft.netcore.app.runtime.linux-x64.7.0.2.nupkg -d deps/runtime
fi
# Compile a simple C# program to a native executable
mkdir -p tmp
pushd tmp
cat > Test.cs <<EOF
namespace Test
{
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine("Hello World!");
}
}
}
EOF
# I think these are created by an MSBuild task. Cargo cult them for now.
mkdir -p obj/Debug/net7.0/linux-x64
cat > obj/Debug/net7.0/linux-x64/Test.AssemblyInfo.cs <<EOF
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Test")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Test")]
[assembly: System.Reflection.AssemblyTitleAttribute("Test")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
EOF
cat > obj/Debug/net7.0/linux-x64/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs <<EOF
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v7.0", FrameworkDisplayName = ".NET 7.0")]
EOF
cat > obj/Debug/net7.0/linux-x64/Test.GlobalUsings.g.cs <<EOF
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;
EOF
# Compile C# to CIL
mkdir -p obj/Debug/net7.0/linux-x64/refint
/dotorg/deps/dotnet/dotnet exec "/dotorg/deps/dotnet/sdk/7.0.102/Roslyn/bincore/csc.dll" \
/noconfig \
/unsafe- \
/checked- \
/nowarn:1701,1702,IL2121,1701,1702 \
/fullpaths \
/nostdlib+ \
/platform:x64 \
/errorreport:prompt \
/warn:7 \
"/define:TRACE;DEBUG;NET;NET7_0;NETCOREAPP;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NETCOREAPP1_0_OR_GREATER;NETCOREAPP1_1_OR_GREATER;NETCOREAPP2_0_OR_GREATER;NETCOREAPP2_1_OR_GREATER;NETCOREAPP2_2_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER" \
/highentropyva+ \
/nullable:enable \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/Microsoft.CSharp.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/Microsoft.VisualBasic.Core.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/Microsoft.VisualBasic.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/Microsoft.Win32.Primitives.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/Microsoft.Win32.Registry.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/mscorlib.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/netstandard.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.AppContext.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Buffers.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Collections.Concurrent.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Collections.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Collections.Immutable.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Collections.NonGeneric.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Collections.Specialized.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.ComponentModel.Annotations.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.ComponentModel.DataAnnotations.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.ComponentModel.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.ComponentModel.EventBasedAsync.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.ComponentModel.Primitives.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.ComponentModel.TypeConverter.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Configuration.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Console.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Core.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Data.Common.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Data.DataSetExtensions.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Data.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Diagnostics.Contracts.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Diagnostics.Debug.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Diagnostics.DiagnosticSource.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Diagnostics.FileVersionInfo.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Diagnostics.Process.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Diagnostics.StackTrace.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Diagnostics.TextWriterTraceListener.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Diagnostics.Tools.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Diagnostics.TraceSource.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Diagnostics.Tracing.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Drawing.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Drawing.Primitives.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Dynamic.Runtime.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Formats.Asn1.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Formats.Tar.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Globalization.Calendars.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Globalization.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Globalization.Extensions.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.IO.Compression.Brotli.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.IO.Compression.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.IO.Compression.FileSystem.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.IO.Compression.ZipFile.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.IO.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.IO.FileSystem.AccessControl.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.IO.FileSystem.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.IO.FileSystem.DriveInfo.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.IO.FileSystem.Primitives.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.IO.FileSystem.Watcher.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.IO.IsolatedStorage.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.IO.MemoryMappedFiles.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.IO.Pipes.AccessControl.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.IO.Pipes.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.IO.UnmanagedMemoryStream.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Linq.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Linq.Expressions.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Linq.Parallel.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Linq.Queryable.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Memory.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.Http.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.Http.Json.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.HttpListener.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.Mail.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.NameResolution.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.NetworkInformation.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.Ping.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.Primitives.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.Quic.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.Requests.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.Security.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.ServicePoint.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.Sockets.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.WebClient.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.WebHeaderCollection.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.WebProxy.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.WebSockets.Client.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Net.WebSockets.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Numerics.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Numerics.Vectors.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.ObjectModel.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Reflection.DispatchProxy.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Reflection.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Reflection.Emit.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Reflection.Emit.ILGeneration.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Reflection.Emit.Lightweight.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Reflection.Extensions.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Reflection.Metadata.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Reflection.Primitives.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Reflection.TypeExtensions.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Resources.Reader.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Resources.ResourceManager.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Resources.Writer.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.CompilerServices.Unsafe.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.CompilerServices.VisualC.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.Extensions.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.Handles.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.InteropServices.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.InteropServices.JavaScript.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.InteropServices.RuntimeInformation.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.Intrinsics.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.Loader.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.Numerics.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.Serialization.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Formatters.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Json.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Primitives.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Xml.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Security.AccessControl.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Security.Claims.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Security.Cryptography.Algorithms.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Security.Cryptography.Cng.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Security.Cryptography.Csp.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Security.Cryptography.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Security.Cryptography.Encoding.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Security.Cryptography.OpenSsl.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Security.Cryptography.Primitives.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Security.Cryptography.X509Certificates.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Security.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Security.Principal.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Security.Principal.Windows.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Security.SecureString.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.ServiceModel.Web.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.ServiceProcess.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Text.Encoding.CodePages.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Text.Encoding.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Text.Encoding.Extensions.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Text.Encodings.Web.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Text.Json.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Text.RegularExpressions.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Threading.Channels.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Threading.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Threading.Overlapped.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Threading.Tasks.Dataflow.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Threading.Tasks.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Threading.Tasks.Extensions.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Threading.Tasks.Parallel.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Threading.Thread.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Threading.ThreadPool.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Threading.Timer.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Transactions.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Transactions.Local.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.ValueTuple.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Web.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Web.HttpUtility.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Windows.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Xml.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Xml.Linq.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Xml.ReaderWriter.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Xml.Serialization.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Xml.XDocument.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Xml.XmlDocument.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Xml.XmlSerializer.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Xml.XPath.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/System.Xml.XPath.XDocument.dll \
/reference:/dotorg/deps/dotnet/packs/Microsoft.NETCore.App.Ref/7.0.2/ref/net7.0/WindowsBase.dll \
/debug+ \
/debug:portable \
/filealign:512 \
/optimize- \
/out:obj/Debug/net7.0/linux-x64/Test.dll \
/refout:obj/Debug/net7.0/linux-x64/refint/Test.dll \
/target:exe \
/warnaserror- \
/utf8output \
/deterministic+ \
/langversion:11.0 \
Test.cs \
obj/Debug/net7.0/linux-x64/Test.GlobalUsings.g.cs \
"obj/Debug/net7.0/linux-x64/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs" \
obj/Debug/net7.0/linux-x64/Test.AssemblyInfo.cs \
/warnaserror+:NU1605,SYSLIB0011
# Compile CIL to a native object file. This is the magic!
mkdir -p obj/Debug/net7.0/linux-x64/native
cat > obj/Debug/net7.0/linux-x64/native/Test.ilc.rsp <<EOF
obj/Debug/net7.0/linux-x64/Test.dll
-o:obj/Debug/net7.0/linux-x64/native/Test.o
-r:/dotorg/deps/runtime/runtimes/linux-x64/lib/net7.0/WindowsBase.dll
-r:/dotorg/deps/ilcompiler/framework/Microsoft.CSharp.dll
-r:/dotorg/deps/ilcompiler/framework/Microsoft.VisualBasic.Core.dll
-r:/dotorg/deps/ilcompiler/framework/Microsoft.VisualBasic.dll
-r:/dotorg/deps/ilcompiler/framework/Microsoft.Win32.Primitives.dll
-r:/dotorg/deps/ilcompiler/framework/Microsoft.Win32.Registry.dll
-r:/dotorg/deps/ilcompiler/framework/mscorlib.dll
-r:/dotorg/deps/ilcompiler/framework/netstandard.dll
-r:/dotorg/deps/ilcompiler/framework/System.AppContext.dll
-r:/dotorg/deps/ilcompiler/framework/System.Buffers.dll
-r:/dotorg/deps/ilcompiler/framework/System.Collections.Concurrent.dll
-r:/dotorg/deps/ilcompiler/framework/System.Collections.dll
-r:/dotorg/deps/ilcompiler/framework/System.Collections.Immutable.dll
-r:/dotorg/deps/ilcompiler/framework/System.Collections.NonGeneric.dll
-r:/dotorg/deps/ilcompiler/framework/System.Collections.Specialized.dll
-r:/dotorg/deps/ilcompiler/framework/System.ComponentModel.Annotations.dll
-r:/dotorg/deps/ilcompiler/framework/System.ComponentModel.DataAnnotations.dll
-r:/dotorg/deps/ilcompiler/framework/System.ComponentModel.dll
-r:/dotorg/deps/ilcompiler/framework/System.ComponentModel.EventBasedAsync.dll
-r:/dotorg/deps/ilcompiler/framework/System.ComponentModel.Primitives.dll
-r:/dotorg/deps/ilcompiler/framework/System.ComponentModel.TypeConverter.dll
-r:/dotorg/deps/ilcompiler/framework/System.Configuration.dll
-r:/dotorg/deps/ilcompiler/framework/System.Console.dll
-r:/dotorg/deps/ilcompiler/framework/System.Core.dll
-r:/dotorg/deps/ilcompiler/framework/System.Data.Common.dll
-r:/dotorg/deps/ilcompiler/framework/System.Data.DataSetExtensions.dll
-r:/dotorg/deps/ilcompiler/framework/System.Data.dll
-r:/dotorg/deps/ilcompiler/framework/System.Diagnostics.Contracts.dll
-r:/dotorg/deps/ilcompiler/framework/System.Diagnostics.Debug.dll
-r:/dotorg/deps/ilcompiler/framework/System.Diagnostics.DiagnosticSource.dll
-r:/dotorg/deps/ilcompiler/framework/System.Diagnostics.FileVersionInfo.dll
-r:/dotorg/deps/ilcompiler/framework/System.Diagnostics.Process.dll
-r:/dotorg/deps/ilcompiler/framework/System.Diagnostics.StackTrace.dll
-r:/dotorg/deps/ilcompiler/framework/System.Diagnostics.TextWriterTraceListener.dll
-r:/dotorg/deps/ilcompiler/framework/System.Diagnostics.Tools.dll
-r:/dotorg/deps/ilcompiler/framework/System.Diagnostics.TraceSource.dll
-r:/dotorg/deps/ilcompiler/framework/System.Diagnostics.Tracing.dll
-r:/dotorg/deps/ilcompiler/framework/System.dll
-r:/dotorg/deps/ilcompiler/framework/System.Drawing.dll
-r:/dotorg/deps/ilcompiler/framework/System.Drawing.Primitives.dll
-r:/dotorg/deps/ilcompiler/framework/System.Dynamic.Runtime.dll
-r:/dotorg/deps/ilcompiler/framework/System.Formats.Asn1.dll
-r:/dotorg/deps/ilcompiler/framework/System.Formats.Tar.dll
-r:/dotorg/deps/ilcompiler/framework/System.Globalization.Calendars.dll
-r:/dotorg/deps/ilcompiler/framework/System.Globalization.dll
-r:/dotorg/deps/ilcompiler/framework/System.Globalization.Extensions.dll
-r:/dotorg/deps/ilcompiler/framework/System.IO.Compression.Brotli.dll
-r:/dotorg/deps/ilcompiler/framework/System.IO.Compression.dll
-r:/dotorg/deps/ilcompiler/framework/System.IO.Compression.FileSystem.dll
-r:/dotorg/deps/ilcompiler/framework/System.IO.Compression.ZipFile.dll
-r:/dotorg/deps/ilcompiler/framework/System.IO.dll
-r:/dotorg/deps/ilcompiler/framework/System.IO.FileSystem.AccessControl.dll
-r:/dotorg/deps/ilcompiler/framework/System.IO.FileSystem.dll
-r:/dotorg/deps/ilcompiler/framework/System.IO.FileSystem.DriveInfo.dll
-r:/dotorg/deps/ilcompiler/framework/System.IO.FileSystem.Primitives.dll
-r:/dotorg/deps/ilcompiler/framework/System.IO.FileSystem.Watcher.dll
-r:/dotorg/deps/ilcompiler/framework/System.IO.IsolatedStorage.dll
-r:/dotorg/deps/ilcompiler/framework/System.IO.MemoryMappedFiles.dll
-r:/dotorg/deps/ilcompiler/framework/System.IO.Pipes.AccessControl.dll
-r:/dotorg/deps/ilcompiler/framework/System.IO.Pipes.dll
-r:/dotorg/deps/ilcompiler/framework/System.IO.UnmanagedMemoryStream.dll
-r:/dotorg/deps/ilcompiler/framework/System.Linq.dll
-r:/dotorg/deps/ilcompiler/framework/System.Linq.Expressions.dll
-r:/dotorg/deps/ilcompiler/framework/System.Linq.Parallel.dll
-r:/dotorg/deps/ilcompiler/framework/System.Linq.Queryable.dll
-r:/dotorg/deps/ilcompiler/framework/System.Memory.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.Http.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.Http.Json.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.HttpListener.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.Mail.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.NameResolution.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.NetworkInformation.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.Ping.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.Primitives.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.Quic.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.Requests.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.Security.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.ServicePoint.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.Sockets.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.WebClient.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.WebHeaderCollection.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.WebProxy.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.WebSockets.Client.dll
-r:/dotorg/deps/ilcompiler/framework/System.Net.WebSockets.dll
-r:/dotorg/deps/ilcompiler/framework/System.Numerics.dll
-r:/dotorg/deps/ilcompiler/framework/System.Numerics.Vectors.dll
-r:/dotorg/deps/ilcompiler/framework/System.ObjectModel.dll
-r:/dotorg/deps/ilcompiler/framework/System.Private.DataContractSerialization.dll
-r:/dotorg/deps/ilcompiler/framework/System.Private.Uri.dll
-r:/dotorg/deps/ilcompiler/framework/System.Private.Xml.dll
-r:/dotorg/deps/ilcompiler/framework/System.Private.Xml.Linq.dll
-r:/dotorg/deps/ilcompiler/framework/System.Reflection.DispatchProxy.dll
-r:/dotorg/deps/ilcompiler/framework/System.Reflection.dll
-r:/dotorg/deps/ilcompiler/framework/System.Reflection.Emit.dll
-r:/dotorg/deps/ilcompiler/framework/System.Reflection.Emit.ILGeneration.dll
-r:/dotorg/deps/ilcompiler/framework/System.Reflection.Emit.Lightweight.dll
-r:/dotorg/deps/ilcompiler/framework/System.Reflection.Extensions.dll
-r:/dotorg/deps/ilcompiler/framework/System.Reflection.Metadata.dll
-r:/dotorg/deps/ilcompiler/framework/System.Reflection.Primitives.dll
-r:/dotorg/deps/ilcompiler/framework/System.Reflection.TypeExtensions.dll
-r:/dotorg/deps/ilcompiler/framework/System.Resources.Reader.dll
-r:/dotorg/deps/ilcompiler/framework/System.Resources.ResourceManager.dll
-r:/dotorg/deps/ilcompiler/framework/System.Resources.Writer.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.CompilerServices.Unsafe.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.CompilerServices.VisualC.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.Extensions.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.Handles.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.InteropServices.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.InteropServices.JavaScript.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.InteropServices.RuntimeInformation.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.Intrinsics.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.Loader.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.Numerics.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.Serialization.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.Serialization.Formatters.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.Serialization.Json.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.Serialization.Primitives.dll
-r:/dotorg/deps/ilcompiler/framework/System.Runtime.Serialization.Xml.dll
-r:/dotorg/deps/ilcompiler/framework/System.Security.AccessControl.dll
-r:/dotorg/deps/ilcompiler/framework/System.Security.Claims.dll
-r:/dotorg/deps/ilcompiler/framework/System.Security.Cryptography.Algorithms.dll
-r:/dotorg/deps/ilcompiler/framework/System.Security.Cryptography.Cng.dll
-r:/dotorg/deps/ilcompiler/framework/System.Security.Cryptography.Csp.dll
-r:/dotorg/deps/ilcompiler/framework/System.Security.Cryptography.dll
-r:/dotorg/deps/ilcompiler/framework/System.Security.Cryptography.Encoding.dll
-r:/dotorg/deps/ilcompiler/framework/System.Security.Cryptography.OpenSsl.dll
-r:/dotorg/deps/ilcompiler/framework/System.Security.Cryptography.Primitives.dll
-r:/dotorg/deps/ilcompiler/framework/System.Security.Cryptography.X509Certificates.dll
-r:/dotorg/deps/ilcompiler/framework/System.Security.dll
-r:/dotorg/deps/ilcompiler/framework/System.Security.Principal.dll
-r:/dotorg/deps/ilcompiler/framework/System.Security.Principal.Windows.dll
-r:/dotorg/deps/ilcompiler/framework/System.Security.SecureString.dll
-r:/dotorg/deps/ilcompiler/framework/System.ServiceModel.Web.dll
-r:/dotorg/deps/ilcompiler/framework/System.ServiceProcess.dll
-r:/dotorg/deps/ilcompiler/framework/System.Text.Encoding.CodePages.dll
-r:/dotorg/deps/ilcompiler/framework/System.Text.Encoding.dll
-r:/dotorg/deps/ilcompiler/framework/System.Text.Encoding.Extensions.dll
-r:/dotorg/deps/ilcompiler/framework/System.Text.Encodings.Web.dll
-r:/dotorg/deps/ilcompiler/framework/System.Text.Json.dll
-r:/dotorg/deps/ilcompiler/framework/System.Text.RegularExpressions.dll
-r:/dotorg/deps/ilcompiler/framework/System.Threading.Channels.dll
-r:/dotorg/deps/ilcompiler/framework/System.Threading.dll
-r:/dotorg/deps/ilcompiler/framework/System.Threading.Overlapped.dll
-r:/dotorg/deps/ilcompiler/framework/System.Threading.Tasks.Dataflow.dll
-r:/dotorg/deps/ilcompiler/framework/System.Threading.Tasks.dll
-r:/dotorg/deps/ilcompiler/framework/System.Threading.Tasks.Extensions.dll
-r:/dotorg/deps/ilcompiler/framework/System.Threading.Tasks.Parallel.dll
-r:/dotorg/deps/ilcompiler/framework/System.Threading.Thread.dll
-r:/dotorg/deps/ilcompiler/framework/System.Threading.ThreadPool.dll
-r:/dotorg/deps/ilcompiler/framework/System.Threading.Timer.dll
-r:/dotorg/deps/ilcompiler/framework/System.Transactions.dll
-r:/dotorg/deps/ilcompiler/framework/System.Transactions.Local.dll
-r:/dotorg/deps/ilcompiler/framework/System.ValueTuple.dll
-r:/dotorg/deps/ilcompiler/framework/System.Web.dll
-r:/dotorg/deps/ilcompiler/framework/System.Web.HttpUtility.dll
-r:/dotorg/deps/ilcompiler/framework/System.Windows.dll
-r:/dotorg/deps/ilcompiler/framework/System.Xml.dll
-r:/dotorg/deps/ilcompiler/framework/System.Xml.Linq.dll
-r:/dotorg/deps/ilcompiler/framework/System.Xml.ReaderWriter.dll
-r:/dotorg/deps/ilcompiler/framework/System.Xml.Serialization.dll
-r:/dotorg/deps/ilcompiler/framework/System.Xml.XDocument.dll
-r:/dotorg/deps/ilcompiler/framework/System.Xml.XmlDocument.dll
-r:/dotorg/deps/ilcompiler/framework/System.Xml.XmlSerializer.dll
-r:/dotorg/deps/ilcompiler/framework/System.Xml.XPath.dll
-r:/dotorg/deps/ilcompiler/framework/System.Xml.XPath.XDocument.dll
-r:/dotorg/deps/ilcompiler/framework/WindowsBase.dll
-r:/dotorg/deps/ilcompiler/sdk/System.Private.CoreLib.dll
-r:/dotorg/deps/ilcompiler/sdk/System.Private.DisabledReflection.dll
-r:/dotorg/deps/ilcompiler/sdk/System.Private.Reflection.Execution.dll
-r:/dotorg/deps/ilcompiler/sdk/System.Private.StackTraceMetadata.dll
-r:/dotorg/deps/ilcompiler/sdk/System.Private.TypeLoader.dll
--targetarch:x64
-g
--initassembly:System.Private.CoreLib
--initassembly:System.Private.StackTraceMetadata
--initassembly:System.Private.TypeLoader
--initassembly:System.Private.Reflection.Execution
--appcontextswitch:Microsoft.Extensions.DependencyInjection.VerifyOpenGenericServiceTrimmability=true
--appcontextswitch:System.ComponentModel.TypeConverter.EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization=false
--appcontextswitch:System.Diagnostics.Tracing.EventSource.IsSupported=false
--appcontextswitch:System.Resources.ResourceManager.AllowCustomResourceTypes=false
--appcontextswitch:System.Runtime.InteropServices.BuiltInComInterop.IsSupported=false
--appcontextswitch:System.Runtime.InteropServices.EnableConsumingManagedCodeFromNativeHosting=false
--appcontextswitch:System.Runtime.InteropServices.EnableCppCLIHostActivation=false
--appcontextswitch:System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization=false
--appcontextswitch:System.StartupHookProvider.IsSupported=false
--appcontextswitch:System.Threading.Thread.EnableAutoreleasePool=false
--appcontextswitch:System.Text.Encoding.EnableUnsafeUTF7Encoding=false
--appcontextswitch:RUNTIME_IDENTIFIER=linux-x64
--directpinvoke:libSystem.Native
--directpinvoke:libSystem.Globalization.Native
--directpinvoke:libSystem.IO.Compression.Native
--directpinvoke:libSystem.Net.Security.Native
--directpinvoke:libSystem.Security.Cryptography.Native.OpenSsl
--feature:Microsoft.Extensions.DependencyInjection.VerifyOpenGenericServiceTrimmability=true
--feature:System.ComponentModel.TypeConverter.EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization=false
--feature:System.Diagnostics.Tracing.EventSource.IsSupported=false
--feature:System.Resources.ResourceManager.AllowCustomResourceTypes=false
--feature:System.Runtime.InteropServices.BuiltInComInterop.IsSupported=false
--feature:System.Runtime.InteropServices.EnableConsumingManagedCodeFromNativeHosting=false
--feature:System.Runtime.InteropServices.EnableCppCLIHostActivation=false
--feature:System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization=false
--feature:System.StartupHookProvider.IsSupported=false
--feature:System.Threading.Thread.EnableAutoreleasePool=false
--feature:System.Text.Encoding.EnableUnsafeUTF7Encoding=false
--stacktracedata
--scanreflection
--nowarn:"1701;1702;IL2121;1701;1702"
--singlewarn
--root:obj/Debug/net7.0/linux-x64/Test.dll
--nosinglewarnassembly:Test
--resilient
--feature:System.Linq.Expressions.CanCompileToIL=false
--feature:System.Linq.Expressions.CanEmitObjectArrayDelegate=false
--feature:System.Linq.Expressions.CanCreateArbitraryDelegates=false
EOF
chmod +x /dotorg/deps/ilcompiler/tools/ilc
"/dotorg/deps/ilcompiler/tools/ilc" \
@"obj/Debug/net7.0/linux-x64/native/Test.ilc.rsp"
mkdir -p bin/Debug/net7.0/linux-x64/native
# Assemble objects into a native executable
"clang" \
"obj/Debug/net7.0/linux-x64/native/Test.o" \
-o "bin/Debug/net7.0/linux-x64/native/Test" \
/dotorg/deps/ilcompiler/sdk/libbootstrapper.a \
/dotorg/deps/ilcompiler/sdk/libRuntime.WorkstationGC.a \
/dotorg/deps/ilcompiler/framework/libSystem.Native.a \
/dotorg/deps/ilcompiler/framework/libSystem.Globalization.Native.a \
/dotorg/deps/ilcompiler/framework/libSystem.IO.Compression.Native.a \
/dotorg/deps/ilcompiler/framework/libSystem.Net.Security.Native.a \
/dotorg/deps/ilcompiler/framework/libSystem.Security.Cryptography.Native.OpenSsl.a \
-g \
-Wl,-rpath,'$ORIGIN' \
-Wl,--build-id=sha1 \
-Wl,--as-needed \
-pthread \
-lstdc++ \
-ldl \
-lm \
-lz \
-lrt \
-pie \
-Wl,-z,relro \
-Wl,-z,now \
-Wl,--discard-all \
-Wl,--gc-sections
# Cross yr fingers!
./bin/Debug/net7.0/linux-x64/native/Test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment