Merge pull request #63 from Oichkatzelesfrettschen/eirikr/remove-netbsd-code-and-implement-meson-build-system
Introduce Meson build skeleton
This commit is contained in:
commit
5b50529f8e
10
meson.build
Normal file
10
meson.build
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
# Meson build configuration for the MINIX project
|
||||||
|
# The kernel sources are written in C11.
|
||||||
|
project(
|
||||||
|
'minix',
|
||||||
|
'c',
|
||||||
|
default_options: ['c_std=c11']
|
||||||
|
)
|
||||||
|
|
||||||
|
# Add the MINIX source directory to the build.
|
||||||
|
subdir('minix')
|
||||||
9
meson_options.txt
Normal file
9
meson_options.txt
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# Meson build options for MINIX
|
||||||
|
|
||||||
|
# Select the target architecture for the build.
|
||||||
|
option(
|
||||||
|
'arch',
|
||||||
|
type : 'string',
|
||||||
|
value : 'i386',
|
||||||
|
description : 'Target architecture'
|
||||||
|
)
|
||||||
122
minix/kernel/meson.build
Normal file
122
minix/kernel/meson.build
Normal file
|
|
@ -0,0 +1,122 @@
|
||||||
|
# Meson build file for the MINIX kernel
|
||||||
|
#
|
||||||
|
# The kernel is built as a static library. The sources are
|
||||||
|
# grouped into core, system call handlers, and architecture-
|
||||||
|
# specific files for the i386 port.
|
||||||
|
|
||||||
|
# Source files for the core kernel implementation
|
||||||
|
kernel_sources = files(
|
||||||
|
'clock.c',
|
||||||
|
'cpulocals.c',
|
||||||
|
'debug.c',
|
||||||
|
'interrupt.c',
|
||||||
|
'main.c',
|
||||||
|
'proc.c',
|
||||||
|
'profile.c',
|
||||||
|
'smp.c',
|
||||||
|
'system.c',
|
||||||
|
'table.c',
|
||||||
|
'usermapped_data.c',
|
||||||
|
'utility.c',
|
||||||
|
'watchdog.c'
|
||||||
|
)
|
||||||
|
|
||||||
|
# System call handler sources
|
||||||
|
system_sources = files(
|
||||||
|
'system/do_abort.c',
|
||||||
|
'system/do_clear.c',
|
||||||
|
'system/do_copy.c',
|
||||||
|
'system/do_devio.c',
|
||||||
|
'system/do_diagctl.c',
|
||||||
|
'system/do_endksig.c',
|
||||||
|
'system/do_exec.c',
|
||||||
|
'system/do_exit.c',
|
||||||
|
'system/do_fork.c',
|
||||||
|
'system/do_getinfo.c',
|
||||||
|
'system/do_getksig.c',
|
||||||
|
'system/do_irqctl.c',
|
||||||
|
'system/do_kill.c',
|
||||||
|
'system/do_mcontext.c',
|
||||||
|
'system/do_memset.c',
|
||||||
|
'system/do_privctl.c',
|
||||||
|
'system/do_runctl.c',
|
||||||
|
'system/do_safecopy.c',
|
||||||
|
'system/do_safememset.c',
|
||||||
|
'system/do_schedctl.c',
|
||||||
|
'system/do_schedule.c',
|
||||||
|
'system/do_setalarm.c',
|
||||||
|
'system/do_setgrant.c',
|
||||||
|
'system/do_settime.c',
|
||||||
|
'system/do_sigreturn.c',
|
||||||
|
'system/do_sigsend.c',
|
||||||
|
'system/do_sprofile.c',
|
||||||
|
'system/do_statectl.c',
|
||||||
|
'system/do_stime.c',
|
||||||
|
'system/do_times.c',
|
||||||
|
'system/do_trace.c',
|
||||||
|
'system/do_umap.c',
|
||||||
|
'system/do_umap_remote.c',
|
||||||
|
'system/do_update.c',
|
||||||
|
'system/do_vdevio.c',
|
||||||
|
'system/do_vmctl.c',
|
||||||
|
'system/do_vtimer.c',
|
||||||
|
'system/do_vumap.c',
|
||||||
|
)
|
||||||
|
|
||||||
|
# Architecture-specific sources for the i386 port
|
||||||
|
# Only the i386 architecture is currently supported by the Meson build.
|
||||||
|
arch_i386_sources = files(
|
||||||
|
'arch/i386/acpi.c',
|
||||||
|
'arch/i386/apic.c',
|
||||||
|
'arch/i386/apic_asm.S',
|
||||||
|
'arch/i386/arch_clock.c',
|
||||||
|
'arch/i386/arch_do_vmctl.c',
|
||||||
|
'arch/i386/arch_reset.c',
|
||||||
|
'arch/i386/arch_smp.c',
|
||||||
|
'arch/i386/arch_system.c',
|
||||||
|
'arch/i386/arch_watchdog.c',
|
||||||
|
'arch/i386/breakpoints.c',
|
||||||
|
'arch/i386/debugreg.S',
|
||||||
|
'arch/i386/direct_tty_utils.c',
|
||||||
|
'arch/i386/do_iopenable.c',
|
||||||
|
'arch/i386/do_readbios.c',
|
||||||
|
'arch/i386/do_sdevio.c',
|
||||||
|
'arch/i386/exception.c',
|
||||||
|
'arch/i386/head.S',
|
||||||
|
'arch/i386/i8259.c',
|
||||||
|
'arch/i386/io_inb.S',
|
||||||
|
'arch/i386/io_inl.S',
|
||||||
|
'arch/i386/io_intr.S',
|
||||||
|
'arch/i386/io_inw.S',
|
||||||
|
'arch/i386/io_outb.S',
|
||||||
|
'arch/i386/io_outl.S',
|
||||||
|
'arch/i386/io_outw.S',
|
||||||
|
'arch/i386/klib.S',
|
||||||
|
'arch/i386/memory.c',
|
||||||
|
'arch/i386/mpx.S',
|
||||||
|
'arch/i386/oxpcie.c',
|
||||||
|
'arch/i386/pg_utils.c',
|
||||||
|
'arch/i386/pre_init.c',
|
||||||
|
'arch/i386/protect.c',
|
||||||
|
'arch/i386/trampoline.S',
|
||||||
|
'arch/i386/usermapped_data_arch.c',
|
||||||
|
'arch/i386/usermapped_glo_ipc.S',
|
||||||
|
)
|
||||||
|
|
||||||
|
# Combine the different source groups into the final list
|
||||||
|
all_kernel_sources = kernel_sources + system_sources + arch_i386_sources
|
||||||
|
|
||||||
|
# Build the kernel as a static library.
|
||||||
|
static_library(
|
||||||
|
'minixkernel',
|
||||||
|
all_kernel_sources,
|
||||||
|
include_directories: include_directories(
|
||||||
|
'.',
|
||||||
|
'arch/i386',
|
||||||
|
'system',
|
||||||
|
'..',
|
||||||
|
'../include',
|
||||||
|
'arch/i386/include',
|
||||||
|
'../include/arch/i386/include'
|
||||||
|
)
|
||||||
|
)
|
||||||
5
minix/meson.build
Normal file
5
minix/meson.build
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Meson build file for MINIX core components
|
||||||
|
|
||||||
|
# The project currently only builds the kernel. Additional
|
||||||
|
# subdirectories can be added here when they gain Meson support.
|
||||||
|
subdir('kernel')
|
||||||
Loading…
Reference in New Issue
Block a user