genode/repos/libports
Norman Feske c629c54153 Make util/geometry.h C++20 friendly
- Move header to base/include to make it applicable for base types
  like 'Affinity' down the road.
- Represent 'Rect' as typle of point and area, which is the most
  common form of initialization, creates in valid 'Rect' by default.
- Turn Point, Area, and Rect into compound types, making x, y, w, h, at,
  area accessible without a method call
- 'Rect::Compound' function for constructing a 'Rect' from two points,
  replacing a former constructor
- Use result type 'Rect::Cut_remainder' instead of out parameters.

Fixes #5239
2024-06-20 12:54:30 +02:00
..
doc libports: update doc/libc.txt 2023-05-30 12:03:33 +02:00
include Remove loader and qpluginwidget 2024-05-29 09:18:12 +02:00
lib mesa/libdrm: move fd's out of libc's range 2024-06-20 12:54:30 +02:00
ports mesa/libdrm: move fd's out of libc's range 2024-06-20 12:54:30 +02:00
recipes Rename src/drivers to src/driver 2024-06-20 12:54:30 +02:00
run Check nping permissions in nic_router_ipv4_fragm.run 2024-06-20 12:54:30 +02:00
src Make util/geometry.h C++20 friendly 2024-06-20 12:54:30 +02: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.