Blame meson.build

Packit Service ed5168
project('gnome-shell', 'c',
Packit Service ed5168
  version: '3.32.2',
Packit Service ed5168
  meson_version: '>= 0.47.0',
Packit Service ed5168
  license: 'GPLv2+'
Packit Service ed5168
)
Packit Service ed5168
Packit Service ed5168
# We depend on a specific version of the libmutter API. The mutter variants of
Packit Service ed5168
# the Cogl and Clutter libraries also use this API version.
Packit Service ed5168
mutter_api_version = '4'
Packit Service ed5168
Packit Service ed5168
clutter_pc = 'mutter-clutter-' + mutter_api_version
Packit Service ed5168
cogl_pc = 'mutter-cogl-' + mutter_api_version
Packit Service ed5168
cogl_pango_pc = 'mutter-cogl-pango-' + mutter_api_version
Packit Service ed5168
libmutter_pc = 'libmutter-' + mutter_api_version
Packit Service ed5168
Packit Service ed5168
croco_req = '>= 0.6.8'
Packit Service ed5168
ecal_req = '>= 3.5.3'
Packit Service ed5168
eds_req = '>= 3.17.2'
Packit Service ed5168
gcr_req = '>= 3.7.5'
Packit Service ed5168
gdesktop_req = '>= 3.7.90'
Packit Service ed5168
gio_req = '>= 2.56.0'
Packit Service ed5168
gi_req = '>= 1.49.1'
Packit Service ed5168
gjs_req = '>= 1.54.0'
Packit Service ed5168
gtk_req = '>= 3.15.0'
Packit Service ed5168
json_glib_req = '>= 0.13.2'
Packit Service ed5168
mutter_req = '>= 3.32.0'
Packit Service ed5168
polkit_req = '>= 0.100'
Packit Service ed5168
schemas_req = '>= 3.27.90'
Packit Service ed5168
startup_req = '>= 0.11'
Packit Service ed5168
ibus_req = '>= 1.5.2'
Packit Service ed5168
Packit Service ed5168
bt_req = '>= 3.9.0'
Packit Service ed5168
gst_req = '>= 0.11.92'
Packit Service ed5168
nm_req = '>= 1.10.4'
Packit Service ed5168
secret_req = '>= 0.18'
Packit Service ed5168
Packit Service ed5168
gnome = import('gnome')
Packit Service ed5168
i18n  = import('i18n')
Packit Service ed5168
Packit Service ed5168
prefix = get_option('prefix')
Packit Service ed5168
Packit Service ed5168
bindir = join_paths(prefix, get_option('bindir'))
Packit Service ed5168
datadir = join_paths(prefix, get_option('datadir'))
Packit Service ed5168
libdir = join_paths(prefix, get_option('libdir'))
Packit Service ed5168
libexecdir = join_paths(prefix, get_option('libexecdir'))
Packit Service ed5168
mandir = join_paths(prefix, get_option('mandir'))
Packit Service ed5168
sysconfdir = join_paths(prefix, get_option('sysconfdir'))
Packit Service ed5168
Packit Service ed5168
pkgdatadir = join_paths(datadir, meson.project_name())
Packit Service ed5168
pkglibdir = join_paths(libdir, meson.project_name())
Packit Service ed5168
Packit Service ed5168
autostartdir = join_paths(sysconfdir, 'xdg', 'autostart')
Packit Service ed5168
convertdir = join_paths(datadir, 'GConf', 'gsettings')
Packit Service ed5168
desktopdir = join_paths(datadir, 'applications')
Packit Service ed5168
ifacedir = join_paths(datadir, 'dbus-1', 'interfaces')
Packit Service ed5168
localedir = join_paths(datadir, 'locale')
Packit Service ed5168
portaldir = join_paths(datadir, 'xdg-desktop-portal', 'portals')
Packit Service ed5168
schemadir = join_paths(datadir, 'glib-2.0', 'schemas')
Packit Service ed5168
servicedir = join_paths(datadir, 'dbus-1', 'services')
rpm-build acc4ea
themedir = join_paths(pkgdatadir, 'theme')
Packit Service ed5168
Packit Service ed5168
# XXX: Once https://github.com/systemd/systemd/issues/9595 is fixed and we can
Packit Service ed5168
# depend on this version, replace with something like:
Packit Service ed5168
# systemduserunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
Packit Service ed5168
#                                                         define_variable: ['prefix', prefix])
Packit Service ed5168
# and uncomment systemd_dep below
Packit Service ed5168
systemduserunitdir = join_paths(prefix, 'lib', 'systemd', 'user')
Packit Service ed5168
Packit Service ed5168
keybindings_dep = dependency('gnome-keybindings', required: false)
Packit Service ed5168
if keybindings_dep.found()
Packit Service ed5168
  keysdir = keybindings_dep.get_pkgconfig_variable('keysdir')
Packit Service ed5168
else
Packit Service ed5168
  keysdir = join_paths(datadir, 'gnome-control-center', 'keybindings')
Packit Service ed5168
endif
Packit Service ed5168
Packit Service ed5168
atk_bridge_dep = dependency('atk-bridge-2.0')
Packit Service ed5168
ecal_dep = dependency('libecal-1.2', version: ecal_req)
Packit Service ed5168
eds_dep = dependency('libedataserver-1.2', version: eds_req)
Packit Service ed5168
gcr_dep = dependency('gcr-base-3', version: gcr_req)
Packit Service ed5168
gdk_x11_dep = dependency('gdk-x11-3.0')
Packit Service ed5168
gdk_pixbuf_dep = dependency('gdk-pixbuf-2.0')
Packit Service ed5168
gi_dep = dependency('gobject-introspection-1.0', version: gi_req)
Packit Service ed5168
gio_dep = dependency('gio-2.0', version: gio_req)
Packit Service ed5168
gio_unix_dep = dependency('gio-unix-2.0', version: gio_req)
Packit Service ed5168
gjs_dep = dependency('gjs-1.0', version: gjs_req)
Packit Service ed5168
gtk_dep = dependency('gtk+-3.0', version: gtk_req)
Packit Service ed5168
libxml_dep = dependency('libxml-2.0')
Packit Service ed5168
croco_dep = dependency('libcroco-0.6', version: croco_req)
Packit Service ed5168
clutter_dep = dependency(clutter_pc, version: mutter_req)
Packit Service ed5168
cogl_dep = dependency(cogl_pc, version: mutter_req)
Packit Service ed5168
cogl_pango_dep = dependency(cogl_pango_pc, version: mutter_req)
Packit Service ed5168
mutter_dep = dependency(libmutter_pc, version: mutter_req)
Packit Service ed5168
polkit_dep = dependency('polkit-agent-1', version: polkit_req)
Packit Service ed5168
startup_dep = dependency('libstartup-notification-1.0', version: startup_req)
Packit Service ed5168
ibus_dep = dependency('ibus-1.0', version: ibus_req)
Packit Service ed5168
x11_dep = dependency('x11')
Packit Service ed5168
schemas_dep = dependency('gsettings-desktop-schemas', version: schemas_req)
Packit Service ed5168
Packit Service ed5168
bt_dep = dependency('gnome-bluetooth-1.0', version: bt_req, required: false)
Packit Service ed5168
gst_dep = dependency('gstreamer-1.0', version: gst_req, required: false)
Packit Service ed5168
gst_base_dep = dependency('gstreamer-base-1.0', required: false)
Packit Service ed5168
Packit Service ed5168
recorder_deps = []
Packit Service ed5168
enable_recorder = gst_dep.found() and gst_base_dep.found()
Packit Service ed5168
if enable_recorder
Packit Service ed5168
  recorder_deps += [gst_dep, gst_base_dep, gtk_dep, x11_dep]
Packit Service ed5168
endif
Packit Service ed5168
Packit Service ed5168
nm_deps = []
Packit Service ed5168
if get_option('networkmanager')
Packit Service ed5168
  nm_deps += dependency('libnm', version: nm_req)
Packit Service ed5168
  nm_deps += dependency('libsecret-1', version: secret_req)
Packit Service ed5168
Packit Service ed5168
  vpndir = nm_deps[0].get_pkgconfig_variable('vpnservicedir')
Packit Service ed5168
Packit Service ed5168
  have_networkmanager = true
Packit Service ed5168
else
Packit Service ed5168
  vpndir = prefix
Packit Service ed5168
Packit Service ed5168
  have_networkmanager = false
Packit Service ed5168
endif
Packit Service ed5168
Packit Service ed5168
if get_option('systemd')
Packit Service ed5168
  libsystemd_dep = dependency('libsystemd')
Packit Service ed5168
  # XXX: see systemduserunitdir
Packit Service ed5168
  # systemd_dep = dependency('systemd')
Packit Service ed5168
  have_systemd = true
Packit Service ed5168
else
Packit Service ed5168
  libsystemd_dep = []
Packit Service ed5168
  have_systemd = false
Packit Service ed5168
endif
Packit Service ed5168
Packit Service ed5168
if get_option('man')
Packit Service ed5168
  xsltproc = find_program('xsltproc')
Packit Service ed5168
Packit Service ed5168
  subdir('man')
Packit Service ed5168
endif
Packit Service ed5168
Packit Service ed5168
mutter_typelibdir = mutter_dep.get_pkgconfig_variable('typelibdir')
Packit Service ed5168
python = find_program('python3')
Packit Service ed5168
sassc = find_program('sassc')
Packit Service ed5168
Packit Service ed5168
cc = meson.get_compiler('c')
Packit Service ed5168
Packit Service ed5168
m_dep = cc.find_library('m', required: false)
Packit Service ed5168
Packit Service ed5168
cdata = configuration_data()
Packit Service ed5168
cdata.set_quoted('GETTEXT_PACKAGE', meson.project_name())
Packit Service ed5168
cdata.set_quoted('VERSION', meson.project_version())
Packit Service ed5168
cdata.set_quoted('PACKAGE_VERSION', meson.project_version())
Packit Service ed5168
Packit Service ed5168
cdata.set('HAVE_NETWORKMANAGER', have_networkmanager)
Packit Service ed5168
cdata.set('HAVE_SYSTEMD', have_systemd)
Packit Service ed5168
Packit Service ed5168
# New API added in glib-2.57.2
Packit Service ed5168
cdata.set('HAVE_GIO_DESKTOP_LAUNCH_URIS_WITH_FDS',
Packit Service ed5168
          cc.has_function('g_desktop_app_info_launch_uris_as_manager_with_fds',
Packit Service ed5168
                          dependencies : gio_dep)
Packit Service ed5168
)
Packit Service ed5168
cdata.set('HAVE_FDWALK', cc.has_function('fdwalk'))
Packit Service ed5168
cdata.set('HAVE_MALLINFO', cc.has_function('mallinfo'))
Packit Service ed5168
cdata.set('HAVE_SYS_RESOURCE_H', cc.has_header('sys/resource.h'))
Packit Service ed5168
cdata.set('HAVE__NL_TIME_FIRST_WEEKDAY',
Packit Service ed5168
  cc.has_header_symbol('langinfo.h', '_NL_TIME_FIRST_WEEKDAY')
Packit Service ed5168
)
Packit Service ed5168
Packit Service ed5168
cdata.set('HAVE_FDWALK',
Packit Service ed5168
          cc.has_function('fdwalk')
Packit Service ed5168
)
Packit Service ed5168
Packit Service ed5168
config_h = configure_file(
Packit Service ed5168
  input: 'config.h.meson',
Packit Service ed5168
  output: 'config.h',
Packit Service ed5168
  configuration: cdata
Packit Service ed5168
)
Packit Service ed5168
Packit Service ed5168
conf_inc = include_directories('.')
Packit Service ed5168
Packit Service ed5168
libgvc = subproject('gvc',
Packit Service ed5168
  default_options: [
Packit Service ed5168
    'package_name=' + meson.project_name(),
Packit Service ed5168
    'package_version=' + meson.project_version(),
Packit Service ed5168
    'pkgdatadir=' + pkgdatadir,
Packit Service ed5168
    'pkglibdir=' + pkglibdir,
Packit Service ed5168
    'static=false',
Packit Service ed5168
    'introspection=true',
Packit Service ed5168
    'alsa=false'
Packit Service ed5168
  ]
Packit Service ed5168
)
Packit Service ed5168
libgvc_gir = libgvc.get_variable('libgvc_gir')
Packit Service ed5168
Packit Service ed5168
subdir('js')
Packit Service ed5168
subdir('src')
Packit Service ed5168
subdir('po')
Packit Service ed5168
subdir('data')
Packit Service ed5168
subdir('tests')
Packit Service ed5168
subdir('tools')
Packit Service ed5168
Packit Service ed5168
if get_option('gtk_doc')
Packit Service ed5168
  subdir('docs/reference')
Packit Service ed5168
endif
Packit Service ed5168
Packit Service ed5168
meson.add_install_script('meson/meson-postinstall.sh')