meta: replace cmake mono-build system with a custom build co-ordinator
every system component now has its own self-contained build system, and a seed file describing the component and its build system and dependencies. a new tool, meadow, collects and uses these seed files to build the components into a full system. meadow also manages the target system root and a host prefix where toolchain tools are installed to. the build system has also been updated to use a new $ARCH-rosetta-gcc compiler, and the patches files necessary to build it have been added to toolchain/cross-compiler.
This commit is contained in:
@@ -1,17 +1,9 @@
|
||||
rosetta_add_misc_service(
|
||||
NAME bshell-test
|
||||
CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/bshell-test.service)
|
||||
cmake_minimum_required(VERSION 3.31)
|
||||
project(bshell-test)
|
||||
|
||||
rosetta_service_add_file(
|
||||
NAME bshell-test
|
||||
SRC_FILE ${CMAKE_CURRENT_SOURCE_DIR}/test.bshell
|
||||
DEST_DIR /sbin)
|
||||
|
||||
sysroot_add_service(
|
||||
NAME bshell-test
|
||||
BIN_DIR /usr/bin
|
||||
SVC_DIR /etc/herdd/services)
|
||||
bsp_add_service(
|
||||
NAME bshell-test
|
||||
BIN_DIR /usr/bin
|
||||
SVC_DIR /etc/herdd/services)
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_SOURCE_DIR}/bshell-test.service
|
||||
DESTINATION etc/herdd/services)
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_SOURCE_DIR}/test.bshell
|
||||
DESTINATION sbin)
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
[seed]
|
||||
name = 'bshell-test'
|
||||
|
||||
[build]
|
||||
build_system = 'cmake'
|
||||
|
||||
[install]
|
||||
prefix = "/"
|
||||
'/etc/herdd/services' = [ 'bshell-test.service' ]
|
||||
'/sbin' = [ 'test.bshell' ]
|
||||
|
||||
# vim: ft=toml
|
||||
@@ -1,15 +1,7 @@
|
||||
file(GLOB sources *.c)
|
||||
rosetta_add_service(
|
||||
NAME devmd
|
||||
SOURCES ${sources}
|
||||
CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/devmd.service)
|
||||
target_link_libraries(devmd libc libc-runtime)
|
||||
cmake_minimum_required(VERSION 3.31)
|
||||
project(devmd C)
|
||||
|
||||
sysroot_add_service(
|
||||
NAME devmd
|
||||
BIN_DIR /usr/bin
|
||||
SVC_DIR /etc/herdd/services)
|
||||
bsp_add_service(
|
||||
NAME devmd
|
||||
BIN_DIR /usr/bin
|
||||
SVC_DIR /etc/herdd/services)
|
||||
file(GLOB sources *.c)
|
||||
add_executable(devmd ${sources})
|
||||
target_link_libraries(devmd c -l:crt0.o)
|
||||
install(TARGETS devmd)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
[seed]
|
||||
name = 'devmd'
|
||||
|
||||
[build]
|
||||
build_system = 'cmake'
|
||||
|
||||
[install]
|
||||
"/etc/herdd/services" = [ 'src:devmd.service' ]
|
||||
|
||||
# vim: ft=toml
|
||||
@@ -1,13 +1,11 @@
|
||||
cmake_minimum_required(VERSION 3.31)
|
||||
project(herdd C)
|
||||
|
||||
file(GLOB sources *.c)
|
||||
add_executable(herdd ${sources})
|
||||
target_link_libraries(herdd
|
||||
libc libc-runtime
|
||||
libmagenta libpthread liblaunch librosetta
|
||||
c -l:crt0.o
|
||||
magenta pthread launch rosetta
|
||||
fx.runtime fx.collections fx.serial)
|
||||
|
||||
sysroot_add_program(
|
||||
NAME herdd
|
||||
BIN_DIR /usr/bin)
|
||||
bsp_add_program(
|
||||
NAME herdd
|
||||
BIN_DIR /usr/bin)
|
||||
install(TARGETS herdd)
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
[seed]
|
||||
name = 'herdd'
|
||||
|
||||
[dependency]
|
||||
seeds = [
|
||||
'liblaunch',
|
||||
'librosetta',
|
||||
'libfx'
|
||||
]
|
||||
|
||||
[build]
|
||||
build_system = 'cmake'
|
||||
watch_files = [ 'src:*.c', 'src:*.h' ]
|
||||
|
||||
# vim: ft=toml
|
||||
@@ -1,15 +1,7 @@
|
||||
file(GLOB sources *.c)
|
||||
rosetta_add_service(
|
||||
NAME nsd
|
||||
SOURCES ${sources}
|
||||
CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/nsd.service)
|
||||
target_link_libraries(nsd libc libc-runtime)
|
||||
cmake_minimum_required(VERSION 3.31)
|
||||
project(nsd C)
|
||||
|
||||
sysroot_add_service(
|
||||
NAME nsd
|
||||
BIN_DIR /usr/bin
|
||||
SVC_DIR /etc/herdd/services)
|
||||
bsp_add_service(
|
||||
NAME nsd
|
||||
BIN_DIR /usr/bin
|
||||
SVC_DIR /etc/herdd/services)
|
||||
file(GLOB sources *.c)
|
||||
add_executable(nsd ${sources})
|
||||
target_link_libraries(nsd c -l:crt0.o)
|
||||
install(TARGETS nsd)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
[seed]
|
||||
name = 'nsd'
|
||||
|
||||
[build]
|
||||
build_system = 'cmake'
|
||||
|
||||
[install]
|
||||
"/etc/herdd/services" = [ 'src:nsd.service' ]
|
||||
|
||||
# vim: ft=toml
|
||||
@@ -0,0 +1,15 @@
|
||||
[seed]
|
||||
name = 'herdd-targets'
|
||||
|
||||
[dependency]
|
||||
no_standard_dependencies = true
|
||||
|
||||
[build]
|
||||
build_system = 'source-only'
|
||||
build_for = 'target'
|
||||
watch_files = [ 'src:*.target' ]
|
||||
|
||||
[install]
|
||||
"/etc/herdd/targets" = [ 'src:*.target' ]
|
||||
|
||||
# vim: ft=toml
|
||||
Reference in New Issue
Block a user