accessibility_conf = configuration_data()
accessibility_conf.set('DATADIR', atspi_datadir)
+if libdbus_dep.version().version_compare('>= 1.12.0')
+ accessibility_conf.set('SOCKET_ADDRESS', 'unix:dir=/tmp')
+else
+ accessibility_conf.set('SOCKET_ADDRESS', 'unix:tmpdir=/tmp')
+endif
+
busconfig_dir = join_paths(atspi_datadir, 'defaults/at-spi2')
session_dir = join_paths(atspi_sysconfdir, 'xdg/autostart')
+xwayland_session_dir = join_paths(atspi_sysconfdir, 'xdg/Xwayland-session.d')
configure_file(input: 'accessibility.conf.in',
output: 'accessibility.conf',
configuration: accessibility_conf,
- install: true,
install_dir: busconfig_dir)
configure_file(input: 'at-spi-dbus-bus.desktop.in',
output: 'at-spi-dbus-bus.desktop',
configuration: libexec_conf,
- install: true,
install_dir: session_dir)
configure_file(input: 'org.a11y.Bus.service.in',
output: 'org.a11y.Bus.service',
configuration: libexec_conf,
- install: true,
install_dir: dbus_services_dir)
configure_file(input: 'at-spi-dbus-bus.service.in',
output: 'at-spi-dbus-bus.service',
configuration: libexec_conf,
- install: true,
install_dir: systemd_user_dir)
+if x11_dep.found()
+ # Note: It is safe to always install it. However, we only need this on
+ # systemd enabled machines where Xwayland may be started on-demand.
+ install_data('00-at-spi',
+ install_dir: xwayland_session_dir)
+endif
+
launcher_args = [
'-DSYSCONFDIR="@0@"'.format(atspi_sysconfdir),
'-DDATADIR="@0@"'.format(atspi_datadir),
+ '-fPIE'
]
if get_option('dbus_daemon') != 'default'
endif
endif
+needs_systemd = false
if get_option('dbus_broker') != 'default'
launcher_args += '-DDBUS_BROKER="@0@"'.format(get_option('dbus_broker'))
+ needs_systemd = true
else
dbus_broker = find_program('dbus-broker-launch',
required: false)
if dbus_broker.found()
launcher_args += '-DDBUS_BROKER="@0@"'.format(dbus_broker.path())
+ needs_systemd = true
endif
endif
launcher_args += '-DWANT_DBUS_BROKER'
endif
+if needs_systemd
+ systemd_dep = dependency('libsystemd')
+else
+ systemd_dep = dependency('', required: false)
+endif
+
executable('at-spi-bus-launcher', 'at-spi-bus-launcher.c',
include_directories: [ root_inc, include_directories('.') ],
- dependencies: [ gio_dep, x11_deps ],
+ dependencies: [ gio_dep, systemd_dep, x11_deps, app_svc_dep ],
c_args: launcher_args,
+ link_args: '-pie',
install: true,
install_dir: atspi_libexecdir)