[build] Add build knowledge of dynamic libraries

Bonnibel will now build dynamic libraries when they're dependencies for
non-statically linked modules. It will also copy those shared libraries
into the initrd image for programs being copied into the image.
This commit is contained in:
Justin C. Miller
2023-08-26 19:06:18 -07:00
parent c4bb60299e
commit eda816ad90
15 changed files with 122 additions and 62 deletions

View File

@@ -154,8 +154,8 @@ class Project:
for program in manifest.drivers:
add_initrd_stripped("jsix/drivers", program)
for program in manifest.tools:
add_initrd_stripped("jsix/tools", program)
for program in manifest.libs:
add_initrd_stripped("jsix/lib", program)
syms = manifest.add_data("symbol_table.dat",
"Symbol table", ("symbols",))
@@ -166,7 +166,7 @@ class Project:
build.build(
rule = "makest",
outputs = [syms_out],
inputs = [f"${{build_root}}/kernel/{modules['kernel'].output}"],
inputs = [f"${{build_root}}/kernel/{modules['kernel'].get_output(static=True)}"],
)
fatroot_content.append(syms_out)
manifest.symbols = syms_file