using System.Diagnostics; namespace NubLang.CLI; public static class GCC { public static async Task Assemble(string asmPath, string outPath) { using var process = new Process(); process.StartInfo = new ProcessStartInfo("x86_64-elf-as", ["-nostartfiles", "-o", outPath, asmPath]) { UseShellExecute = false, RedirectStandardOutput = true, RedirectStandardError = true, CreateNoWindow = true }; process.Start(); await process.WaitForExitAsync(); var errors = await process.StandardError.ReadToEndAsync(); if (!string.IsNullOrWhiteSpace(errors)) { await Console.Error.WriteLineAsync("gcc error when assembling:\n" + errors); } return process.ExitCode == 0; } }