Skip to content

Commit 1d8b89d

Browse files
committed
feat: declare the kernel-abi layer this package supplies
mcpp resolves the target side per layer after the dependency graph is known, and reads which layer a package fills from its capabilities. Declaring `mcpp:kernel-abi=openkal` states that this package implements the platform interface a C library sits on, and that it answers to the name `openkal`. The engine knows the three layer names and none of the implementations that fill them, so nothing about openkal appears in mcpp for this to work. Claude-Session: https://claude.ai/code/session_01Q4ucduLuSsETHYJ1RkGVVD
1 parent 8e84ee1 commit 1d8b89d

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

mcpp.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@ name = "openkal-linux"
44
version = "0.5.1"
55
description = "The reference implementation of openkal for Linux, written on the kernel's own system-call interface so that it can be placed beneath a C library as well as above one."
66
license = "Apache-2.0"
7+
8+
# The layer this package supplies, in the vocabulary the engine resolves.
9+
#
10+
# `mcpp:kernel-abi` names the platform interface a C library sits on. On a
11+
# traditional stack that seam is unnamed — a C library issues system calls or
12+
# calls the platform's own entry points directly — and naming it is what lets
13+
# one C library sit above several platforms. `=openkal` is the interface this
14+
# package answers to; several packages answer to it and the engine knows none
15+
# of them by name.
16+
provides = ["mcpp:kernel-abi=openkal"]
717
authors = ["mcpplibs"]
818
repo = "https://github.com/mcpplibs/openkal-linux"
919

0 commit comments

Comments
 (0)