Build HELLO after HULK

This commit is contained in:
Josh Holtrop 2022-03-18 22:02:07 -04:00
parent cd6983e2cd
commit 18f1bfc88f

View File

@ -49,21 +49,6 @@ fontgen_env = env "fontgen", use: "freetype" do |env|
env.Program("^/fontgen", glob("src/fontgen/**/*.c")) env.Program("^/fontgen", glob("src/fontgen/**/*.c"))
end 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| hulk_env = env "hulk", use: %w[ldc2 x86_64-elf-gcc] do |env|
env["sources"] = glob("src/hulk/**/*.d") env["sources"] = glob("src/hulk/**/*.d")
env["DFLAGS"] += %w[-mtriple=x86_64-unknown-elf --betterC -release -O3 --wi --enable-cross-module-inlining] 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:") "CMD_DESC" => "Convert ELF to binary:")
end 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 task "run", desc: "Run HOS in QEMU" do
Dir.mktmpdir do |tmpdir| Dir.mktmpdir do |tmpdir|
img = hello_env.expand("^/hos.img") img = hello_env.expand("^/hos.img")