v10.0.4
crazytuzi 4 months ago
parent c5fdb5375a
commit f67a3e54f0
  1. 270
      CoreCLR.Build.cs
  2. 14
      lib/Debug/Linux_x86_64/CoreCLR.runtimeconfig.json
  3. BIN
      lib/Debug/Linux_x86_64/libSystem.Globalization.Native.so
  4. BIN
      lib/Debug/Linux_x86_64/libSystem.IO.Compression.Native.so
  5. BIN
      lib/Debug/Linux_x86_64/libSystem.Native.so
  6. BIN
      lib/Debug/Linux_x86_64/libSystem.Net.Security.Native.so
  7. BIN
      lib/Debug/Linux_x86_64/libSystem.Security.Cryptography.Native.OpenSsl.so
  8. BIN
      lib/Debug/Linux_x86_64/libclrgc.so
  9. BIN
      lib/Debug/Linux_x86_64/libclrgcexp.so
  10. BIN
      lib/Debug/Linux_x86_64/libclrinterpreter.so
  11. BIN
      lib/Debug/Linux_x86_64/libclrjit.so
  12. BIN
      lib/Debug/Linux_x86_64/libcoreclr.so
  13. BIN
      lib/Debug/Linux_x86_64/libcoreclrtraceptprovider.so
  14. BIN
      lib/Debug/Linux_x86_64/libhostfxr.so
  15. BIN
      lib/Debug/Linux_x86_64/libhostpolicy.so
  16. BIN
      lib/Debug/Linux_x86_64/libmscordaccore.so
  17. BIN
      lib/Debug/Linux_x86_64/libmscordbi.so
  18. BIN
      lib/Debug/Linux_x86_64/net/Microsoft.CSharp.dll
  19. 3017
      lib/Debug/Linux_x86_64/net/Microsoft.NETCore.App.deps.json
  20. 5
      lib/Debug/Linux_x86_64/net/Microsoft.NETCore.App.runtimeconfig.json
  21. BIN
      lib/Debug/Linux_x86_64/net/Microsoft.VisualBasic.Core.dll
  22. BIN
      lib/Debug/Linux_x86_64/net/Microsoft.VisualBasic.dll
  23. BIN
      lib/Debug/Linux_x86_64/net/Microsoft.Win32.Primitives.dll
  24. BIN
      lib/Debug/Linux_x86_64/net/Microsoft.Win32.Registry.dll
  25. BIN
      lib/Debug/Linux_x86_64/net/System.AppContext.dll
  26. BIN
      lib/Debug/Linux_x86_64/net/System.Buffers.dll
  27. BIN
      lib/Debug/Linux_x86_64/net/System.Collections.Concurrent.dll
  28. BIN
      lib/Debug/Linux_x86_64/net/System.Collections.Immutable.dll
  29. BIN
      lib/Debug/Linux_x86_64/net/System.Collections.NonGeneric.dll
  30. BIN
      lib/Debug/Linux_x86_64/net/System.Collections.Specialized.dll
  31. BIN
      lib/Debug/Linux_x86_64/net/System.Collections.dll
  32. BIN
      lib/Debug/Linux_x86_64/net/System.ComponentModel.Annotations.dll
  33. BIN
      lib/Debug/Linux_x86_64/net/System.ComponentModel.DataAnnotations.dll
  34. BIN
      lib/Debug/Linux_x86_64/net/System.ComponentModel.EventBasedAsync.dll
  35. BIN
      lib/Debug/Linux_x86_64/net/System.ComponentModel.Primitives.dll
  36. BIN
      lib/Debug/Linux_x86_64/net/System.ComponentModel.TypeConverter.dll
  37. BIN
      lib/Debug/Linux_x86_64/net/System.ComponentModel.dll
  38. BIN
      lib/Debug/Linux_x86_64/net/System.Configuration.dll
  39. BIN
      lib/Debug/Linux_x86_64/net/System.Console.dll
  40. BIN
      lib/Debug/Linux_x86_64/net/System.Core.dll
  41. BIN
      lib/Debug/Linux_x86_64/net/System.Data.Common.dll
  42. BIN
      lib/Debug/Linux_x86_64/net/System.Data.DataSetExtensions.dll
  43. BIN
      lib/Debug/Linux_x86_64/net/System.Data.dll
  44. BIN
      lib/Debug/Linux_x86_64/net/System.Diagnostics.Contracts.dll
  45. BIN
      lib/Debug/Linux_x86_64/net/System.Diagnostics.Debug.dll
  46. BIN
      lib/Debug/Linux_x86_64/net/System.Diagnostics.DiagnosticSource.dll
  47. BIN
      lib/Debug/Linux_x86_64/net/System.Diagnostics.FileVersionInfo.dll
  48. BIN
      lib/Debug/Linux_x86_64/net/System.Diagnostics.Process.dll
  49. BIN
      lib/Debug/Linux_x86_64/net/System.Diagnostics.StackTrace.dll
  50. BIN
      lib/Debug/Linux_x86_64/net/System.Diagnostics.TextWriterTraceListener.dll
  51. BIN
      lib/Debug/Linux_x86_64/net/System.Diagnostics.Tools.dll
  52. BIN
      lib/Debug/Linux_x86_64/net/System.Diagnostics.TraceSource.dll
  53. BIN
      lib/Debug/Linux_x86_64/net/System.Diagnostics.Tracing.dll
  54. BIN
      lib/Debug/Linux_x86_64/net/System.Drawing.Primitives.dll
  55. BIN
      lib/Debug/Linux_x86_64/net/System.Drawing.dll
  56. BIN
      lib/Debug/Linux_x86_64/net/System.Dynamic.Runtime.dll
  57. BIN
      lib/Debug/Linux_x86_64/net/System.Formats.Asn1.dll
  58. BIN
      lib/Debug/Linux_x86_64/net/System.Formats.Tar.dll
  59. BIN
      lib/Debug/Linux_x86_64/net/System.Globalization.Calendars.dll
  60. BIN
      lib/Debug/Linux_x86_64/net/System.Globalization.Extensions.dll
  61. BIN
      lib/Debug/Linux_x86_64/net/System.Globalization.dll
  62. BIN
      lib/Debug/Linux_x86_64/net/System.IO.Compression.Brotli.dll
  63. BIN
      lib/Debug/Linux_x86_64/net/System.IO.Compression.FileSystem.dll
  64. BIN
      lib/Debug/Linux_x86_64/net/System.IO.Compression.ZipFile.dll
  65. BIN
      lib/Debug/Linux_x86_64/net/System.IO.Compression.dll
  66. BIN
      lib/Debug/Linux_x86_64/net/System.IO.FileSystem.AccessControl.dll
  67. BIN
      lib/Debug/Linux_x86_64/net/System.IO.FileSystem.DriveInfo.dll
  68. BIN
      lib/Debug/Linux_x86_64/net/System.IO.FileSystem.Primitives.dll
  69. BIN
      lib/Debug/Linux_x86_64/net/System.IO.FileSystem.Watcher.dll
  70. BIN
      lib/Debug/Linux_x86_64/net/System.IO.FileSystem.dll
  71. BIN
      lib/Debug/Linux_x86_64/net/System.IO.IsolatedStorage.dll
  72. BIN
      lib/Debug/Linux_x86_64/net/System.IO.MemoryMappedFiles.dll
  73. BIN
      lib/Debug/Linux_x86_64/net/System.IO.Pipelines.dll
  74. BIN
      lib/Debug/Linux_x86_64/net/System.IO.Pipes.AccessControl.dll
  75. BIN
      lib/Debug/Linux_x86_64/net/System.IO.Pipes.dll
  76. BIN
      lib/Debug/Linux_x86_64/net/System.IO.UnmanagedMemoryStream.dll
  77. BIN
      lib/Debug/Linux_x86_64/net/System.IO.dll
  78. BIN
      lib/Debug/Linux_x86_64/net/System.Linq.AsyncEnumerable.dll
  79. BIN
      lib/Debug/Linux_x86_64/net/System.Linq.Expressions.dll
  80. BIN
      lib/Debug/Linux_x86_64/net/System.Linq.Parallel.dll
  81. BIN
      lib/Debug/Linux_x86_64/net/System.Linq.Queryable.dll
  82. BIN
      lib/Debug/Linux_x86_64/net/System.Linq.dll
  83. BIN
      lib/Debug/Linux_x86_64/net/System.Memory.dll
  84. BIN
      lib/Debug/Linux_x86_64/net/System.Net.Http.Json.dll
  85. BIN
      lib/Debug/Linux_x86_64/net/System.Net.Http.dll
  86. BIN
      lib/Debug/Linux_x86_64/net/System.Net.HttpListener.dll
  87. BIN
      lib/Debug/Linux_x86_64/net/System.Net.Mail.dll
  88. BIN
      lib/Debug/Linux_x86_64/net/System.Net.NameResolution.dll
  89. BIN
      lib/Debug/Linux_x86_64/net/System.Net.NetworkInformation.dll
  90. BIN
      lib/Debug/Linux_x86_64/net/System.Net.Ping.dll
  91. BIN
      lib/Debug/Linux_x86_64/net/System.Net.Primitives.dll
  92. BIN
      lib/Debug/Linux_x86_64/net/System.Net.Quic.dll
  93. BIN
      lib/Debug/Linux_x86_64/net/System.Net.Requests.dll
  94. BIN
      lib/Debug/Linux_x86_64/net/System.Net.Security.dll
  95. BIN
      lib/Debug/Linux_x86_64/net/System.Net.ServerSentEvents.dll
  96. BIN
      lib/Debug/Linux_x86_64/net/System.Net.ServicePoint.dll
  97. BIN
      lib/Debug/Linux_x86_64/net/System.Net.Sockets.dll
  98. BIN
      lib/Debug/Linux_x86_64/net/System.Net.WebClient.dll
  99. BIN
      lib/Debug/Linux_x86_64/net/System.Net.WebHeaderCollection.dll
  100. BIN
      lib/Debug/Linux_x86_64/net/System.Net.WebProxy.dll
  101. Some files were not shown because too many files have changed in this diff Show More

@ -0,0 +1,270 @@
using System;
using System.Collections.Generic;
using System.IO;
using EpicGames.Core;
using UnrealBuildTool;
public class CoreCLR : ModuleRules
{
public CoreCLR(ReadOnlyTargetRules Target) : base(Target)
{
Type = ModuleType.External;
const int MajorVersion = 10;
const int MinorVersion = 0;
const int PatchVersion = 4;
PublicDefinitions.AddRange(new string[]
{
$"DOTNET_MAJOR_VERSION={MajorVersion}",
$"DOTNET_MINOR_VERSION={MinorVersion}",
$"DOTNET_PATCH_VERSION={PatchVersion}"
});
var bUseRelease = true;
var bIsDebug = !bUseRelease &&
(Target.Configuration == UnrealTargetConfiguration.Debug ||
Target.Configuration == UnrealTargetConfiguration.DebugGame);
var CoreCLRConfiguration = bIsDebug ? "Debug" : "Release";
PublicDefinitions.Add($"CORECLR_CONFIGURATION=TEXT(\"{CoreCLRConfiguration}\")");
PublicIncludePaths.Add(Path.Combine(ModuleDirectory, "src"));
var LibraryPath = Path.Combine(ModuleDirectory, "lib", CoreCLRConfiguration);
var SharedPath = $"shared/Microsoft.NETCore.App/{MajorVersion}.{MinorVersion}.{PatchVersion}";
if (Target.Platform == UnrealTargetPlatform.Win64)
{
var PlatformLibraryPath = Path.Combine(LibraryPath, Target.Platform.ToString());
RuntimeDependencies.Add("$(BinaryOutputDir)/hostfxr.dll",
Path.Combine(PlatformLibraryPath, "hostfxr.dll"));
RuntimeDependencies.Add("$(BinaryOutputDir)/CoreCLR.runtimeconfig.json",
Path.Combine(PlatformLibraryPath, "CoreCLR.runtimeconfig.json"));
RuntimeDependencies.Add("$(BinaryOutputDir)/mscordaccore_amd64_amd64_42.42.42.42424.dll",
Path.Combine(PlatformLibraryPath, "mscordaccore_amd64_amd64_42.42.42.42424.dll"));
var SharedDirectory = $"$(BinaryOutputDir)/{SharedPath}";
var Files = GetFiles(Path.Combine(PlatformLibraryPath, "net"));
foreach (var File in Files)
{
RuntimeDependencies.Add($"{SharedDirectory}/{Path.GetFileName(File)}", File);
}
var DynamicLinkLibraries = new[]
{
"coreclr.dll",
"hostpolicy.dll",
"clrgc.dll",
"clrgcexp.dll",
"clrjit.dll",
"clretwrc.dll",
"mscordaccore.dll",
"mscordbi.dll",
"mscorrc.dll",
"Microsoft.DiaSymReader.Native.amd64.dll",
"System.IO.Compression.Native.dll",
"msquic.dll"
};
foreach (var DynamicLinkLibrary in DynamicLinkLibraries)
{
RuntimeDependencies.Add($"{SharedDirectory}/{DynamicLinkLibrary}",
Path.Combine(PlatformLibraryPath, DynamicLinkLibrary));
}
if (bIsDebug)
{
RuntimeDependencies.Add($"{SharedDirectory}/clrinterpreter.dll",
Path.Combine(PlatformLibraryPath, "clrinterpreter.dll"));
}
}
else if (Target.Platform == UnrealTargetPlatform.Linux || Target.Platform == UnrealTargetPlatform.LinuxArm64)
{
var PlatformLibraryPath = Path.Combine(LibraryPath,
Target.Platform == UnrealTargetPlatform.Linux ? "Linux_x86_64" : "Linux_aarch64");
RuntimeDependencies.Add("$(BinaryOutputDir)/libhostfxr.so",
Path.Combine(PlatformLibraryPath, "libhostfxr.so"));
RuntimeDependencies.Add("$(BinaryOutputDir)/CoreCLR.runtimeconfig.json",
Path.Combine(PlatformLibraryPath, "CoreCLR.runtimeconfig.json"));
var SharedDirectory = $"$(BinaryOutputDir)/{SharedPath}";
var Files = GetFiles(Path.Combine(PlatformLibraryPath, "net"));
foreach (var File in Files)
{
RuntimeDependencies.Add($"{SharedDirectory}/{Path.GetFileName(File)}", File);
}
var SharedObjects = new[]
{
"libcoreclr.so",
"libhostpolicy.so",
"libclrgc.so",
"libclrgcexp.so",
"libclrjit.so",
"libcoreclrtraceptprovider.so",
"libmscordaccore.so",
"libmscordbi.so",
"libSystem.Globalization.Native.so",
"libSystem.IO.Compression.Native.so",
"libSystem.Native.so",
"libSystem.Net.Security.Native.so",
"libSystem.Security.Cryptography.Native.OpenSsl.so"
};
foreach (var SharedObject in SharedObjects)
{
RuntimeDependencies.Add($"{SharedDirectory}/{SharedObject}",
Path.Combine(PlatformLibraryPath, SharedObject));
}
if (bIsDebug)
{
RuntimeDependencies.Add($"{SharedDirectory}/libclrinterpreter.so",
Path.Combine(PlatformLibraryPath, "libclrinterpreter.so"));
}
}
else if (Target.Platform == UnrealTargetPlatform.Mac)
{
var PlatformLibraryPath = Path.Combine(LibraryPath,
#if UE_5_2_OR_LATER
Target.Architecture.bIsX64
#else
Target.Architecture == "x86_64" || Target.Architecture == "x64"
#endif
? "macOS_x86_64"
: "macOS_arm64");
RuntimeDependencies.Add("$(BinaryOutputDir)/libhostfxr.dylib",
Path.Combine(PlatformLibraryPath, "libhostfxr.dylib"));
RuntimeDependencies.Add("$(BinaryOutputDir)/CoreCLR.runtimeconfig.json",
Path.Combine(PlatformLibraryPath, "CoreCLR.runtimeconfig.json"));
var SharedDirectory = $"$(BinaryOutputDir)/{SharedPath}";
var Files = GetFiles(Path.Combine(PlatformLibraryPath, "net"));
foreach (var File in Files)
{
RuntimeDependencies.Add($"{SharedDirectory}/{Path.GetFileName(File)}", File);
}
var DynamicLibraries = new[]
{
"libcoreclr.dylib",
"libhostpolicy.dylib",
"libclrgc.dylib",
"libclrgcexp.dylib",
"libclrjit.dylib",
"libmscordaccore.dylib",
"libmscordbi.dylib",
"libSystem.Globalization.Native.dylib",
"libSystem.IO.Compression.Native.dylib",
"libSystem.Native.dylib",
"libSystem.Net.Security.Native.dylib",
"libSystem.Security.Cryptography.Native.Apple.dylib"
};
foreach (var DynamicLibrary in DynamicLibraries)
{
RuntimeDependencies.Add($"{SharedDirectory}/{DynamicLibrary}",
Path.Combine(PlatformLibraryPath, DynamicLibrary));
}
if (bIsDebug)
{
RuntimeDependencies.Add($"{SharedDirectory}/libclrinterpreter.dylib",
Path.Combine(PlatformLibraryPath, "libclrinterpreter.dylib"));
}
}
if (!Target.bBuildEditor)
{
CopyInterop();
}
}
private void CopyInterop()
{
var PublishDirectory = GetPublishDirectory();
var InteropFilePath = Path.Combine(
Target.ProjectFile.Directory.FullName,
"Content", PublishDirectory, "Interop.dll");
if (File.Exists(InteropFilePath))
{
RuntimeDependencies.Add("$(BinaryOutputDir)/Interop.dll", InteropFilePath);
}
}
private string GetPublishDirectory()
{
var SettingFilePath = Path.Combine(Target.ProjectFile.Directory.FullName,
"Config", "DefaultUnrealCSharpSetting.ini");
if (File.Exists(SettingFilePath))
{
var SettingConfigFile = new ConfigFile(new FileReference(SettingFilePath));
if (SettingConfigFile.TryGetSection("/Script/UnrealCSharpCore.UnrealCSharpSetting", out var Section))
{
var HierarchySection = new ConfigHierarchySection(new List<ConfigFileSection> { Section });
if (HierarchySection.TryGetValue("PublishDirectory", out var Value))
{
const string Prefix = "Path=\"";
var Index = Value.IndexOf(Prefix, StringComparison.Ordinal);
if (Index >= 0)
{
Index += Prefix.Length;
var EndIndex = Value.IndexOf('"', Index);
if (EndIndex > Index)
{
return Value.Substring(Index, EndIndex - Index);
}
}
}
}
}
return "Script";
}
private static IEnumerable<string> GetFiles(string InDirectory, string InPattern = "*.*")
{
var Files = new List<string>();
foreach (var File in Directory.GetFiles(InDirectory, InPattern))
{
Files.Add(File);
}
foreach (var File in Directory.GetDirectories(InDirectory))
{
Files.AddRange(GetFiles(File, InPattern));
}
return Files;
}
}

@ -0,0 +1,14 @@
{
"runtimeOptions": {
"tfm": "net10.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "10.0.4"
},
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false,
"System.GC.Concurrent": true,
"System.GC.Server": false
}
}
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,5 @@
{
"runtimeOptions": {
"tfm": "net10.0"
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save