Commit graph

45 commits

Author SHA1 Message Date
Olivier Fourdan
c18d2bc228 xorgproto 2025.1
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Part-of: <https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/106>
2025-12-18 09:58:07 +01:00
Olivier Fourdan
6746971105 xorgproto 2024.1
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2024-03-25 15:07:16 +01:00
José Expósito
db56b508f2 meson: add header paths to declare_dependency
The `install_headers()` function is used to install the headers present
in `include/<subdirectory>`.

However, when `xorgproto` is used as a subproject, the headers are not
copied and the parent project is not able to find the headers included
in subdirectories.

For example, this error is generated when `xserver` is built with
`xorgproto` as a subproject:

    fatal error: xf86dri.h: No such file or directory
       41 | #include "xf86dri.h"
          |          ^~~~~~~~~~~

This is a known issue present in Meson:
https://github.com/mesonbuild/meson/issues/2546

To workaround the issue, add the required subdirectories to
`declare_dependency()`.

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2024-02-08 05:08:47 +00:00
Olivier Fourdan
7669673222 xorgproto 2023.2
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2023-06-16 09:17:19 +02:00
Olivier Fourdan
16ca6a5c59 xorgproto 2023.1
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2023-06-05 09:09:04 +02:00
Alan Coopersmith
cf35a91fe5 Only install PM_spec when legacy protocol support is enabled
PM_spec is the spec for the Proxy Management Protocol, and the other
files for that protocol are only installed if legacy protocols
are requested from configure or meson

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-03-16 13:24:51 -07:00
Alan Coopersmith
1b6e63b2c3 meson: replace deprecated source_root with new project_source_root
Fixes deprecation warning for meson 0.56.0 and later.
Raises minimum meson version to 0.56.0.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-01-10 16:21:15 -08:00
Alan Coopersmith
3fd47893c5 meson: replace join_paths with /
Sets minimum meson version to 0.50.0 due to use of:
 * 0.49.0: {'/ with string arguments'}
 * 0.50.0: {'install arg in configure_file'}

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-01-10 16:20:42 -08:00
Olivier Fourdan
824001c947 xorgproto 2022.2
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2022-08-09 16:53:29 +02:00
Peter Hutterer
ad6412624e Add the XWAYLAND extension
This extension exists to serve one purpose: reliably identifying
Xwayland. Previous attempts at doing so included querying root window
properties, output names or input device names. All these attempts are
somewhat unreliable. Instead, let's use an extension - where that
extension is present we have an Xwayland server.

Clients should never need to do anything but check whether the extension
exists through XQueryExtension/XListExtensions.

This extension provides a single QueryVersion request only, and
that is only to provide future compatibility if we ever need anything
other than "this extension exists" functionality.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
2022-08-05 09:51:54 +10:00
Peter Hutterer
8c8bbb9034 xorgproto 2022.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2022-04-21 10:42:50 +10:00
Povilas Kanapickas
57acac1d4c xorgproto 2021.5
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-09-15 18:55:35 +03:00
Povilas Kanapickas
9cd746bd0d xorgproto-2021.4.99.2
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-05-30 12:47:29 +03:00
Povilas Kanapickas
7a9b831c60 xorgproto-2021.4.99.1
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-05-15 20:12:54 +03:00
Peter Hutterer
eec0adee25 xorgproto 2021.4
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-04-30 09:34:12 +10:00
Peter Hutterer
34b8a46e64 gitlab CI: check that the autotools and meson versions are in sync
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-04-30 09:31:12 +10:00
Peter Hutterer
8f6a67d314 meson.build: install the protocol .txt files in doc
This now matches the autotools installation

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-03-10 09:41:59 +00:00
Peter Hutterer
a657dd0b45 meson.build: use built-in variable substitution handling instead of sed
Generated outputs are identical

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-03-10 09:41:59 +00:00
Peter Hutterer
5d37740f4a xorgproto-2021.3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-25 11:19:24 +10:00
Peter Hutterer
2bce6cefea xorgproto 2021.2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-24 14:39:14 +10:00
Peter Hutterer
5dbb5b7659 XF86keysym.h: reserve a range for Linux kernel keysyms
The Linux kernel adds a few evdev keycodes roughly every other release. These
aren't available as keysyms through XKB until they have been added as keycode
in xkeyboard-config and mapped there to a newly defined keysym in the X11
proto headers.

In the past, this was done manually,  a suitable keysym was picked at
random and the mapping updated accordingly. This doesn't scale very well and,
given we have a large reserved range for XF86 keysyms anyway, can be done
easier.

Let's reserve the range 0x10081XXX range for a 1:1 mapping of Linux kernel
codes. That's 4095 values, the kernel currently uses only 767 anyway. The
lower 3 bytes of keysyms within that range have to match the kernel value to
make them easy to add and search for. Nothing in X must care about the actual
keysym value anyway.

Since we expect this to be parsed by other scripts for automatic updating, the
format of those #defines is quite strict. Add a script to generate keycodes as
well as verify that the existing ones match the current expected format.

The script is integrated into the CI and meson test, so we will fail if an
update breaks the expectations.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-08 14:52:02 +10:00
orbea
e4d9ffdd51 meson: Use configure_file for pc files.
Meson's pkg.generate() is not suitable for header only libraries
and using configure_file() allows for more fine tuned control.
This also makes the meson and autotools builds more in sync where
they both use the same .pc.in files.

v2: Drop exec_prefix.
2020-08-24 15:01:44 +00:00
Adam Jackson
c62e820340 xorgproto 2020.1
Fixes: xorgproto#28
Signed-off-by: Adam Jackson <ajax@redhat.com>
2020-04-14 11:22:03 -04:00
Adam Jackson
7c22419acc Revert "xorgproto 2020.1"
Fails distcheck.

This reverts commit 032a3a16cd.
2020-04-14 11:19:29 -04:00
Adam Jackson
032a3a16cd xorgproto 2020.1
Fixes: xorgproto#28
Signed-off-by: Adam Jackson <ajax@redhat.com>
2020-04-06 10:52:07 -04:00
Alexander Volkov
564d18c8e5 Add DPMSInfoNotify event
This will allow applications to respond to changes of power level
of a monitor, e.g. an application may stop rendering and related
calculations when the monitor is off.

Bump DPMS version to 1.2, install dpmsproto.pc.

Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
2020-02-26 15:44:33 +03:00
Ross Burton
032909626b meson: mark more extensions as legacy
The Meson and Autotools builds disagree about what extensions are legacy.
This patch makes the Meson build identical to autotools.

Signed-off-by: Ross Burton <ross.burton@intel.com>
2020-02-25 16:28:10 +00:00
Adam Jackson
f61f9a3ee1 xorgproto 2019.2
Closes: https://gitlab.freedesktop.org/xorg/proto/xorgproto/issues/21
Signed-off-by: Adam Jackson <ajax@redhat.com>
2019-10-17 16:02:05 +00:00
Jon Turney
e0d4e02710
Move windowswmproto to legacy 2019-07-22 11:05:32 +01:00
Peter Hutterer
e0bba743ae xorgproto 2019.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-06-20 13:08:27 +10:00
Adam Jackson
bac7b0b421 xorgproto 2018.4
Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-28 11:38:27 -05:00
Louis-Francis Ratté-Boulianne
751cf1e19e presentproto: PresentCompleteModeSuboptimalCopy flag
If the Complete event has this mode, the client is not using
the more optimal format/modifier for the buffer allocation. The
client must explicitely inform the server that it understands
this mode by adding the PresentOptionSuboptimal flag when calling
PresentPixmap.

Its main usage as of now is to allow clients to re-fetch DRI3
format modifiers as some modifiers might allow direct scanout.

Bump presentproto version to 1.2.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
2018-02-28 11:13:11 -05:00
Louis-Francis Ratté-Boulianne
0fca474cd6 dri3: Add modifier/multi-plane requests, bump to v1.2
DRI3 version 1.2 adds support for explicit format modifiers,
including multi-planar buffers.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
2018-02-28 11:13:11 -05:00
Keith Packard
cd7b5a4bee xorgproto 2018.3
Signed-off-by: Keith Packard <keithp@keithp.com>
2018-02-20 15:43:19 -08:00
Keith Packard
fd31dca922 Bump meson.build version to 2018.2
Signed-off-by: Keith Packard <keithp@keithp.com>
2018-02-15 12:58:24 -08:00
Keith Packard
c1418cffb5 Update RandR version in meson.build to 1.6
The RandR 1.6 patches were merged without the necessary meson changes.

Signed-off-by: Keith Packard <keithp@keithp.com>
2018-02-15 12:51:12 -08:00
Adam Jackson
9ce02998c8 xproto: Bump to 7.0.32
Since 7.0.31 we've added four new keysyms (XF86XK_Keyboard, _WWAN,
_RFKill, and _AudioPreset).

Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-12 11:11:14 -05:00
Adam Jackson
b5bfeec4b8 kbproto: Fix version number (1.0.7 not 1.0.6)
Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-12 11:01:44 -05:00
Adam Jackson
09d8185d9f presentproto: Fix version number (1.1 not 1.0)
Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-12 11:00:51 -05:00
Adam Jackson
5c6e9a6e3a meson: Fix xf86driproto.pc
These headers are in X11/dri but are included without a relative path.

Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-06 18:21:51 -05:00
Adam Jackson
bd1c33db52 xorgproto 2018.1
Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-05 14:10:29 -05:00
Adam Jackson
193b75db8c meson: Spread the install rules into their subdirs
Mostly this is is so the generated Xpoll.h can be emitted into a usable
directory when we build as a subproject.

Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-01 15:01:56 -05:00
Adam Jackson
0d4330017c meson: Unbreak the dependency include path 2018-02-01 14:56:34 -05:00
Adam Jackson
627f4f40ab Add a meson build system
Builds on the work Dylan Baker did for glproto. Note that this does
not produce _quite_ identical pc files as the autotools build, but it
only affects the name and description strings which are only informative
anyway.

Just to be petty:

% time ( ./configure --prefix=/tmp/xorgproto && make install; ) >& /dev/null
2.42s user 1.67s system 107% cpu 3.804 total

% time ( meson setup build && meson configure build -Dprefix=/tmp/xorgproto && ninja -C build install ) >& /dev/null
0.55s user 0.11s system 100% cpu 0.658 total

Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-01-30 16:46:29 -05:00
Dylan Baker
c530c7b1d2 meson: Add meson build support
This does everything the autotools build does except muck with your git
config. It does so much faster, and has an "ext_glproto" dependency that
is meant to be used with meson's wrap capability.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
2017-11-06 14:30:31 -05:00