meson: Allow to build without gnome-desktop
gnome-desktop is used to retrieve the monitor vendor name which in some use cases is not needed as it brings a bunch of gnome-desktop unwanted dependencies. The change makes mutter fallback to an "Undefined" vendor name if it is built without gnome-desktop Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2317>
This commit is contained in:
parent
daaeadcf4f
commit
7717383deb
@ -46,6 +46,9 @@
|
||||
/* Defined if screen cast and remote desktop support is enabled */
|
||||
#mesondefine HAVE_REMOTE_DESKTOP
|
||||
|
||||
/* Defined if gnome-desktop is enabled */
|
||||
#mesondefine HAVE_GNOME_DESKTOP
|
||||
|
||||
/* Building with SM support */
|
||||
#mesondefine HAVE_SM
|
||||
|
||||
|
@ -106,7 +106,6 @@ gthread_dep = dependency('gobject-2.0', version: glib_req)
|
||||
gmodule_no_export_dep = dependency('gmodule-no-export-2.0', version: glib_req)
|
||||
gnome_settings_daemon_dep = dependency('gnome-settings-daemon')
|
||||
json_glib_dep = dependency('json-glib-1.0', version: json_glib_req)
|
||||
gnome_desktop_dep = dependency('gnome-desktop-3.0')
|
||||
xcomposite_dep = dependency('xcomposite', version: xcomposite_req)
|
||||
xcursor_dep = dependency('xcursor')
|
||||
xdamage_dep = dependency('xdamage')
|
||||
@ -133,6 +132,12 @@ dbus_dep = dependency('dbus-1')
|
||||
# For now always require X11 support
|
||||
have_x11 = true
|
||||
|
||||
|
||||
have_gnome_desktop = get_option('libgnome_desktop')
|
||||
if have_gnome_desktop
|
||||
gnome_desktop_dep = dependency('gnome-desktop-3.0')
|
||||
endif
|
||||
|
||||
have_gl = get_option('opengl')
|
||||
if have_gl
|
||||
gl_dep = dependency('gl')
|
||||
@ -436,6 +441,7 @@ cdata.set('HAVE_WAYLAND', have_wayland)
|
||||
cdata.set('HAVE_LIBSYSTEMD', have_libsystemd)
|
||||
cdata.set('HAVE_NATIVE_BACKEND', have_native_backend)
|
||||
cdata.set('HAVE_REMOTE_DESKTOP', have_remote_desktop)
|
||||
cdata.set('HAVE_GNOME_DESKTOP', have_gnome_desktop)
|
||||
cdata.set('HAVE_EGL_DEVICE', have_egl_device)
|
||||
cdata.set('HAVE_WAYLAND_EGLSTREAM', have_wayland_eglstream)
|
||||
cdata.set('HAVE_LIBGUDEV', have_libgudev)
|
||||
@ -586,6 +592,7 @@ summary('Wayland EGLStream', have_wayland_eglstream, section: 'Options')
|
||||
summary('Native Backend', have_native_backend, section: 'Options')
|
||||
summary('EGL Device', have_egl_device, section: 'Options')
|
||||
summary('Remote desktop', have_remote_desktop, section: 'Options')
|
||||
summary('libgnome-desktop', have_gnome_desktop, section: 'Options')
|
||||
summary('gudev', have_libgudev, section: 'Options')
|
||||
summary('Wacom', have_libwacom, section: 'Options')
|
||||
summary('SM', have_sm, section: 'Options')
|
||||
|
@ -57,6 +57,12 @@ option('remote_desktop',
|
||||
description: 'Enable remote desktop and screen cast support'
|
||||
)
|
||||
|
||||
option('libgnome_desktop',
|
||||
type: 'boolean',
|
||||
value: true,
|
||||
description: 'Build with or without gnome-desktop'
|
||||
)
|
||||
|
||||
option('egl_device',
|
||||
type: 'boolean',
|
||||
value: false,
|
||||
|
@ -26,7 +26,10 @@
|
||||
|
||||
#include <cogl/cogl.h>
|
||||
#include <graphene.h>
|
||||
|
||||
#ifdef HAVE_GNOME_DESKTOP
|
||||
#include <libgnome-desktop/gnome-pnp-ids.h>
|
||||
#endif
|
||||
|
||||
#include "backends/meta-backend-private.h"
|
||||
#include "backends/meta-cursor.h"
|
||||
@ -155,7 +158,9 @@ struct _MetaMonitorManager
|
||||
|
||||
MetaMonitorConfigManager *config_manager;
|
||||
|
||||
#ifdef HAVE_GNOME_DESKTOP
|
||||
GnomePnpIds *pnp_ids;
|
||||
#endif
|
||||
|
||||
MetaMonitorSwitchConfigType current_switch_config;
|
||||
|
||||
|
@ -3816,10 +3816,14 @@ char *
|
||||
meta_monitor_manager_get_vendor_name (MetaMonitorManager *manager,
|
||||
const char *vendor)
|
||||
{
|
||||
#ifdef HAVE_GNOME_DESKTOP
|
||||
if (!manager->pnp_ids)
|
||||
manager->pnp_ids = gnome_pnp_ids_new ();
|
||||
|
||||
return gnome_pnp_ids_get_pnp_id (manager->pnp_ids, vendor);
|
||||
#else
|
||||
return g_strdup (vendor);
|
||||
#endif
|
||||
}
|
||||
|
||||
gboolean
|
||||
|
@ -23,13 +23,18 @@ mutter_pkg_deps = [
|
||||
|
||||
mutter_pkg_private_deps = [
|
||||
gmodule_no_export_dep,
|
||||
gnome_desktop_dep,
|
||||
gnome_settings_daemon_dep,
|
||||
json_glib_dep,
|
||||
libcanberra_dep,
|
||||
xkbcommon_dep,
|
||||
]
|
||||
|
||||
if have_gnome_desktop
|
||||
mutter_pkg_private_deps += [
|
||||
gnome_desktop_dep,
|
||||
]
|
||||
endif
|
||||
|
||||
if have_gl
|
||||
mutter_pkg_deps += [
|
||||
gl_dep,
|
||||
|
Loading…
Reference in New Issue
Block a user