atk_sources = [ 'atkaction.c', 'atkcomponent.c', 'atkdocument.c', 'atkeditabletext.c', 'atkgobjectaccessible.c', 'atkhyperlink.c', 'atkhyperlinkimpl.c', 'atkhypertext.c', 'atkimage.c', 'atknoopobject.c', 'atknoopobjectfactory.c', 'atkobject.c', 'atkobjectfactory.c', 'atkplug.c', 'atkprivate.c', 'atkrange.c', 'atkregistry.c', 'atkrelation.c', 'atkrelationset.c', 'atkselection.c', 'atksocket.c', 'atkstate.c', 'atkstateset.c', 'atkstreamablecontent.c', 'atktable.c', 'atktablecell.c', 'atktext.c', 'atkutil.c', 'atkmisc.c', 'atkvalue.c', 'atkversion.c', 'atkwindow.c', ] atk_headers = [ 'atk.h', 'atkaction.h', 'atkcomponent.h', 'atkdocument.h', 'atkeditabletext.h', 'atkgobjectaccessible.h', 'atkhyperlink.h', 'atkhyperlinkimpl.h', 'atkhypertext.h', 'atknoopobject.h', 'atknoopobjectfactory.h', 'atkobject.h', 'atkobjectfactory.h', 'atkplug.h', 'atkimage.h', 'atkrange.h', 'atkregistry.h', 'atkrelation.h', 'atkrelationtype.h', 'atkrelationset.h', 'atkselection.h', 'atksocket.h', 'atkstate.h', 'atkstateset.h', 'atkstreamablecontent.h', 'atktable.h', 'atktablecell.h', 'atktext.h', 'atkutil.h', 'atkmisc.h', 'atkvalue.h', 'atkwindow.h', ] install_headers(atk_headers, subdir: atk_api_path) # Features header atk_version_conf = configuration_data() atk_version_conf.set('ATK_MAJOR_VERSION', atk_major_version) atk_version_conf.set('ATK_MINOR_VERSION', atk_minor_version) atk_version_conf.set('ATK_MICRO_VERSION', atk_micro_version) atk_version_conf.set('ATK_BINARY_AGE', atk_binary_age) atk_version_conf.set('ATK_INTERFACE_AGE', atk_interface_age) atk_version_conf.set('LT_CURRENT_MINUS_AGE', '0') atk_version_conf.set('ATK_VERSION', meson.project_version()) atk_version_h = configure_file(input: 'atkversion.h.in', output: 'atkversion.h', configuration: atk_version_conf, install: true, install_dir: join_paths(atk_includedir, atk_api_path)) # Marshallers atk_marshals = gnome.genmarshal('atkmarshal', sources: 'atkmarshal.list', prefix: 'atk_marshal') atk_marshal_h = atk_marshals[1] # Enumerations for GType atk_enums = gnome.mkenums('atk-enum-types', sources: atk_headers, c_template: 'atk-enum-types.c.template', h_template: 'atk-enum-types.h.template', install_dir: join_paths(atk_includedir, atk_api_path), install_header: true) atk_enum_h = atk_enums[1] atk_cflags = [ '-DG_LOG_DOMAIN="Atk"', '-DG_LOG_USE_STRUCTURED=1', '-DGLIB_DISABLE_DEPRECATION_WARNINGS', '-DATK_DISABLE_DEPRECATION_WARNINGS', '-DATK_COMPILATION', '-DATK_LOCALEDIR="@0@"'.format(join_paths(atk_datadir, 'locale')), ] if host_system == 'windows' atk_win_rc = configure_file( input: 'atk.rc.in', output: 'atk.rc', configuration: atk_version_conf, ) atk_win_res = import('windows').compile_resources(atk_win_rc) atk_sources += atk_win_res endif atk_inc = include_directories('.') libatk = shared_library('atk-@0@'.format(atk_api_version), sources: atk_sources + atk_enums + atk_marshals, soversion: atk_soversion, version: atk_libversion, install: true, dependencies: gobject_dep, include_directories: [ root_inc, atk_inc ], c_args: common_cflags + atk_cflags, link_args: common_ldflags) libatk_dep = declare_dependency(link_with: libatk, include_directories: atk_inc, dependencies: gobject_dep, sources: atk_enum_h) if not meson.is_cross_build() and get_option('introspection') gnome.generate_gir(libatk, sources: atk_sources + atk_headers + [ atk_enum_h ] + [ atk_version_h ], namespace: 'Atk', nsversion: atk_api_version, identifier_prefix: 'Atk', symbol_prefix: 'atk', export_packages: 'atk', includes: [ 'GObject-2.0' ], install: true, extra_args: [ '--quiet', '--c-include=atk/atk.h', '-DATK_COMPILATION', ]) endif