You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The task interface needs the ABI switch, and a task program runs with it (0.1.1) (#1)
* The task interface needs the ABI switch, and a task program runs with it (0.1.1)
The threads feature declares requires_abi = { threads = true } instead of putting -pthread on this package's own units: the switch belongs to the artefact, and mcpp 2026.9.12.2 carries it as [target.'cfg(os = "emscripten")'.abi] threads = true in the consumer's root manifest. The README section that recorded a missing whole-graph channel is corrected, and CI asserts no task symbol without the feature, a refusal naming the feature without the switch, and with it eight symbols and a task program exiting 0 under node.
* ci: test against mcpp 2026.9.12.2, the engine that carries the ABI table
Copy file name to clipboardExpand all lines: mcpp.toml
+19-24Lines changed: 19 additions & 24 deletions
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
[package]
2
2
namespace = "mcpplibs"
3
3
name = "openkal-emscripten"
4
-
version = "0.1.0"
4
+
version = "0.1.1"
5
5
description = "An implementation of openkal for Emscripten, written ABOVE a C library rather than beneath one, because on this platform there is no kernel to issue calls to."
6
6
license = "Apache-2.0"
7
7
@@ -59,29 +59,24 @@ default = []
59
59
# capability is not a property of the machine this runs on, and it is not
60
60
# discoverable at run time by anything this package can ask.
61
61
#
62
-
# Declaring it as a feature puts the decision where the rest of the link is
63
-
# decided, and `kal_task_props` reports the consequence: with this feature the
64
-
# word carries KAL_TASK_PROP_PARALLEL, and without it the interface is still
65
-
# provided and `kal_task_start` reports kal_err_not_supported -- which is
66
-
# clause 6.2's third time, a capability word read before use, rather than the
67
-
# shape the specification forbids.
62
+
# THE SWITCH IS THE ARTEFACT'S, SO THE ROOT MANIFEST STATES IT. `-pthread`
63
+
# changes the module configuration of every translation unit in the link, the
64
+
# specification package's included, so it cannot be a flag of this package's
65
+
# own units. mcpp 2026.9.12.2 carries it as a typed member of the root's target
66
+
# table,
68
67
#
69
-
# `-pthread` ON THIS PACKAGE'S OWN UNITS, AND NOT A DEFINE OF ITS OWN. Passing
70
-
# the switch is what makes Emscripten define `__EMSCRIPTEN_PTHREADS__`, so the
71
-
# code keys on that rather than on a name this manifest invented: one
72
-
# mechanism, and it is the compiler's own answer to "was this compiled with
73
-
# threads" instead of a second word that could disagree with it.
68
+
# [target.'cfg(os = "emscripten")'.abi]
69
+
# threads = true
74
70
#
75
-
#THE LINK HALF IS THE CONSUMER'S, AND THAT IS A LIMITATION WORTH NAMING. A
0 commit comments