diff --git a/Rsconscript b/Rsconscript index 4956e65..053e118 100644 --- a/Rsconscript +++ b/Rsconscript @@ -49,21 +49,6 @@ fontgen_env = env "fontgen", use: "freetype" do |env| env.Program("^/fontgen", glob("src/fontgen/**/*.c")) end -hello_env = env "hello", use: %w[ldc2 x86_64-w64-mingw32-gcc] do |env| - env.add_builder(Image) - env["sources"] = glob("src/hello/**/*.d") - env["sources"] += glob("uefi-d/source/**/*.d") - env["DFLAGS"] += %w[-mtriple=x86_64-unknown-windows-coff --betterC -release -O3 --wi --enable-cross-module-inlining] - env["D_IMPORT_PATH"] += %w[src/hello src/hulk uefi-d/source src/common] - env["LD"] = "x86_64-w64-mingw32-gcc" - env["LDFLAGS"] += %w[-nostdlib -Wl,-dll -shared -Wl,--subsystem,10 -e efi_main -Wl,-Map,${_TARGET}.map] - env["LDCMD"] = %w[${LD} -o ${_TARGET} ${LDFLAGS} ${_SOURCES} ${LIBDIRPREFIX}${LIBPATH} ${LIBLINKPREFIX}${LIBS}] - env["OBJDUMP"] = "x86_64-w64-mingw32-objdump" - env.Program("^/BOOTX64.EFI", "${sources}") - env.Disassemble("^/BOOTX64.txt", "^/BOOTX64.EFI") - env.Image("^/hos.img", "^/BOOTX64.EFI") -end - hulk_env = env "hulk", use: %w[ldc2 x86_64-elf-gcc] do |env| env["sources"] = glob("src/hulk/**/*.d") env["DFLAGS"] += %w[-mtriple=x86_64-unknown-elf --betterC -release -O3 --wi --enable-cross-module-inlining] @@ -81,6 +66,21 @@ hulk_env = env "hulk", use: %w[ldc2 x86_64-elf-gcc] do |env| "CMD_DESC" => "Convert ELF to binary:") end +hello_env = env "hello", use: %w[ldc2 x86_64-w64-mingw32-gcc] do |env| + env.add_builder(Image) + env["sources"] = glob("src/hello/**/*.d") + env["sources"] += glob("uefi-d/source/**/*.d") + env["DFLAGS"] += %w[-mtriple=x86_64-unknown-windows-coff --betterC -release -O3 --wi --enable-cross-module-inlining] + env["D_IMPORT_PATH"] += %w[src/hello src/hulk uefi-d/source src/common] + env["LD"] = "x86_64-w64-mingw32-gcc" + env["LDFLAGS"] += %w[-nostdlib -Wl,-dll -shared -Wl,--subsystem,10 -e efi_main -Wl,-Map,${_TARGET}.map] + env["LDCMD"] = %w[${LD} -o ${_TARGET} ${LDFLAGS} ${_SOURCES} ${LIBDIRPREFIX}${LIBPATH} ${LIBLINKPREFIX}${LIBS}] + env["OBJDUMP"] = "x86_64-w64-mingw32-objdump" + env.Program("^/BOOTX64.EFI", "${sources}") + env.Disassemble("^/BOOTX64.txt", "^/BOOTX64.EFI") + env.Image("^/hos.img", "^/BOOTX64.EFI") +end + task "run", desc: "Run HOS in QEMU" do Dir.mktmpdir do |tmpdir| img = hello_env.expand("^/hos.img")