clutter_clutter_includesubdir = clutter_includesubdir / 'clutter' clutter_clutter_includedir = clutter_includedir / 'clutter' clutter_headers = [ 'clutter.h', 'clutter-action.h', 'clutter-actor-meta.h', 'clutter-actor.h', 'clutter-align-constraint.h', 'clutter-animatable.h', 'clutter-backend.h', 'clutter-bind-constraint.h', 'clutter-binding-pool.h', 'clutter-bin-layout.h', 'clutter-blur-effect.h', 'clutter-box-layout.h', 'clutter-brightness-contrast-effect.h', 'clutter-click-action.h', 'clutter-clone.h', 'clutter-color-state.h', 'clutter-color.h', 'clutter-colorize-effect.h', 'clutter-constraint.h', 'clutter-content.h', 'clutter-context.h', 'clutter-deform-effect.h', 'clutter-desaturate-effect.h', 'clutter-effect.h', 'clutter-enums.h', 'clutter-event.h', 'clutter-fixed-layout.h', 'clutter-flow-layout.h', 'clutter-frame-clock.h', 'clutter-frame.h', 'clutter-gesture-action.h', 'clutter-grab.h', 'clutter-grid-layout.h', 'clutter-image.h', 'clutter-input-device.h', 'clutter-input-device-tool.h', 'clutter-input-focus.h', 'clutter-input-method.h', 'clutter-interval.h', 'clutter-keyframe-transition.h', 'clutter-keymap.h', 'clutter-keysyms.h', 'clutter-keyval.c', 'clutter-keyval.h', 'clutter-layout-manager.h', 'clutter-layout-meta.h', 'clutter-macros.h', 'clutter-main.h', 'clutter-mutter.h', 'clutter-offscreen-effect.h', 'clutter-page-turn-effect.h', 'clutter-paint-context.h', 'clutter-paint-nodes.h', 'clutter-paint-node.h', 'clutter-pan-action.h', 'clutter-pick-context.h', 'clutter-property-transition.h', 'clutter-rotate-action.h', 'clutter-scroll-actor.h', 'clutter-seat.h', 'clutter-settings.h', 'clutter-shader-effect.h', 'clutter-shader-types.h', 'clutter-swipe-action.h', 'clutter-snap-constraint.h', 'clutter-stage.h', 'clutter-stage-manager.h', 'clutter-stage-view.h', 'clutter-tap-action.h', 'clutter-text.h', 'clutter-text-buffer.h', 'clutter-texture-content.h', 'clutter-timeline.h', 'clutter-transition-group.h', 'clutter-transition.h', 'clutter-types.h', 'clutter-virtual-input-device.h', 'clutter-zoom-action.h', ] clutter_sources = [ 'clutter-action.c', 'clutter-actor-box.c', 'clutter-actor-meta.c', 'clutter-actor.c', 'clutter-align-constraint.c', 'clutter-animatable.c', 'clutter-backend.c', 'clutter-base-types.c', 'clutter-bind-constraint.c', 'clutter-binding-pool.c', 'clutter-bin-layout.c', 'clutter-blur.c', 'clutter-blur-effect.c', 'clutter-box-layout.c', 'clutter-brightness-contrast-effect.c', 'clutter-click-action.c', 'clutter-clone.c', 'clutter-color.c', 'clutter-color-state.c', 'clutter-colorize-effect.c', 'clutter-constraint.c', 'clutter-content.c', 'clutter-context.c', 'clutter-damage-history.c', 'clutter-deform-effect.c', 'clutter-desaturate-effect.c', 'clutter-effect.c', 'clutter-event.c', 'clutter-fixed-layout.c', 'clutter-flatten-effect.c', 'clutter-flow-layout.c', 'clutter-frame-clock.c', 'clutter-frame.c', 'clutter-gesture-action.c', 'clutter-grab.c', 'clutter-graphene.c', 'clutter-grid-layout.c', 'clutter-image.c', 'clutter-input-device.c', 'clutter-input-device-tool.c', 'clutter-input-focus.c', 'clutter-input-method.c', 'clutter-input-pointer-a11y.c', 'clutter-input-only-action.c', 'clutter-input-only-actor.c', 'clutter-virtual-input-device.c', 'clutter-interval.c', 'clutter-keyframe-transition.c', 'clutter-keymap.c', 'clutter-keysyms-table.c', 'clutter-layout-manager.c', 'clutter-layout-meta.c', 'clutter-main.c', 'clutter-offscreen-effect.c', 'clutter-page-turn-effect.c', 'clutter-paint-context.c', 'clutter-paint-nodes.c', 'clutter-paint-node.c', 'clutter-pan-action.c', 'clutter-pick-context.c', 'clutter-pick-stack.c', 'clutter-property-transition.c', 'clutter-rotate-action.c', 'clutter-scroll-actor.c', 'clutter-seat.c', 'clutter-settings.c', 'clutter-shader-effect.c', 'clutter-shader-types.c', 'clutter-swipe-action.c', 'clutter-snap-constraint.c', 'clutter-stage.c', 'clutter-stage-manager.c', 'clutter-stage-view.c', 'clutter-stage-window.c', 'clutter-tap-action.c', 'clutter-text.c', 'clutter-text-buffer.c', 'clutter-texture-content.c', 'clutter-transition-group.c', 'clutter-transition.c', 'clutter-timeline.c', 'clutter-util.c', 'clutter-paint-volume.c', 'clutter-zoom-action.c', ] clutter_private_headers = [ 'clutter-actor-meta-private.h', 'clutter-actor-private.h', 'clutter-backend-private.h', 'clutter-blur-private.h', 'clutter-constraint-private.h', 'clutter-content-private.h', 'clutter-context-private.h', 'clutter-damage-history.h', 'clutter-debug.h', 'clutter-easing.h', 'clutter-effect-private.h', 'clutter-event-private.h', 'clutter-flatten-effect.h', 'clutter-frame-private.h', 'clutter-graphene.h', 'clutter-input-device-private.h', 'clutter-input-focus-private.h', 'clutter-input-method-private.h', 'clutter-input-pointer-a11y-private.h', 'clutter-input-only-action.h', 'clutter-input-only-actor.h', 'clutter-keymap-private.h', 'clutter-paint-context-private.h', 'clutter-paint-node-private.h', 'clutter-paint-volume-private.h', 'clutter-private.h', 'clutter-settings-private.h', 'clutter-stage-manager-private.h', 'clutter-stage-private.h', 'clutter-stage-view-private.h', 'clutter-stage-window.h', 'clutter-timeline-private.h', ] clutter_nonintrospected_sources = [ 'clutter-easing.c', ] clutter_backend_private_headers = [] cally_headers = [ 'cally/cally-actor.h', 'cally/cally-clone.h', 'cally/cally-factory.h', 'cally/cally.h', 'cally/cally-main.h', 'cally/cally-root.h', 'cally/cally-stage.h', 'cally/cally-text.h', 'cally/cally-util.h', ] cally_sources = [ 'cally/cally-actor.c', 'cally/cally.c', 'cally/cally-clone.c', 'cally/cally-root.c', 'cally/cally-stage.c', 'cally/cally-text.c', 'cally/cally-util.c', ] cally_private_headers = [ 'cally/cally-actor-private.h', ] clutter_built_sources = [] clutter_built_headers = [] clutter_enum_types = gnome.mkenums('clutter-enum-types', sources: clutter_headers, c_template: 'clutter-enum-types.c.in', h_template: 'clutter-enum-types.h.in', install_dir: clutter_clutter_includedir, install_header: true, ) clutter_built_sources += clutter_enum_types[0] clutter_built_headers += clutter_enum_types[1] clutter_marshal = gnome.genmarshal('clutter-marshal', prefix: '_clutter_marshal', sources: 'clutter-marshal.list', valist_marshallers: true, extra_args: ['--quiet'], install_dir: clutter_clutter_includedir, install_header: true, ) clutter_built_sources += clutter_marshal[0] clutter_built_headers += clutter_marshal[1] libmutter_clutter_name = 'mutter-clutter-' + libmutter_api_version libmutter_clutter = shared_library(libmutter_clutter_name, sources: [ clutter_sources, clutter_headers, clutter_private_headers, clutter_nonintrospected_sources, clutter_built_sources, clutter_built_headers, cally_sources, cally_headers, cally_private_headers, ], version: '0.0.0', soversion: 0, c_args: clutter_c_args, include_directories: [clutter_includes, top_includepath], dependencies: [clutter_deps], gnu_symbol_visibility: 'hidden', link_with: [ libmutter_cogl, libmutter_cogl_pango, ], install_rpath: pkglibdir, install_dir: pkglibdir, install: true, ) libmutter_clutter_dep = declare_dependency( sources: [clutter_enum_types[1]], link_with: libmutter_clutter, dependencies: clutter_deps, ) if have_introspection clutter_introspection_args = introspection_args + [ '-DCLUTTER_SYSCONFDIR="@0@"'.format(prefix / sysconfdir), '-DCLUTTER_COMPILATION=1', '-DG_LOG_DOMAIN="Clutter"' ] libmutter_clutter_gir = gnome.generate_gir(libmutter_clutter, sources: [ clutter_built_sources, clutter_built_headers, clutter_sources, clutter_headers, ], nsversion: libmutter_api_version, namespace: 'Clutter', export_packages: [libmutter_clutter_name], includes: [ libmutter_mtk_gir[0], libmutter_cogl_gir[0], libmutter_cogl_pango_gir[0], 'GL-1.0', 'Gio-2.0', 'GObject-2.0', 'cairo-1.0', 'Atk-1.0', ], dependencies: [cogl_deps], extra_args: clutter_introspection_args + ['--c-include=clutter/clutter.h'], kwargs: introspection_common, ) libmutter_cally_gir = gnome.generate_gir(libmutter_clutter, sources: [ cally_sources, cally_headers, ], nsversion: libmutter_api_version, header: 'cally/cally.h', namespace: 'Cally', includes: [ libmutter_mtk_gir[0], libmutter_cogl_gir[0], libmutter_cogl_pango_gir[0], libmutter_clutter_gir[0], ], dependencies: [cogl_deps], extra_args: clutter_introspection_args, kwargs: introspection_common, ) endif install_headers(clutter_headers, subdir: clutter_clutter_includesubdir) install_headers(cally_headers, subdir: clutter_includesubdir / 'cally') pkg.generate(libmutter_clutter, name: 'Mutters Clutter', filebase: libmutter_clutter_name, description: 'Mutters Clutter Private Library', libraries: [m_dep], subdirs: pkgname / 'clutter', requires: [clutter_pkg_deps, libmutter_cogl_name, libmutter_mtk_name], version: meson.project_version(), variables: [ 'apiversion=' + libmutter_api_version, ], install_dir: pcdir, )