mirror of
https://codeberg.org/flk/meta-wayland.git
synced 2024-12-27 05:58:22 +01:00
cleanup
This commit is contained in:
parent
c2ae986cbb
commit
9c5da3e549
@ -1,5 +0,0 @@
|
|||||||
PV = "1.21"
|
|
||||||
|
|
||||||
SRC_URI[md5sum] = "8196416baac07cd833bcb86b69da41a7"
|
|
||||||
SRC_URI[sha256sum] = "b99945842d8be18817c26ee77dafa157883af89268e15f4a5a1a1ff3ffa4cde5"
|
|
||||||
|
|
@ -1,179 +0,0 @@
|
|||||||
From dffc5939a0e77eae7a183c7790dc1209881c09aa Mon Sep 17 00:00:00 2001
|
|
||||||
From: Olivier Fourdan <ofourdan@redhat.com>
|
|
||||||
Date: Mon, 20 Apr 2020 11:29:16 +0200
|
|
||||||
Subject: [PATCH] xwayland: Add a pkg-config file for Xwayland
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Xwayland is usually spawned by the Wayland compositor which sets the
|
|
||||||
command line options.
|
|
||||||
|
|
||||||
If a command line option is not supported, Xwayland will fail to start.
|
|
||||||
|
|
||||||
That somehow makes the Xwayland command line option sort of ABI, the
|
|
||||||
Wayland compositor need to know if a particular option is supported by
|
|
||||||
Xwayland at build time.
|
|
||||||
|
|
||||||
Also, currently, Xwayland is being installed along with the rest of the
|
|
||||||
common executable programs that users may run, which is sub-optimal
|
|
||||||
because, well, Xwayland is not a common executable program, it's meant
|
|
||||||
to be a proxy between the Wayland compositor and the legacy X11 clients
|
|
||||||
which wouldn't be able to run on Wayland otherwise.
|
|
||||||
|
|
||||||
Xwayland would be better installed in `libexec` but that directory is
|
|
||||||
(purposedly) not in the user `PATH` and therefore the Wayland compositor
|
|
||||||
may not be able to find Xwayland in that case.
|
|
||||||
|
|
||||||
To solve both problems (which options are supported by Xwayland and
|
|
||||||
where to look for it), add a `pkg-config` file specifically for Xwayland
|
|
||||||
which gives the full path to Xwayland (`xwayland`) and which options it
|
|
||||||
supports (using `pkg-config` variables).
|
|
||||||
|
|
||||||
The `pkg-config` file also provides the `Version` so the build scripts
|
|
||||||
can check for a particular version if necessary.
|
|
||||||
|
|
||||||
Obviously, Wayland compositors are not required to use the `pkg-config`
|
|
||||||
file and can continue to use whatever mechanism they deem preferable.
|
|
||||||
|
|
||||||
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
|
|
||||||
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
|
|
||||||
|
|
||||||
---
|
|
||||||
configure.ac | 12 ++++++++++++
|
|
||||||
hw/xwayland/Makefile.am | 6 +++++-
|
|
||||||
hw/xwayland/meson.build | 15 +++++++++++++++
|
|
||||||
hw/xwayland/xwayland.pc.in | 7 +++++++
|
|
||||||
meson.build | 5 +++++
|
|
||||||
5 files changed, 44 insertions(+), 1 deletion(-)
|
|
||||||
create mode 100644 hw/xwayland/xwayland.pc.in
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index a51a0ee..1b73e75 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -591,6 +591,8 @@ AC_ARG_ENABLE(xnest, AS_HELP_STRING([--enable-xnest], [Build Xnest serv
|
|
||||||
AC_ARG_ENABLE(xquartz, AS_HELP_STRING([--enable-xquartz], [Build Xquartz server for OS-X (default: auto)]), [XQUARTZ=$enableval], [XQUARTZ=auto])
|
|
||||||
AC_ARG_ENABLE(xwayland, AS_HELP_STRING([--enable-xwayland], [Build Xwayland server (default: auto)]), [XWAYLAND=$enableval], [XWAYLAND=auto])
|
|
||||||
AC_ARG_ENABLE(xwayland-eglstream, AS_HELP_STRING([--enable-xwayland-eglstream], [Build Xwayland eglstream support (default: no)]), [XWAYLAND_EGLSTREAM=$enableval], [XWAYLAND_EGLSTREAM=no])
|
|
||||||
+AC_ARG_WITH(xwayland-path, AS_HELP_STRING([--with-xwayland-path=PATH], [Directory containing Xwayland executable (default: ${bindir})]),
|
|
||||||
+ [ xwayland_path="$withval" ], [ xwayland_path="$bindir" ])
|
|
||||||
AC_ARG_ENABLE(standalone-xpbproxy, AS_HELP_STRING([--enable-standalone-xpbproxy], [Build a standalone xpbproxy (in addition to the one integrated into Xquartz as a separate thread) (default: no)]), [STANDALONE_XPBPROXY=$enableval], [STANDALONE_XPBPROXY=no])
|
|
||||||
AC_ARG_ENABLE(xwin, AS_HELP_STRING([--enable-xwin], [Build XWin server (default: auto)]), [XWIN=$enableval], [XWIN=auto])
|
|
||||||
AC_ARG_ENABLE(glamor, AS_HELP_STRING([--enable-glamor], [Build glamor dix module (default: auto)]), [GLAMOR=$enableval], [GLAMOR=auto])
|
|
||||||
@@ -2346,6 +2348,9 @@ if test "x$XWAYLAND" = xyes; then
|
|
||||||
if test "x$GLAMOR" = xyes && test "x$GBM" = xyes; then
|
|
||||||
AC_DEFINE(XWL_HAS_GLAMOR, 1,
|
|
||||||
[Build xwayland with glamor support])
|
|
||||||
+ AC_SUBST(have_glamor, "true")
|
|
||||||
+ else
|
|
||||||
+ AC_SUBST(have_glamor, "false")
|
|
||||||
fi
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(WAYLAND_EGLSTREAM, [wayland-eglstream-protocols >= 1.0.2], [have_wl_eglstream=yes], [have_wl_eglstream=no])
|
|
||||||
@@ -2368,6 +2373,9 @@ if test "x$XWAYLAND" = xyes; then
|
|
||||||
AC_SUBST(WAYLAND_EGLSTREAM_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-eglstream-protocols`)
|
|
||||||
AC_DEFINE(XWL_HAS_EGLSTREAM, 1,
|
|
||||||
[Build xwayland with eglstream support])
|
|
||||||
+ AC_SUBST(have_eglstream, "true")
|
|
||||||
+ else
|
|
||||||
+ AC_SUBST(have_eglstream, "false")
|
|
||||||
fi
|
|
||||||
|
|
||||||
XWAYLAND_LIBS="$FB_LIB $FIXES_LIB $MI_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB $DIX_LIB $OS_LIB"
|
|
||||||
@@ -2390,6 +2398,9 @@ if test "x$XWAYLAND" = xyes; then
|
|
||||||
AC_SUBST(SCANNER_ARG, 'code'))
|
|
||||||
|
|
||||||
AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
|
|
||||||
+
|
|
||||||
+ AC_SUBST(xwayland_path)
|
|
||||||
+
|
|
||||||
fi
|
|
||||||
AM_CONDITIONAL(XWAYLAND_EGLSTREAM, [test "x$XWAYLAND_EGLSTREAM" = "xyes"])
|
|
||||||
|
|
||||||
@@ -2546,6 +2557,7 @@ hw/kdrive/ephyr/Makefile
|
|
||||||
hw/kdrive/ephyr/man/Makefile
|
|
||||||
hw/kdrive/src/Makefile
|
|
||||||
hw/xwayland/Makefile
|
|
||||||
+hw/xwayland/xwayland.pc
|
|
||||||
test/Makefile
|
|
||||||
xserver.ent
|
|
||||||
xorg-server.pc
|
|
||||||
diff --git a/hw/xwayland/Makefile.am b/hw/xwayland/Makefile.am
|
|
||||||
index bc1cb85..7c252db 100644
|
|
||||||
--- a/hw/xwayland/Makefile.am
|
|
||||||
+++ b/hw/xwayland/Makefile.am
|
|
||||||
@@ -1,3 +1,4 @@
|
|
||||||
+bindir = @xwayland_path@
|
|
||||||
bin_PROGRAMS = Xwayland
|
|
||||||
|
|
||||||
Xwayland_CFLAGS = \
|
|
||||||
@@ -84,7 +85,10 @@ endif
|
|
||||||
nodist_Xwayland_SOURCES = $(Xwayland_built_sources)
|
|
||||||
CLEANFILES = $(Xwayland_built_sources)
|
|
||||||
|
|
||||||
-EXTRA_DIST = drm.xml
|
|
||||||
+pkgconfigdir = $(libdir)/pkgconfig
|
|
||||||
+pkgconfig_DATA = xwayland.pc
|
|
||||||
+
|
|
||||||
+EXTRA_DIST = xwayland.pc.in drm.xml
|
|
||||||
|
|
||||||
$(Xwayland_SOURCES): $(Xwayland_built_sources)
|
|
||||||
|
|
||||||
diff --git a/hw/xwayland/meson.build b/hw/xwayland/meson.build
|
|
||||||
index 36bf213..40e8612 100644
|
|
||||||
--- a/hw/xwayland/meson.build
|
|
||||||
+++ b/hw/xwayland/meson.build
|
|
||||||
@@ -100,4 +100,19 @@ executable(
|
|
||||||
libglxvnd,
|
|
||||||
],
|
|
||||||
install: true,
|
|
||||||
+ install_dir: xwayland_path
|
|
||||||
+)
|
|
||||||
+
|
|
||||||
+xwayland_data = configuration_data()
|
|
||||||
+xwayland_data.set('PACKAGE_VERSION', meson.project_version())
|
|
||||||
+xwayland_data.set('xwayland_path', xwayland_path)
|
|
||||||
+xwayland_data.set('have_glamor', build_glamor ? 'true' : 'false')
|
|
||||||
+xwayland_data.set('have_eglstream', build_eglstream ? 'true' : 'false')
|
|
||||||
+configure_file(
|
|
||||||
+ input: 'xwayland.pc.in',
|
|
||||||
+ output: 'xwayland.pc',
|
|
||||||
+ configuration: xwayland_data,
|
|
||||||
+ install_dir: join_paths(get_option('prefix'),
|
|
||||||
+ get_option('libdir'),
|
|
||||||
+ 'pkgconfig'),
|
|
||||||
)
|
|
||||||
diff --git a/hw/xwayland/xwayland.pc.in b/hw/xwayland/xwayland.pc.in
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..cd28026
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/hw/xwayland/xwayland.pc.in
|
|
||||||
@@ -0,0 +1,7 @@
|
|
||||||
+Name: Xwayland
|
|
||||||
+Description: X Server for Wayland
|
|
||||||
+Version: @PACKAGE_VERSION@
|
|
||||||
+xwayland=@xwayland_path@/Xwayland
|
|
||||||
+have_glamor=@have_glamor@
|
|
||||||
+have_eglstream=@have_eglstream@
|
|
||||||
+have_initfd=true
|
|
||||||
diff --git a/meson.build b/meson.build
|
|
||||||
index 0531463..c904e7f 100644
|
|
||||||
--- a/meson.build
|
|
||||||
+++ b/meson.build
|
|
||||||
@@ -169,6 +169,11 @@ if (host_machine.system() != 'darwin' and
|
|
||||||
if get_option('xwayland') != 'false'
|
|
||||||
xwayland_required = get_option('xwayland') == 'true'
|
|
||||||
|
|
||||||
+ xwayland_path = get_option('xwayland-path')
|
|
||||||
+ if (xwayland_path == '')
|
|
||||||
+ xwayland_path = join_paths(get_option('prefix'), get_option('bindir'))
|
|
||||||
+ endif
|
|
||||||
+
|
|
||||||
xwayland_dep = [
|
|
||||||
dependency('wayland-client', version: '>= 1.3.0', required: xwayland_required),
|
|
||||||
dependency('wayland-protocols', version: '>= 1.10', required: xwayland_required),
|
|
@ -1,5 +0,0 @@
|
|||||||
FILESEXTRAPATHS:prepend := "${THISDIR}/xserver-xorg:"
|
|
||||||
|
|
||||||
# This backport is needed on hardknott to enable wlroots to create the xwayland backend
|
|
||||||
SRC_URI:append = " file://0001-xwayland-Add-a-pkg-config-file-for-Xwayland.patch"
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user