diff --git a/Source/Engine/Scripting/ManagedCLR/MCore.Mono.cpp b/Source/Engine/Scripting/ManagedCLR/MCore.Mono.cpp index a8ad6e49f..97f336dc5 100644 --- a/Source/Engine/Scripting/ManagedCLR/MCore.Mono.cpp +++ b/Source/Engine/Scripting/ManagedCLR/MCore.Mono.cpp @@ -508,8 +508,9 @@ bool MCore::LoadEngine() Thread::ThreadExiting.Bind(); // Info - const String buildInfo(mono_get_runtime_build_info()); - LOG(Info, "Mono version: {0}", buildInfo); + char* buildInfo = mono_get_runtime_build_info(); + LOG(Info, "Mono version: {0}", String(buildInfo)); + mono_free(buildInfo); return false; } diff --git a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libassimp.so b/Source/Platforms/Linux/Binaries/ThirdParty/x64/libassimp.so deleted file mode 120000 index 9a02130ad..000000000 --- a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libassimp.so +++ /dev/null @@ -1 +0,0 @@ -libassimp.so.4.1.0 \ No newline at end of file diff --git a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libassimp.so.4 b/Source/Platforms/Linux/Binaries/ThirdParty/x64/libassimp.so.4 deleted file mode 120000 index 9a02130ad..000000000 --- a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libassimp.so.4 +++ /dev/null @@ -1 +0,0 @@ -libassimp.so.4.1.0 \ No newline at end of file diff --git a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libassimp.so.4.1.0 b/Source/Platforms/Linux/Binaries/ThirdParty/x64/libassimp.so.4.1.0 deleted file mode 100755 index 45891b71d..000000000 Binary files a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libassimp.so.4.1.0 and /dev/null differ diff --git a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libmonosgen-2.0.so b/Source/Platforms/Linux/Binaries/ThirdParty/x64/libmonosgen-2.0.so deleted file mode 120000 index eeb2a3c1c..000000000 --- a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libmonosgen-2.0.so +++ /dev/null @@ -1 +0,0 @@ -libmonosgen-2.0.so.1.0.0 \ No newline at end of file diff --git a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libmonosgen-2.0.so.1 b/Source/Platforms/Linux/Binaries/ThirdParty/x64/libmonosgen-2.0.so.1 deleted file mode 120000 index eeb2a3c1c..000000000 --- a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libmonosgen-2.0.so.1 +++ /dev/null @@ -1 +0,0 @@ -libmonosgen-2.0.so.1.0.0 \ No newline at end of file diff --git a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libmonosgen-2.0.so.1.0.0 b/Source/Platforms/Linux/Binaries/ThirdParty/x64/libmonosgen-2.0.so.1.0.0 deleted file mode 100755 index f6233b55d..000000000 Binary files a/Source/Platforms/Linux/Binaries/ThirdParty/x64/libmonosgen-2.0.so.1.0.0 and /dev/null differ diff --git a/Source/ThirdParty/assimp/assimp.Build.cs b/Source/ThirdParty/assimp/assimp.Build.cs index 4f5b1ea41..110007b7f 100644 --- a/Source/ThirdParty/assimp/assimp.Build.cs +++ b/Source/ThirdParty/assimp/assimp.Build.cs @@ -36,8 +36,6 @@ public class assimp : DepsModule break; case TargetPlatform.Linux: options.DependencyFiles.Add(Path.Combine(depsRoot, "libassimp.so")); - options.DependencyFiles.Add(Path.Combine(depsRoot, "libassimp.so.4")); - options.DependencyFiles.Add(Path.Combine(depsRoot, "libassimp.so.4.1.0")); options.Libraries.Add(Path.Combine(depsRoot, "libassimp.so")); break; default: throw new InvalidPlatformException(options.Platform.Target); diff --git a/Source/ThirdParty/mono-2.0/mono.Build.cs b/Source/ThirdParty/mono-2.0/mono.Build.cs index cbfefcf6b..cfd942240 100644 --- a/Source/ThirdParty/mono-2.0/mono.Build.cs +++ b/Source/ThirdParty/mono-2.0/mono.Build.cs @@ -73,8 +73,6 @@ public class mono : DepsModule case TargetPlatform.Linux: options.PublicDefinitions.Add("USE_MONO_DYNAMIC_LIB"); options.DependencyFiles.Add(Path.Combine(depsRoot, "libmonosgen-2.0.so")); - options.DependencyFiles.Add(Path.Combine(depsRoot, "libmonosgen-2.0.so.1")); - options.DependencyFiles.Add(Path.Combine(depsRoot, "libmonosgen-2.0.so.1.0.0")); options.Libraries.Add(Path.Combine(depsRoot, "libmonosgen-2.0.so")); break; case TargetPlatform.PS4: diff --git a/Source/Tools/Flax.Build/Build/EngineTarget.cs b/Source/Tools/Flax.Build/Build/EngineTarget.cs index 575d0cdc5..2dd00f9d2 100644 --- a/Source/Tools/Flax.Build/Build/EngineTarget.cs +++ b/Source/Tools/Flax.Build/Build/EngineTarget.cs @@ -99,6 +99,23 @@ namespace Flax.Build // Restore state from PreBuild Modules.Add("Main"); } + + // Mono on Linux is using dynamic linking and needs additional link files + if (buildOptions.Platform.Target == TargetPlatform.Linux) + { + var task = graph.Add(); + task.PrerequisiteFiles.Add(Path.Combine(buildOptions.OutputFolder, "libmonosgen-2.0.so")); + task.ProducedFiles.Add(Path.Combine(buildOptions.OutputFolder, "libmonosgen-2.0.so.1")); + task.WorkingDirectory = buildOptions.OutputFolder; + task.CommandPath = "ln"; + task.CommandArguments = "-s -f libmonosgen-2.0.so libmonosgen-2.0.so.1"; + task = graph.Add(); + task.PrerequisiteFiles.Add(Path.Combine(buildOptions.OutputFolder, "libmonosgen-2.0.so")); + task.ProducedFiles.Add(Path.Combine(buildOptions.OutputFolder, "libmonosgen-2.0.so.1.0.0")); + task.WorkingDirectory = buildOptions.OutputFolder; + task.CommandPath = "ln"; + task.CommandArguments = "-s -f libmonosgen-2.0.so libmonosgen-2.0.so.1.0.0"; + } } private void BuildMainExecutable(TaskGraph graph, BuildOptions buildOptions) diff --git a/Source/Tools/Flax.Build/Deps/Dependencies/Assimp.cs b/Source/Tools/Flax.Build/Deps/Dependencies/Assimp.cs index 5e8346fe3..abb8b47f0 100644 --- a/Source/Tools/Flax.Build/Deps/Dependencies/Assimp.cs +++ b/Source/Tools/Flax.Build/Deps/Dependencies/Assimp.cs @@ -76,9 +76,10 @@ namespace Flax.Deps.Dependencies RunCmake(root, TargetPlatform.Linux, TargetArchitecture.x64, " -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DASSIMP_NO_EXPORT=ON -DASSIMP_BUILD_ASSIMP_TOOLS=OFF -DASSIMP_BUILD_TESTS=OFF"); Utilities.Run("make", null, null, root, Utilities.RunOptions.None); var depsFolder = GetThirdPartyFolder(options, TargetPlatform.Linux, TargetArchitecture.x64); - var libName = "libassimp.so.4.1.0"; - Utilities.FileCopy(Path.Combine(root, "lib", libName), Path.Combine(depsFolder, libName)); - Utilities.Run("strip", libName, null, depsFolder, Utilities.RunOptions.None); + var srcName = "libassimp.so.4.1.0"; + var dstName = "libassimp.so"; + Utilities.FileCopy(Path.Combine(root, "lib", srcName), Path.Combine(depsFolder, dstName)); + Utilities.Run("strip", dstName, null, depsFolder, Utilities.RunOptions.None); break; } }