freedesktop.egl
importlibEGL — GLVND's vendor-neutral EGL dispatch, built from source, with a C++23 module
import khronos.egl;
Module name read from the upstream `export module` declaration in src/egl.cppm.
mcpp add freedesktop.egl@1.7.0
Usage
From this repository's own test project — built and run by CI, not written for the website.
// freedesktop.egl — behavioral test, runnable with no GPU and no display.
//
// Every FUNCTION and TYPE below comes from `import khronos.egl;`. <EGL/egl.h> is
// included for the EGL_* CONSTANTS only: they are macros, and no module can
// export a macro. So the file compiling is itself the first assertion — the
// module's export list has to cover everything used here — and the file
// linking is the second.
//
// ─────────────────────────────────────────────────────────────────────────
// EVERY ASSERTION HOLDS WITH ZERO VENDOR DRIVERS INSTALLED.
//
// libEGL is a DISPATCH: with no vendor it can answer questions about itself
// and nothing else. Upstream returns the empty string outright when the vendor
// list is empty (`libegl.c:928`), so an "it lists some EGL_EXT_ extension"
// check measures whether the MACHINE has a driver, not whether this package
// built libEGL. Vendor-dependent facts are reported below, or asserted only
// once their precondition is visibly met.
//
// ─────────────────────────────────────────────────────────────────────────
// THE PART THAT IS EASY TO GET FALSELY GREEN
//
// The ecosystem payload `xim:libglvnd` carries its own `libEGL.so.1` with the
// …
tests/examples/egl/tests/egl.cpp · project tests/examples/egl
Build · upstream manifest
- modules
khronos.egl- targets
EGL (shared), egl (lib)- language
c++23- manifest version
1.7.0- dependencies
freedesktop- source
https://raw.githubusercontent.com/mcpplibs/libglvnd/v1.7.0/mcpp/egl/mcpp.toml