diff --git a/meson.build b/meson.build index 86999b9d33..5a461c0336 100644 --- a/meson.build +++ b/meson.build @@ -12,7 +12,7 @@ project('gtk', 'c', glib_req = '>= 2.72.0' pango_req = '>= 1.50.0' # keep this in sync with .gitlab-ci/test-msys.sh -harfbuzz_req = '>= 2.6.0' +harfbuzz_req = '>= 2.6.0' fribidi_req = '>= 0.19.7' cairo_req = '>= 1.14.0' gdk_pixbuf_req = '>= 2.30.0' @@ -368,65 +368,42 @@ gtkinc = include_directories('gtk') testinc = include_directories('tests') # Dependencies -glib_dep = dependency('glib-2.0', version: glib_req, - fallback : ['glib', 'libglib_dep']) -gobject_dep = dependency('gobject-2.0', version: glib_req, - fallback : ['glib', 'libgobject_dep']) +glib_dep = dependency('glib-2.0', version: glib_req) +gobject_dep = dependency('gobject-2.0', version: glib_req) if os_win32 - giowin32_dep = dependency('gio-windows-2.0', version: glib_req, required: win32_enabled, - fallback : ['glib', 'libgio_dep']) + giowin32_dep = dependency('gio-windows-2.0', version: glib_req, required: win32_enabled) endif if os_unix - giounix_dep = dependency('gio-unix-2.0', version: glib_req, required: false, - fallback : ['glib', 'libgio_dep']) + giounix_dep = dependency('gio-unix-2.0', version: glib_req, required: false) endif -gmodule_dep = dependency('gmodule-2.0', version: glib_req, - fallback : ['glib', 'libgmodule_dep']) +gmodule_dep = dependency('gmodule-2.0', version: glib_req) cairo_dep = dependency('cairo', version: cairo_req, - fallback : ['cairo', 'libcairo_dep'], default_options: ['zlib=enabled', 'tests=disabled']) -cairogobj_dep = dependency('cairo-gobject', version: cairo_req, - fallback : ['cairo', 'libcairogobject_dep']) -pango_dep = dependency('pango', version: pango_req, - fallback : ['pango', 'libpango_dep']) -fribidi_dep = dependency('fribidi', version: fribidi_req, - fallback : ['fribidi', 'libfribidi_dep']) +cairogobj_dep = dependency('cairo-gobject', version: cairo_req) +pango_dep = dependency('pango', version: pango_req) +fribidi_dep = dependency('fribidi', version: fribidi_req) harfbuzz_dep = dependency('harfbuzz', version: harfbuzz_req, - fallback: ['harfbuzz', 'libharfbuzz_dep'], default_options: ['coretext=enabled']) # Require PangoFT2 if on X11 or wayland -require_pangoft2 = wayland_enabled or x11_enabled - -if require_pangoft2 - pangoft_dep = dependency('pangoft2', version: pango_req, - fallback : ['pango', 'libpangoft2_dep']) -else - pangoft_dep = dependency('pangoft2', required: false) -endif +pangoft_dep = dependency('pangoft2', version: pango_req, + required: wayland_enabled or x11_enabled) if win32_enabled # for GTK_IM_CONTEXT_IME pangowin32_dep = dependency('pangowin32') endif -pangocairo_dep = dependency('pangocairo', version: pango_req, - fallback : ['pango', 'libpangocairo_dep']) +pangocairo_dep = dependency('pangocairo', version: pango_req) pixbuf_dep = dependency('gdk-pixbuf-2.0', version: gdk_pixbuf_req, - fallback : ['gdk-pixbuf', 'gdkpixbuf_dep'], default_options: ['png=enabled', 'jpeg=enabled', 'builtin_loaders=png,jpeg', 'man=false']) -png_dep = dependency('libpng', 'png', - fallback: ['libpng', 'libpng_dep']) -tiff_dep = dependency('libtiff-4', 'tiff', - fallback: ['libtiff', 'libtiff4_dep']) -jpeg_dep = dependency('libjpeg', 'jpeg', - fallback: ['libjpeg-turbo', 'jpeg_dep']) +png_dep = dependency('libpng', 'png') +tiff_dep = dependency('libtiff-4', 'tiff') +jpeg_dep = dependency('libjpeg', 'jpeg') -epoxy_dep = dependency('epoxy', version: epoxy_req, - fallback: ['libepoxy', 'libepoxy_dep']) +epoxy_dep = dependency('epoxy', version: epoxy_req) xkbdep = dependency('xkbcommon', version: xkbcommon_req, required: wayland_enabled) graphene_dep = dependency('graphene-gobject-1.0', version: graphene_req, - fallback: ['graphene', 'graphene_dep'], default_options: ['tests=false']) iso_codes_dep = dependency('iso-codes', required: false) @@ -506,11 +483,9 @@ cdata.set('HAVE_PANGOFT', pangoft_dep.found()) wayland_pkgs = [] if wayland_enabled wlclientdep = dependency('wayland-client', version: wayland_req, - fallback: 'wayland', default_options: ['documentation=false']) wlprotocolsdep = dependency('wayland-protocols', version: wayland_proto_req) - wlegldep = dependency('wayland-egl', - fallback: 'wayland') + wlegldep = dependency('wayland-egl') wlproto_dir = wlprotocolsdep.get_variable('pkgdatadir') @@ -646,10 +621,6 @@ endif cloudproviders_dep = dependency('cloudproviders', required: get_option('cloudproviders'), version: cloudproviders_req, - fallback: [ - 'libcloudproviders', - 'libcloudproviders_dep', - ], default_options: [ 'vapigen=false', ]) @@ -669,7 +640,6 @@ if not get_option('sysprof').disabled() 'sysprofd=none', 'help=false', ], - fallback: ['sysprof', 'libsysprof_capture_dep'], ) cdata.set('HAVE_SYSPROF', libsysprof_capture_dep.found()) libsysprof_dep = dependency('sysprof-4', @@ -684,7 +654,6 @@ if not get_option('sysprof').disabled() 'sysprofd=none', 'help=false', ], - fallback: ['sysprof', 'libsysprof_dep'], ) profiler_enabled = true else diff --git a/subprojects/cairo.wrap b/subprojects/cairo.wrap index d09964e401..fb8aa712b3 100644 --- a/subprojects/cairo.wrap +++ b/subprojects/cairo.wrap @@ -1,6 +1,10 @@ [wrap-git] -directory=cairo -url=https://gitlab.freedesktop.org/cairo/cairo.git -push-url=ssh://git@gitlab.freedesktop.org:cairo/cairo.git -revision=master -depth=1 +directory = cairo +url = https://gitlab.freedesktop.org/cairo/cairo.git +push-url = ssh://git@gitlab.freedesktop.org:cairo/cairo.git +revision = master +depth = 1 + +[provide] +cairo = libcairo_dep +cairo-gobject = libcairogobject_dep diff --git a/subprojects/fribidi.wrap b/subprojects/fribidi.wrap new file mode 100644 index 0000000000..20ba8edf1d --- /dev/null +++ b/subprojects/fribidi.wrap @@ -0,0 +1,9 @@ +[wrap-git] +directory = fribidi +url = https://github.com/fribidi/fribidi.git +push-url = git@github.com:fribidi/fribidi.git +revision = master +depth = 1 + +[provide] +dependency_names = fribidi diff --git a/subprojects/gdk-pixbuf.wrap b/subprojects/gdk-pixbuf.wrap index fd02e95aaf..d3a2db833f 100644 --- a/subprojects/gdk-pixbuf.wrap +++ b/subprojects/gdk-pixbuf.wrap @@ -4,3 +4,7 @@ url = https://gitlab.gnome.org/GNOME/gdk-pixbuf.git push-url = ssh://git@ssh.gitlab.gnome.org:GNOME/gdk-pixbuf.git revision = master depth = 1 + +[provide] +dependency_names = gdk-pixbuf-2.0 +program_names = gdk-pixbuf-query-loaders, gdk-pixbuf-pixdata, gdk-pixbuf-csource, gdk-pixbuf-thumbnailer diff --git a/subprojects/glib.wrap b/subprojects/glib.wrap index 08f7d4e52a..525a37bbf3 100644 --- a/subprojects/glib.wrap +++ b/subprojects/glib.wrap @@ -4,3 +4,7 @@ url = https://gitlab.gnome.org/GNOME/glib.git push-url = ssh://git@ssh.gitlab.gnome.org:GNOME/glib.git revision = main depth = 1 + +[provide] +dependency_names = gthread-2.0, gobject-2.0, gmodule-no-export-2.0, gmodule-export-2.0, gmodule-2.0, glib-2.0, gio-2.0, gio-windows-2.0, gio-unix-2.0 +program_names = glib-genmarshal, glib-mkenums, glib-compile-schemas, glib-compile-resources, gio-querymodules, gdbus-codegen diff --git a/subprojects/graphene.wrap b/subprojects/graphene.wrap index 902095dbd7..e15c661551 100644 --- a/subprojects/graphene.wrap +++ b/subprojects/graphene.wrap @@ -1,5 +1,8 @@ [wrap-git] -directory=graphene -url=https://github.com/ebassi/graphene.git -revision=master -depth=1 +directory = graphene +url = https://github.com/ebassi/graphene.git +revision = master +depth = 1 + +[provide] +dependency_names = graphene-1.0, graphene-gobject-1.0 diff --git a/subprojects/harfbuzz.wrap b/subprojects/harfbuzz.wrap index a57870b2e0..9245bfb525 100644 --- a/subprojects/harfbuzz.wrap +++ b/subprojects/harfbuzz.wrap @@ -1,6 +1,9 @@ [wrap-git] -directory=harfbuzz -url=https://github.com/harfbuzz/harfbuzz.git -push-url=git@github.com:harfbuzz/harfbuzz.git -revision=4.0.0 -depth=1 +directory = harfbuzz +url = https://github.com/harfbuzz/harfbuzz.git +push-url = git@github.com:harfbuzz/harfbuzz.git +revision = 4.0.0 +depth = 1 + +[provide] +harfbuzz = libharfbuzz_dep diff --git a/subprojects/libcloudproviders.wrap b/subprojects/libcloudproviders.wrap index baa31bb003..919c70345f 100644 --- a/subprojects/libcloudproviders.wrap +++ b/subprojects/libcloudproviders.wrap @@ -1,5 +1,9 @@ [wrap-git] -directory=libcloudproviders -url=https://gitlab.gnome.org/World/libcloudproviders.git -revision=master -depth=1 +directory = libcloudproviders +url = https://gitlab.gnome.org/World/libcloudproviders.git +push-url = ssh://git@ssh.gitlab.gnome.org:World/libcloudproviders.git +revision = master +depth = 1 + +[provide] +libcloudproviders = libcloudproviders_dep diff --git a/subprojects/libepoxy.wrap b/subprojects/libepoxy.wrap index fc5147a22b..245769050a 100644 --- a/subprojects/libepoxy.wrap +++ b/subprojects/libepoxy.wrap @@ -1,5 +1,8 @@ [wrap-git] -directory=libepoxy -url=https://github.com/anholt/libepoxy.git -revision=master -depth=1 +directory = libepoxy +url = https://github.com/anholt/libepoxy.git +revision = master +depth = 1 + +[provide] +dependency_names = epoxy diff --git a/subprojects/pango.wrap b/subprojects/pango.wrap index aebcfbe4cd..b75c158b86 100644 --- a/subprojects/pango.wrap +++ b/subprojects/pango.wrap @@ -4,3 +4,10 @@ url = https://gitlab.gnome.org/GNOME/pango.git push-url = ssh://git@ssh.gitlab.gnome.org:GNOME/pango.git revision = main depth = 1 + +[provide] +pango = libpango_dep +pangoft2 = libpangoft2_dep +pangoxft = libpangoxft_dep +pangowin32 = libpangowin32_dep +pangocairo = libpangocairo_dep diff --git a/subprojects/sysprof.wrap b/subprojects/sysprof.wrap index 99aa36ce87..29dcbdc130 100644 --- a/subprojects/sysprof.wrap +++ b/subprojects/sysprof.wrap @@ -1,5 +1,8 @@ [wrap-git] -directory=sysprof -url=https://gitlab.gnome.org/GNOME/sysprof.git -revision=master -depth=1 +directory = sysprof +url = https://gitlab.gnome.org/GNOME/sysprof.git +revision = master +depth = 1 + +[provide] +dependency_names = sysprof-4, sysprof-capture-4, sysprof-ui-4 diff --git a/subprojects/wayland.wrap b/subprojects/wayland.wrap index 5be67bf491..7dc36737f7 100644 --- a/subprojects/wayland.wrap +++ b/subprojects/wayland.wrap @@ -1,8 +1,9 @@ [wrap-git] -directory=wayland -url=https://gitlab.freedesktop.org/wayland/wayland.git -revision=main -depth=1 +directory = wayland +url = https://gitlab.freedesktop.org/wayland/wayland.git +push-url = git@gitlab.freedesktop.org:wayland/wayland +revision = main +depth = 1 [provide] dependency_names = wayland-client, wayland-egl