1 project('at-spi2-core', 'c',
5 'buildtype=debugoptimized',
9 meson_version: '>= 0.40.1')
11 add_project_arguments([ '-D_POSIX_C_SOURCE', '-D_DEFAULT_SOURCE' ], language: 'c')
13 atspi_gir_ns = 'Atspi'
15 cc = meson.get_compiler('c')
16 host_system = host_machine.system()
20 at_spi_conf = configuration_data()
21 at_spi_conf.set('GETTEXT_PACKAGE', meson.project_name())
23 root_inc = include_directories('.')
24 registryd_inc = include_directories('registryd')
26 atspi_prefix = get_option('prefix')
27 atspi_datadir = join_paths(atspi_prefix, get_option('datadir'))
28 atspi_libexecdir = join_paths(atspi_prefix, get_option('libexecdir'))
29 atspi_sysconfdir = join_paths(atspi_prefix, get_option('sysconfdir'))
30 atspi_libdir = join_paths(atspi_prefix, get_option('libdir'))
31 atspi_includedir = join_paths(atspi_prefix, get_option('includedir'))
33 if get_option('dbus_services_dir') != 'default'
34 dbus_services_dir = get_option('dbus_services_dir')
36 dbus_services_dir = join_paths(get_option('datadir'), 'dbus-1/services')
39 if get_option('systemd_user_dir') != 'default'
40 systemd_user_dir = get_option('systemd_user_dir')
42 systemd_user_dir = join_paths(get_option('prefix'), 'lib/systemd/user')
46 libdbus_req_version = '>= 1.5'
47 glib_req_version = '>= 2.32.0'
48 gobject_req_version = '>= 2.0.0'
49 gio_req_version = '>= 2.28.0'
51 libdbus_dep = dependency('dbus-1', version: libdbus_req_version)
52 glib_dep = dependency('glib-2.0', version: glib_req_version)
53 gobject_dep = dependency('gobject-2.0', version: gobject_req_version)
54 gio_dep = dependency('gio-2.0', version: gio_req_version)
55 dl_dep = cc.find_library('dl', required: false)
56 x11_dep = dependency('x11', required: false)
62 xtest_dep = dependency('xtst')
65 xkb_dep = dependency('xkbcommon-x11', required: false)
68 at_spi_conf.set('HAVE_XKB', 1)
71 xinput_dep = dependency('xi')
72 x11_deps += xinput_dep
76 at_spi_conf.set('ALIGNOF_CHAR', cc.alignment('char'))
77 at_spi_conf.set('ALIGNOF_DOUBLE', cc.alignment('double'))
86 foreach a: dbus_alignments
87 at_spi_conf.set('ALIGNOF_' + a.underscorify().to_upper(),
88 cc.alignment(a, prefix: '#include <dbus/dbus.h>', dependencies: libdbus_dep))
91 at_spi_conf.set('ALIGNOF_DBIND_POINTER', cc.alignment('dbind_pointer', prefix: 'typedef void *dbind_pointer;'))
92 at_spi_conf.set('ALIGNOF_DBIND_STRUCT', cc.alignment('dbind_struct', prefix: 'typedef struct { char s1; } dbind_struct;'))
94 # introspection support
97 introspection_option = get_option('enable-introspection')
98 if introspection_option != 'no'
99 gir_dep = dependency('gobject-introspection-1.0', version: '>= 0.6.7', required: false)
106 xgettext = find_program('xgettext', required : false)
108 configure_file(output: 'config.h', configuration: at_spi_conf)
110 # Compat variables for pkgconfig
111 pkgconf = configuration_data()
112 pkgconf.set('prefix', get_option('prefix'))
113 pkgconf.set('exec_prefix', get_option('prefix'))
114 pkgconf.set('libdir', atspi_libdir)
115 pkgconf.set('includedir', atspi_includedir)
116 pkgconf.set('VERSION', meson.project_version())
118 configure_file(input: 'atspi-2.pc.in',
119 output: 'atspi-2.pc',
120 configuration: pkgconf,
122 install_dir: join_paths(get_option('libdir'), 'pkgconfig'))
124 gnome = import('gnome')
132 if get_option('enable_docs')
133 subdir('doc/libatspi')