[gtk: 1/2] Meson: Simplify pkgconfig file generator
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk: 1/2] Meson: Simplify pkgconfig file generator
- Date: Tue, 24 May 2022 16:46:19 +0000 (UTC)
commit 802bf4199911c811938b0454a876089bafa97dba
Author: Xavier Claessens <xavier claessens collabora com>
Date: Tue May 24 10:30:58 2022 -0400
Meson: Simplify pkgconfig file generator
Meson knows all private dependencies itself when passing the library as
first positional argument, no need to specify them manually. Also
simplify backend specific files by simply requiring gtk4, just like
unix-print already did.
This should fix generated gtk4-uninstalled.pc, see Meson bug report:
https://github.com/mesonbuild/meson/issues/10415
meson.build | 47 ++++++++++++++---------------------------------
1 file changed, 14 insertions(+), 33 deletions(-)
---
diff --git a/meson.build b/meson.build
index d78bbc1cd2..f46236dadd 100644
--- a/meson.build
+++ b/meson.build
@@ -471,9 +471,6 @@ if not os_win32
endif
endif
-
-pc_gdk_extra_libs = []
-
cairo_backends = []
foreach backend: [ ['cairo-xlib', cairo_req, x11_enabled],
['cairo-win32', cairo_req, win32_enabled],
@@ -604,26 +601,14 @@ if x11_enabled
cdata.set('HAVE_RANDR15', xrandr15_dep.found())
endif
-if broadway_enabled
- pc_gdk_extra_libs += ['-lz']
-endif
-
-if macos_enabled
- pc_gdk_extra_libs += ['-framework Cocoa', '-framework Carbon']
-endif
-
extra_demo_ldflags = []
if win32_enabled
- pc_gdk_extra_libs += ['-lgdi32', '-limm32', '-lshell32', '-lole32']
if cc.get_id() == 'msvc'
# Since the demo programs are now built as pure GUI programs, we
# need to pass in /entry:mainCRTStartup so that they will properly
# link on Visual Studio builds
extra_demo_ldflags = ['/entry:mainCRTStartup']
- else
- pc_gdk_extra_libs += ['-Wl,-luuid']
endif
- pc_gdk_extra_libs += ['-lwinmm', '-ldwmapi', '-lsetupapi', '-lcfgmgr32', '-lhid']
# Check whether libepoxy is built with EGL support on Windows
endif
@@ -841,16 +826,7 @@ gsk_private_packages = [] # all already in gdk_private_packages
pangoft2_pkgs = (wayland_enabled or x11_enabled) ? ['pangoft2'] : []
gtk_private_packages = pangoft2_pkgs
-gdk_extra_libs = pc_gdk_extra_libs
-gsk_extra_libs = []
-gtk_extra_libs = []
-
-gdk_extra_cflags = []
-gsk_extra_cflags = []
-gtk_extra_cflags = []
-
-pkgs = [ 'gtk4' ]
-
+pkgs = []
pkg_targets = []
display_backends = []
foreach backend: [ 'broadway', 'macos', 'wayland', 'win32', 'x11', ]
@@ -867,18 +843,23 @@ common_pc_variables = [
'gtk_host=@0@-@1@'.format(host_machine.cpu_family(), host_machine.system()), # FIXME
]
+pkg_config.generate(libgtk,
+ filebase: 'gtk4',
+ unescaped_variables: common_pc_variables,
+ name: 'GTK',
+ description: 'GTK Graphical UI Library',
+ requires: gdk_packages + gsk_packages + gtk_packages,
+ subdirs: ['gtk-@0@'.format(gtk_api_version)],
+)
+meson.override_dependency('gtk4', libgtk_dep)
+
foreach pkg: pkgs
pkg_config.generate(
filebase: pkg,
unescaped_variables: common_pc_variables,
name: 'GTK',
description: 'GTK Graphical UI Library',
- requires: gdk_packages + gsk_packages + gtk_packages,
- requires_private: gdk_private_packages + gsk_private_packages + gtk_private_packages,
- libraries: ['-L${libdir}', '-lgtk-4'],
- libraries_private: gdk_extra_libs + gsk_extra_libs + gtk_extra_libs,
- subdirs: ['gtk-@0@'.format(gtk_api_version)],
- extra_cflags: gdk_extra_cflags + gsk_extra_cflags + gtk_extra_cflags,
+ requires: 'gtk4',
)
meson.override_dependency(pkg, libgtk_dep)
endforeach
@@ -889,10 +870,10 @@ if os_unix
unescaped_variables: common_pc_variables,
name: 'GTK',
description: 'GTK Unix print support',
- requires: ['gtk4'] + gtk_packages,
- libraries: [],
+ requires: 'gtk4',
subdirs: ['gtk-@0@/unix-print'.format(gtk_api_version)],
)
+ meson.override_dependency('gtk4-unix-print', libgtk_dep)
endif
subdir('po')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]