2.34.0
[platform/upstream/at-spi2-core.git] / atspi / meson.build
index 8b48093..8a2ca27 100644 (file)
@@ -13,6 +13,7 @@ atspi_sources = [
   'atspi-hypertext.c',
   'atspi-image.c',
   'atspi-matchrule.c',
+  'atspi-mutter.c',
   'atspi-misc.c',
   'atspi-object.c',
   'atspi-registry.c',
@@ -36,7 +37,6 @@ atspi_headers = [
   'atspi-device-listener.h',
   'atspi-document.h',
   'atspi-editabletext.h',
-  'atspi-enum-types.h',
   'atspi-event-listener.h',
   'atspi-gmain.h',
   'atspi-hyperlink.h',
@@ -45,7 +45,6 @@ atspi_headers = [
   'atspi-matchrule.h',
   'atspi-misc.h',
   'atspi-object.h',
-  'atspi-private.h',
   'atspi-registry.h',
   'atspi-relation.h',
   'atspi-selection.h',
@@ -57,7 +56,16 @@ atspi_headers = [
   'atspi-value.h',
 ]
 
-atspi_includedir = join_paths(get_option('includedir'), 'at-spi-2.0', 'atspi')
+atspi_includedir = join_paths(get_option('prefix'), get_option('includedir'), 'at-spi-2.0', 'atspi')
+
+install_headers(atspi_headers, install_dir: atspi_includedir)
+
+# Marshallers
+atspi_marshals = gnome.genmarshal('atspimarshal',
+  sources: 'atspimarshal.list',
+  prefix: 'atspi_marshal',
+)
+atspi_marshal_h = atspi_marshals[1]
 
 atspi_enums = gnome.mkenums('atspi-enum-types',
                             sources: [ 'atspi-constants.h', 'atspi-types.h' ],
@@ -67,12 +75,59 @@ atspi_enums = gnome.mkenums('atspi-enum-types',
                             install_header: true)
 atspi_enum_h = atspi_enums[1]
 
-atspi = shared_library('atspi', atspi_sources + atspi_enums,
+atspi = library('atspi', atspi_sources + atspi_enums + atspi_marshals,
+                       version: soversion,
+                       soversion: soversion.split('.')[0],
                        include_directories: [ root_inc, registryd_inc ],
-                       dependencies: [ libdbus_dep, gobject_dep, dbind_dep ],
+                       dependencies: [ libdbus_dep, gobject_dep, dbind_dep, x11_deps ],
                        install: true)
 
 atspi_dep = declare_dependency(link_with: atspi,
                                sources: atspi_enum_h,
                                include_directories: root_inc,
                                dependencies: [ libdbus_dep, gobject_dep, ])
+
+if have_gir
+  gir_sources = atspi_sources + atspi_enums + atspi_headers
+
+  gir_incs = [
+    'DBus-1.0',
+    'GLib-2.0',
+    'GObject-2.0'
+  ]
+
+  gir_extra_args = [
+    '--c-include=atspi/atspi.h',
+    '--pkg-export=atspi-2',
+    '--quiet',
+  ]
+
+  gir_dir = join_paths(atspi_datadir, 'gir-1.0')
+  typelib_dir = join_paths(get_option('libdir'), 'girepository-1.0')
+
+  libatspi_gir = gnome.generate_gir(
+    atspi,
+    sources: gir_sources,
+    nsversion: '2.0',
+    namespace: atspi_gir_ns,
+    symbol_prefix: atspi_gir_ns.to_lower(),
+    identifier_prefix: atspi_gir_ns,
+    includes: gir_incs,
+    include_directories: root_inc,
+    install: true,
+    install_dir_gir: gir_dir,
+    install_dir_typelib: typelib_dir,
+    extra_args: gir_extra_args
+  )
+endif
+
+pkgconfig = import('pkgconfig')
+pkgconfig.generate(
+  name: 'atspi',
+  description: 'Accessibility Technology software library',
+  version: meson.project_version(),
+  libraries: atspi,
+  requires: 'dbus-1 glib-2.0',
+  subdirs: 'at-spi-2.0',
+  filebase: 'atspi-2',
+)