Beispiel #1
0
        private bool ShouldUseIl2CppCore()
        {
            bool shouldUse = false;

            if (Application.platform == RuntimePlatform.OSXEditor)
            {
                // On OSX 10.8 (and mabybe older versions, not sure) running .NET Core will result in the following error :
                //          dyld: lazy symbol binding failed: Symbol not found: __sincos_stret
                //
                // I'm not sure exactly what the issue is, but based on some google searching it's an issue not unique to .NET Core
                // and it does not happen in 10.9 and later.
                //
                // Some of our graphics tests run on OSX 10.8 and some users may have 10.8, in order to keep 10.8 working
                // we will fallback to running il2cpp on mono.
                // And as a precaution, let's use il2cpp on mono for anything older than 10.8 as well
                if (SystemInfo.operatingSystem.StartsWith("Mac OS X 10."))
                {
                    var versionText = SystemInfo.operatingSystem.Substring(9);
                    var version     = new Version(versionText);

                    if (version >= new Version(10, 9))
                    {
                        shouldUse = true;
                    }
                }
                else
                {
                    shouldUse = true;
                }
            }

            return(shouldUse && NetCoreProgram.IsNetCoreAvailable());
        }
        internal static void RunNetCoreProgram(string exe, string args, string workingDirectory, CompilerOutputParserBase parser, Action <ProcessStartInfo> setupStartInfo)
        {
            Program p;

            if (Path.GetExtension(exe).Equals(".dll", StringComparison.OrdinalIgnoreCase))
            {
                p = new NetCoreProgram(exe, args, setupStartInfo);
            }
            else
            {
                var startInfo = new ProcessStartInfo()
                {
                    Arguments      = args,
                    CreateNoWindow = true,
                    FileName       = exe
                };

                if (setupStartInfo != null)
                {
                    setupStartInfo(startInfo);
                }

                p = new Program(startInfo);
            }

            RunProgram(p, exe, args, workingDirectory, parser);
        }
Beispiel #3
0
        private bool ShouldUseIl2CppCore()
        {
            if (!m_PlatformProvider.supportsUsingIl2cppCore)
            {
                return(false);
            }

            var disableIl2CppCoreEnv = System.Environment.GetEnvironmentVariable("UNITY_IL2CPP_DISABLE_NET_CORE");

            if (disableIl2CppCoreEnv == "1")
            {
                return(false);
            }

            var disableIl2CppCoreDiag = (bool)(Debug.GetDiagnosticSwitch("VMIl2CppDisableNetCore") ?? false);

            if (disableIl2CppCoreDiag)
            {
                return(false);
            }

            bool shouldUse = false;

            if (Application.platform == RuntimePlatform.OSXEditor)
            {
                // On OSX 10.8 (and mabybe older versions, not sure) running .NET Core will result in the following error :
                //          dyld: lazy symbol binding failed: Symbol not found: __sincos_stret
                //
                // I'm not sure exactly what the issue is, but based on some google searching it's an issue not unique to .NET Core
                // and it does not happen in 10.9 and later.
                //
                // Some of our graphics tests run on OSX 10.8 and some users may have 10.8, in order to keep 10.8 working
                // we will fallback to running il2cpp on mono.
                // And as a precaution, let's use il2cpp on mono for anything older than 10.8 as well
                if (SystemInfo.operatingSystem.StartsWith("Mac OS X 10."))
                {
                    var versionText = SystemInfo.operatingSystem.Substring(9);
                    var version     = new Version(versionText);

                    if (version >= new Version(10, 9))
                    {
                        shouldUse = true;
                    }
                }
                else
                {
                    shouldUse = true;
                }
            }

            return(shouldUse && NetCoreProgram.IsNetCoreAvailable());
        }
        private bool ShouldUseIl2CppCore()
        {
            if (!m_PlatformProvider.supportsUsingIl2cppCore)
            {
                return(false);
            }

            var disableIl2CppCoreEnv = System.Environment.GetEnvironmentVariable("UNITY_IL2CPP_DISABLE_NET_CORE");

            if (disableIl2CppCoreEnv == "1")
            {
                return(false);
            }

            var disableIl2CppCoreDiag = (bool)(Debug.GetDiagnosticSwitch("VMIl2CppDisableNetCore") ?? false);

            if (disableIl2CppCoreDiag)
            {
                return(false);
            }

            bool shouldUse = false;

            if (Application.platform == RuntimePlatform.OSXEditor)
            {
                // .Net Core 2.1 is only supported on MacOSX versions 10.12 and later
                if (SystemInfo.operatingSystem.StartsWith("Mac OS X 10."))
                {
                    var versionText = SystemInfo.operatingSystem.Substring(9);
                    var version     = new Version(versionText);

                    if (version >= new Version(10, 12))
                    {
                        shouldUse = true;
                    }
                }
                else
                {
                    shouldUse = true;
                }
            }

            return(shouldUse && NetCoreProgram.IsNetCoreAvailable());
        }
        private bool ShouldUseIl2CppCore()
        {
            bool flag = false;

            if (Application.platform == RuntimePlatform.OSXEditor)
            {
                if (SystemInfo.operatingSystem.StartsWith("Mac OS X 10."))
                {
                    string version = SystemInfo.operatingSystem.Substring(9);
                    if (new Version(version) >= new Version(10, 9))
                    {
                        flag = true;
                    }
                }
                else
                {
                    flag = true;
                }
            }
            return(flag && NetCoreProgram.IsNetCoreAvailable());
        }
        internal static void RunNetCoreProgram(string exe, string args, string workingDirectory, CompilerOutputParserBase parser, Action <ProcessStartInfo> setupStartInfo)
        {
            var p = new NetCoreProgram(exe, args, setupStartInfo);

            RunProgram(p, exe, args, workingDirectory, parser);
        }