genode/repos/libports
Christian Helmuth a6b30d58df lib/format: parse precision and lalign
Prevent errors if precision and left alignment are part of the string.
String precision is applied to limit access to the configured number of
characters but ignored for other types.

Issue #5083
2024-02-26 08:31:03 +01:00
..
doc libports: update doc/libc.txt 2023-05-30 12:03:33 +02:00
include qemu-usb: minor documentation fixes 2023-12-01 11:17:22 +01:00
lib mk: create separate debug info files 2023-11-28 14:24:24 +01:00
ports libc: fix post-2100 infinite-loop on 32-bit 2023-12-13 12:33:05 +01:00
recipes depot: update recipe hashes 2023-12-13 12:33:05 +01:00
run Supplement the build of shared libs where needed 2023-11-28 14:44:29 +01:00
src lib/format: parse precision and lalign 2024-02-26 08:31:03 +01:00
README Update README files 2023-03-13 14:32:53 +01:00

This directory contains ports of 3rd-party libraries to Genode.


Usage
-----

The tool './tool/ports/prepare_port' in the toplevel directory automates the
task of downloading and preparing the 3rd-party source codes. One can select
individual ports that have to be prepared by specifying their base names
(without the version number) as command-line argument. For example, the
following command prepares both the C library and the Freetype library:
! ./tool/ports/prepare_port libc freetype

To compile and link against 3rd-party libraries of the 'libports' repository,
you have to include the repository into the build process by appending it to the
'REPOSITORIES' declaration of your '<build-dir>/etc/build.conf' file.


Under the hood
--------------

For each library, there is a file contained in the 'libports/ports/'
subdirectory. The file is named after the library and contains the
library-specific rules for downloading the source code and installing header
files.


How does 'libports' relate to the other repositories?
-----------------------------------------------------

Most libraries hosted in the 'libports' repository expect a complete C
library, which is provided via the 'libc' port. The libc, in turn, depends on
the 'os' repository for its back end.