Blame meson.build

Packit 8b6d7a
project('at-spi2-core', 'c',
Packit 8b6d7a
        version: '2.28.0',
Packit 8b6d7a
        license: 'LGPLv2.1+',
Packit 8b6d7a
        default_options: [
Packit 8b6d7a
          'buildtype=debugoptimized',
Packit 8b6d7a
          'warning_level=1',
Packit 8b6d7a
          'c_std=c99',
Packit 8b6d7a
        ],
Packit 8b6d7a
        meson_version: '>= 0.40.1')
Packit 8b6d7a
Packit 8b6d7a
add_project_arguments([ '-D_POSIX_C_SOURCE=200809L', '-D_DEFAULT_SOURCE' ], language: 'c')
Packit 8b6d7a
Packit 8b6d7a
atspi_gir_ns = 'Atspi'
Packit 8b6d7a
Packit 8b6d7a
cc = meson.get_compiler('c')
Packit 8b6d7a
host_system = host_machine.system()
Packit 8b6d7a
Packit 8b6d7a
soversion = '0.0.1'
Packit 8b6d7a
Packit 8b6d7a
at_spi_conf = configuration_data()
Packit 8b6d7a
at_spi_conf.set('GETTEXT_PACKAGE', meson.project_name())
Packit 8b6d7a
Packit 8b6d7a
root_inc = include_directories('.')
Packit 8b6d7a
registryd_inc = include_directories('registryd')
Packit 8b6d7a
Packit 8b6d7a
atspi_prefix = get_option('prefix')
Packit 8b6d7a
atspi_datadir = join_paths(atspi_prefix, get_option('datadir'))
Packit 8b6d7a
atspi_libexecdir = join_paths(atspi_prefix, get_option('libexecdir'))
Packit 8b6d7a
atspi_sysconfdir = join_paths(atspi_prefix, get_option('sysconfdir'))
Packit 8b6d7a
atspi_libdir = join_paths(atspi_prefix, get_option('libdir'))
Packit 8b6d7a
atspi_includedir = join_paths(atspi_prefix, get_option('includedir'))
Packit 8b6d7a
Packit 8b6d7a
if get_option('dbus_services_dir') != 'default'
Packit 8b6d7a
  dbus_services_dir = get_option('dbus_services_dir')
Packit 8b6d7a
else
Packit 8b6d7a
  dbus_services_dir = join_paths(get_option('datadir'), 'dbus-1/services')
Packit 8b6d7a
endif
Packit 8b6d7a
Packit 8b6d7a
if get_option('systemd_user_dir') != 'default'
Packit 8b6d7a
  systemd_user_dir = get_option('systemd_user_dir')
Packit 8b6d7a
else
Packit 8b6d7a
  systemd_user_dir = join_paths(get_option('prefix'), 'lib/systemd/user')
Packit 8b6d7a
endif
Packit 8b6d7a
Packit 8b6d7a
# Dependencies
Packit 8b6d7a
libdbus_req_version = '>= 1.5'
Packit 8b6d7a
glib_req_version = '>= 2.32.0'
Packit 8b6d7a
gobject_req_version = '>= 2.0.0'
Packit 8b6d7a
gio_req_version = '>= 2.28.0'
Packit 8b6d7a
Packit 8b6d7a
libdbus_dep = dependency('dbus-1', version: libdbus_req_version)
Packit 8b6d7a
glib_dep = dependency('glib-2.0', version: glib_req_version)
Packit 8b6d7a
gobject_dep = dependency('gobject-2.0', version: gobject_req_version)
Packit 8b6d7a
gio_dep = dependency('gio-2.0', version: gio_req_version)
Packit 8b6d7a
dl_dep = cc.find_library('dl', required: false)
Packit 8b6d7a
Packit 8b6d7a
x11_deps = []
Packit 8b6d7a
x11_option = get_option('enable-x11')
Packit 8b6d7a
if x11_option != 'no'
Packit 8b6d7a
  x11_dep = dependency('x11', required: false)
Packit 8b6d7a
Packit 8b6d7a
  if x11_dep.found()
Packit 8b6d7a
    x11_deps += x11_dep
Packit 8b6d7a
    at_spi_conf.set('HAVE_X11', 1)
Packit 8b6d7a
    xtest_dep = dependency('xtst')
Packit 8b6d7a
    x11_deps += xtest_dep
Packit 8b6d7a
Packit 8b6d7a
    if cc.has_function('XkbGetMap', dependencies: x11_deps)
Packit 8b6d7a
      at_spi_conf.set('HAVE_XKB', 1)
Packit 8b6d7a
    endif
Packit 8b6d7a
Packit 8b6d7a
    xinput_dep = dependency('xi')
Packit 8b6d7a
    x11_deps += xinput_dep
Packit 8b6d7a
  endif
Packit 8b6d7a
endif
Packit 8b6d7a
Packit 8b6d7a
# Alignments
Packit 8b6d7a
at_spi_conf.set('ALIGNOF_CHAR', cc.alignment('char'))
Packit 8b6d7a
at_spi_conf.set('ALIGNOF_DOUBLE', cc.alignment('double'))
Packit 8b6d7a
Packit 8b6d7a
dbus_alignments = [
Packit 8b6d7a
  'dbus_bool_t',
Packit 8b6d7a
  'dbus_int16_t',
Packit 8b6d7a
  'dbus_int32_t',
Packit 8b6d7a
  'dbus_int64_t',
Packit 8b6d7a
]
Packit 8b6d7a
Packit 8b6d7a
foreach a: dbus_alignments
Packit 8b6d7a
  at_spi_conf.set('ALIGNOF_' + a.underscorify().to_upper(),
Packit 8b6d7a
                  cc.alignment(a, prefix: '#include <dbus/dbus.h>', dependencies: libdbus_dep))
Packit 8b6d7a
endforeach
Packit 8b6d7a
Packit 8b6d7a
at_spi_conf.set('ALIGNOF_DBIND_POINTER', cc.alignment('dbind_pointer', prefix: 'typedef void *dbind_pointer;'))
Packit 8b6d7a
at_spi_conf.set('ALIGNOF_DBIND_STRUCT', cc.alignment('dbind_struct', prefix: 'typedef struct { char s1; } dbind_struct;'))
Packit 8b6d7a
Packit 8b6d7a
# introspection support
Packit 8b6d7a
have_gir = false
Packit 8b6d7a
Packit 8b6d7a
introspection_option = get_option('enable-introspection')
Packit 8b6d7a
if introspection_option != 'no'
Packit 8b6d7a
  gir_dep = dependency('gobject-introspection-1.0', version: '>= 0.6.7', required: false)
Packit 8b6d7a
Packit 8b6d7a
  if gir_dep.found()
Packit 8b6d7a
    have_gir = true
Packit 8b6d7a
  endif
Packit 8b6d7a
endif
Packit 8b6d7a
Packit 8b6d7a
xgettext = find_program('xgettext', required : false)
Packit 8b6d7a
Packit 8b6d7a
configure_file(output: 'config.h', configuration: at_spi_conf)
Packit 8b6d7a
Packit 8b6d7a
# Compat variables for pkgconfig
Packit 8b6d7a
pkgconf = configuration_data()
Packit 8b6d7a
pkgconf.set('prefix', get_option('prefix'))
Packit 8b6d7a
pkgconf.set('exec_prefix', get_option('prefix'))
Packit 8b6d7a
pkgconf.set('libdir', atspi_libdir)
Packit 8b6d7a
pkgconf.set('includedir', atspi_includedir)
Packit 8b6d7a
pkgconf.set('VERSION', meson.project_version())
Packit 8b6d7a
Packit 8b6d7a
configure_file(input: 'atspi-2.pc.in',
Packit 8b6d7a
               output: 'atspi-2.pc',
Packit 8b6d7a
               configuration: pkgconf,
Packit 8b6d7a
               install: true,
Packit 8b6d7a
               install_dir: join_paths(get_option('libdir'), 'pkgconfig'))
Packit 8b6d7a
Packit 8b6d7a
gnome = import('gnome')
Packit 8b6d7a
Packit 8b6d7a
subdir('dbind')
Packit 8b6d7a
subdir('atspi')
Packit 8b6d7a
subdir('bus')
Packit 8b6d7a
subdir('registryd')
Packit 8b6d7a
subdir('test')
Packit 8b6d7a
Packit 8b6d7a
if get_option('enable_docs')
Packit 8b6d7a
  subdir('doc/libatspi')
Packit 8b6d7a
endif
Packit 8b6d7a
Packit 8b6d7a
if xgettext.found()
Packit 8b6d7a
  subdir('po')
Packit 8b6d7a
endif