Moved build options to more sensible locations.

This commit is contained in:
neviyn 2018-04-26 04:10:03 +01:00
parent 2e65e20090
commit ba5d239073
3 changed files with 20 additions and 5 deletions

View File

@ -1,7 +1,8 @@
{.link: "boot.o".}
{.passL: "-T kernel/arch/i386/linker.ld".}
{.passL: "-ffreestanding -target i386 -nostdlib -T kernel/arch/i386/linker.ld".}
{.passC: "-ffreestanding -nostdlib --target=i386-pc-none-elf -march=i386".}
import tty, gdt, irq, serial
import tty, gdt, serial
type
MemoryPointer{.unchecked.} = ptr array[0, char]

12
kernel/nim.cfg Normal file
View File

@ -0,0 +1,12 @@
cc=clang
path="$lib/core"
path="$lib/pure"
path="$lib/pure/collections"
path="arch/i386"
deadCodeElim=on
boundChecks=on
gc=regions
cpu=i386
os=standalone

View File

@ -2,7 +2,7 @@ import nake
import os
const
standardOptions = """--skipCfg --forceBuild --cc:clang --deadCodeElim:on --gc:regions --boundChecks:on --path:"kernel/arch/i386" --cpu:i386 --os:standalone --passC:"-ffreestanding -nostdlib --target=i386-pc-none-elf -march=i386" --passL:"-ffreestanding -target i386 -nostdlib" kernel/kernel.nim"""
standardOptions = """--skipCfg kernel.nim"""
outputFile = "myos.bin"
task "clean", "Removes build files.":
@ -21,7 +21,8 @@ task "build", "Builds the operating system.":
runTask("clean")
runTask("bootloader")
echo "Compiling and linking."
direShell "nim cc -o:", outputFile, standardOptions
withDir("kernel"):
direShell "nim cc -o:", "../" & outputFile, standardOptions
runTask("checkMultiboot")
echo "Done."
@ -29,7 +30,8 @@ task "build-release", "Builds the operating system, release mode.":
runTask("clean")
runTask("bootloader")
echo "Compiling and linking (release mode)."
direShell "nim cc --skipCfg -d:release -o:", outputFile, standardOptions
withDir("kernel"):
direShell "nim cc -d:release -o:", "../" & outputFile, standardOptions
runTask("checkMultiboot")
echo "Done."