Beispiel #1
0
        public static NPath[] GetUtilsSourceFiles(NativeProgramConfiguration npc, NPath MonoSourceDir, bool managedDebuggingEnabled)
        {
            var files = new List <NPath>
            {
                MonoSourceDir.Combine("mono/utils/atomic.c"),
                MonoSourceDir.Combine("mono/utils/bsearch.c"),
                MonoSourceDir.Combine("mono/utils/dlmalloc.c"),
                MonoSourceDir.Combine("mono/utils/hazard-pointer.c"),
                MonoSourceDir.Combine("mono/utils/json.c"),
                MonoSourceDir.Combine("mono/utils/lock-free-alloc.c"),
                MonoSourceDir.Combine("mono/utils/lock-free-array-queue.c"),
                MonoSourceDir.Combine("mono/utils/lock-free-queue.c"),
                MonoSourceDir.Combine("mono/utils/memfuncs.c"),
                MonoSourceDir.Combine("mono/utils/mono-codeman.c"),
                MonoSourceDir.Combine("mono/utils/mono-conc-hashtable.c"),
                MonoSourceDir.Combine("mono/utils/mono-context.c"),
                MonoSourceDir.Combine("mono/utils/mono-counters.c"),
                MonoSourceDir.Combine("mono/utils/mono-dl.c"),
                MonoSourceDir.Combine("mono/utils/mono-error.c"),
                MonoSourceDir.Combine("mono/utils/mono-filemap.c"),
                MonoSourceDir.Combine("mono/utils/mono-hwcap.c"),
                MonoSourceDir.Combine("mono/utils/mono-internal-hash.c"),
                MonoSourceDir.Combine("mono/utils/mono-io-portability.c"),
                MonoSourceDir.Combine("mono/utils/mono-linked-list-set.c"),
                MonoSourceDir.Combine("mono/utils/mono-log-common.c"),
                MonoSourceDir.Combine("mono/utils/mono-logger.c"),
                MonoSourceDir.Combine("mono/utils/mono-math.c"),
                MonoSourceDir.Combine("mono/utils/mono-md5.c"),
                MonoSourceDir.Combine("mono/utils/mono-mmap-windows.c"),
                MonoSourceDir.Combine("mono/utils/mono-mmap.c"),
                MonoSourceDir.Combine("mono/utils/mono-networkinterfaces.c"),
                MonoSourceDir.Combine("mono/utils/mono-os-mutex.c"),
                MonoSourceDir.Combine("mono/utils/mono-path.c"),
                MonoSourceDir.Combine("mono/utils/mono-poll.c"),
                MonoSourceDir.Combine("mono/utils/mono-proclib-windows.c"),
                MonoSourceDir.Combine("mono/utils/mono-proclib.c"),
                MonoSourceDir.Combine("mono/utils/mono-property-hash.c"),
                MonoSourceDir.Combine("mono/utils/mono-publib.c"),
                MonoSourceDir.Combine("mono/utils/mono-sha1.c"),
                MonoSourceDir.Combine("mono/utils/mono-stdlib.c"),
                MonoSourceDir.Combine("mono/utils/mono-threads-coop.c"),
                MonoSourceDir.Combine("mono/utils/mono-threads-state-machine.c"),
                MonoSourceDir.Combine("mono/utils/mono-threads.c"),
                MonoSourceDir.Combine("mono/utils/mono-tls.c"),
                MonoSourceDir.Combine("mono/utils/mono-uri.c"),
                MonoSourceDir.Combine("mono/utils/mono-value-hash.c"),
                MonoSourceDir.Combine("mono/utils/monobitset.c"),
                MonoSourceDir.Combine("mono/utils/networking-missing.c"),
                MonoSourceDir.Combine("mono/utils/networking.c"),
                MonoSourceDir.Combine("mono/utils/parse.c"),
                MonoSourceDir.Combine("mono/utils/strenc.c"),
                MonoSourceDir.Combine("mono/utils/unity-rand.c"),
                MonoSourceDir.Combine("mono/utils/unity-time.c")
            };

            if (npc.ToolChain.Architecture is EmscriptenArchitecture)
            {
                files.Add(MonoSourceDir.Combine("mono/utils/mono-hwcap-web.c"));
            }
            else if (npc.ToolChain.Architecture is x86Architecture || npc.ToolChain.Architecture is x64Architecture)
            {
                files.Add(MonoSourceDir.Combine("mono/utils/mono-hwcap-x86.c"));
            }

            if (npc.ToolChain.Architecture is ARMv7Architecture)
            {
                files.Add(MonoSourceDir.Combine("mono/utils/mono-hwcap-arm.c"));
            }

            if (npc.ToolChain.Architecture is Arm64Architecture)
            {
                files.Add(MonoSourceDir.Combine("mono/utils/mono-hwcap-arm64.c"));
            }

            if (managedDebuggingEnabled)
            {
                if (npc.ToolChain.Platform is WindowsPlatform)
                {
                    files.AddRange(WindowsDebuggerMonoSourceFileList.GetUtilsSourceFiles(npc, MonoSourceDir));
                }

                if (npc.ToolChain.Platform is UniversalWindowsPlatform)
                {
                    files.AddRange(WinRTDebuggerMonoSourceFileList.GetUtilsSourceFiles(npc, MonoSourceDir));
                }

                if (npc.ToolChain.Platform is AndroidPlatform)
                {
                    files.AddRange(AndroidDebuggerMonoSourceFileList.GetUtilsSourceFiles(npc, MonoSourceDir));
                }

                if (npc.ToolChain.Platform is IosPlatform)
                {
                    files.AddRange(iOSDebuggerMonoSourceFileList.GetUtilsSourceFiles(npc, MonoSourceDir));
                }

                if (npc.ToolChain.Platform is LinuxPlatform)
                {
                    files.AddRange(LinuxDebuggerMonoSourceFileList.GetUtilsSourceFiles(npc, MonoSourceDir));
                }

                if (npc.ToolChain.Platform is MacOSXPlatform)
                {
                    files.AddRange(OSXDebuggerMonoSourceFileList.GetUtilsSourceFiles(npc, MonoSourceDir));
                }
            }
            else
            {
                if (npc.ToolChain.Platform is WindowsPlatform)
                {
                    files.AddRange(WindowsDesktopMonoSourceFileList.GetUtilsSourceFiles(npc, MonoSourceDir));
                }

                if (npc.ToolChain.Platform is WindowsGamesPlatform)
                {
                    files.AddRange(WindowsGamesMonoSourceFileList.GetUtilsSourceFiles(npc, MonoSourceDir));
                }

                if (npc.ToolChain.Platform is UniversalWindowsPlatform)
                {
                    files.AddRange(WinRTMonoSourceFileList.GetUtilsSourceFiles(npc, MonoSourceDir));
                }

                if (npc.ToolChain.Platform is AndroidPlatform)
                {
                    files.AddRange(AndroidMonoSourceFileList.GetUtilsSourceFiles(npc, MonoSourceDir));
                }

                if (npc.ToolChain.Platform is LinuxPlatform)
                {
                    files.AddRange(LinuxMonoSourceFileList.GetUtilsSourceFiles(npc, MonoSourceDir));
                }

                if (npc.ToolChain.Platform is MacOSXPlatform)
                {
                    files.AddRange(OSXMonoSourceFileList.GetUtilsSourceFiles(npc, MonoSourceDir));
                }
            }

            return(files.ToArray());
        }