diff options
author | Anna (navi) Figueiredo Gomes <navi@vlhl.dev> | 2024-01-11 17:13:02 +0100 |
---|---|---|
committer | Anna (navi) Figueiredo Gomes <navi@vlhl.dev> | 2024-01-11 17:29:37 +0100 |
commit | ad0123d2368973927f536061b416cb7571aced63 (patch) | |
tree | 0ba170f056c91e03e1eed9ec9240da8cc8d97bae | |
parent | 0ee22520f50b4f006a554c79dd0e5f1d5d780d4d (diff) |
add options to meson (and use fs module for linker script)
Signed-off-by: Anna (navi) Figueiredo Gomes <navi@vlhl.dev>
-rw-r--r-- | meson.build | 30 | ||||
-rw-r--r-- | meson.options | 2 |
2 files changed, 25 insertions, 7 deletions
diff --git a/meson.build b/meson.build index 76539ce..8f56ec0 100644 --- a/meson.build +++ b/meson.build @@ -10,24 +10,29 @@ if not meson.is_cross_build() error('must be invoked with "meson setup --cross-file=toolchain.txt"') endif +fs = import('fs') +linker_script = fs.copyfile('util/linker.ld') + files = [ 'src/asm/boot.asm', 'src/asm/long.asm', 'src/nrvn.c', - 'src/vga.c', + 'src/acpi.c', 'src/idt.c', 'src/mem.c', - 'src/acpi.c', - 'src/ps2.c', + 'src/memory.c', + 'src/pci.c', 'src/pic.c', - 'src/memory.c' + 'src/ps2.c', + 'src/vga.c', + linker_script ] ld_args = [ '-ffreestanding', '-nostdlib', '-T', - join_paths(meson.current_source_dir(), 'util', 'linker.ld') + linker_script.full_path() ] kernel = executable('nrvn', files, @@ -38,8 +43,19 @@ kernel = executable('nrvn', files, iso = custom_target('iso', - input: [import('fs').copyfile('util/grub.cfg'), kernel], + input: [fs.copyfile('util/grub.cfg'), kernel], output: 'nrvn.iso', command: ['util/build_iso.sh', '@PRIVATE_DIR@', '@INPUT@', '@OUTPUT@']) -run_target('run', command: [find_program('qemu'), '-cdrom', iso, '-m', '2G']) +qemu_args = [ + '-cdrom', iso, + '-m', get_option('ram'), +] + +qemu_kvm = [] +if get_option('kvm') + qemu_kvm += '-enable-kvm' +endif + +run_target('run', command: [find_program('qemu'), qemu_args, qemu_kvm]) +run_target('run-gdb', command: [find_program('qemu'), qemu_args, '-s', '-S']) diff --git a/meson.options b/meson.options new file mode 100644 index 0000000..9d3e751 --- /dev/null +++ b/meson.options @@ -0,0 +1,2 @@ +option('ram', type: 'string', value: '512M', description: 'how much ram to give qemu') +option('kvm', type: 'boolean', value: 'true', description: 'run qemu with -enable-kvm') |