mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-21 06:33:31 +00:00
5ae0dab6c5
This patch removes the implicit build of all shared libraries a target depends on. Targets only depend on the respective ABIs instead. This alleviates the need to locally build complex shared libraries (think of Qt) when developing applications. Instead, application developers can use binary depot archives. The implementation splits the mk/lib.mk file into three files: - mk/a.mk for building one static library (.lib.a) - mk/so.mk for building one shared object (.lib.so) - mk/abi.mk for building one ABI stub (.abi.so) Furthermore, the commit moves messages and the collection of build artifacts to var/libdeps, triggers the build of kernel-specific ld-<kernel>.lib.so, and prunes the lib-dependency tree at ABIs. Fixes #5061 |
||
---|---|---|
.. | ||
board | ||
etc | ||
include | ||
lib | ||
mk | ||
ports | ||
recipes | ||
run | ||
src | ||
xsd | ||
README |
This is the generic Genode base system, which consists of two parts: :_Core_: is the root of the Genode component tree. It provides abstractions for the lowest-level hardware resources such as RAM, ROM, CPU, and device access. All generic parts of core can be found here. For kernel-specific parts, refer to the appropriate 'base-<kernel>' directory. :_Base libraries and interfaces: that are used by each Genode component to interact with other components. This is the glue that holds everything together. Depending on the used kernel, core may export information about the hardware platform as a ROM called 'platform_info'. For example, if the ACPI RSDT and XSDT physical pointer are reported by the used kernel and/or bootloader, core provides this information in the ROM as follows. !<platform_info> ! <acpi revision="2" rsdt="0x1fe93074" xsdt="0x1fe930e8"/> ! <boot> ! <framebuffer phys="0x7300000" width="1024" height="768" bpp="32"/> ! </boot> !</platform_info> If the graphics device is initialised and can be directly used by a framebuffer driver, core provides the physical pointer to the framebuffer, the resolution, and color depth in bits.