mcpp index

freedesktop.wayland-protocols-staging

#include

wayland-protocols staging — the tier upstream expects to stabilise unchanged

#include <wayland-protocols/xdg-shell-enum.h>
mcpp add freedesktop.wayland-protocols-staging@1.49.1

Usage

From this repository's own test project — built and run by CI, not written for the website.

// wayland-protocols, as a compositor would consume it.
//
// The packages ship the marshalling code wayland-scanner generates from
// upstream's XML. Three things can be wrong and none is a missing symbol:
//
//   1. THE HEADERS ARE THE PUBLIC INTERFACE. A consumer writes
//      `#include <xdg-shell-client-protocol.h>`, so the generated directory
//      has to be EXPOSED rather than build-private. This file compiling is the
//      first assertion, and freedesktop.wayland had exactly this bug once —
//      masked locally by a header the SubOS happened to carry.
//
//   2. THE INTERFACE TABLES MUST LINK. A header-only package sails past
//      compilation; `xdg_wm_base_interface` is a `wl_interface` OBJECT in the
//      generated .c, so reading it proves the .c files were compiled.
//
//   3. TWO TIERS MUST COMPOSE. stable and staging are separate packages
//      precisely so they can be used together; that they do is what this
//      member is for. (stable + unstable is the pair that cannot — 13 shared
//      symbols — which is upstream's semantics rather than a defect.)
//
// Nothing here connects: no compositor and no display.

// …

tests/examples/wayland-protocols/tests/wayland-protocols.cpp · project tests/examples/wayland-protocols

Build · upstream manifest

targets
wayland_protocols_staging (lib)
language
c++23
manifest version
1.49.1
dependencies
freedesktop
source
https://raw.githubusercontent.com/mcpplibs/wayland-protocols/1.49.1/mcpp/staging/mcpp.toml

Versions

VersionPlatforms Mirrorssha256
1.49.1 latest Linux GLOBAL CN 52b219f5e307…
1.49 Linux GLOBAL CN 0f0f6039b989…