From 5f5fd77f096174c45f8335afe6efd6745796d9a5 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Mon, 25 Jul 2022 16:21:50 +0200 Subject: [PATCH] Revert "Meson: Simplify pkgconfig file generator" Temporarily revert this until we figure out how to best restore private requires that are needed for rpm automatic dep extraction. https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4756 This reverts commit 802bf4199911c811938b0454a876089bafa97dba. --- meson.build | 47 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/meson.build b/meson.build index 1b8f2d0248..4fc808dbd4 100644 --- a/meson.build +++ b/meson.build @@ -471,6 +471,9 @@ 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], @@ -601,14 +604,26 @@ 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 @@ -826,7 +841,16 @@ gsk_private_packages = [] # all already in gdk_private_packages pangoft2_pkgs = (wayland_enabled or x11_enabled) ? ['pangoft2'] : [] gtk_private_packages = pangoft2_pkgs -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' ] + pkg_targets = [] display_backends = [] foreach backend: [ 'broadway', 'macos', 'wayland', 'win32', 'x11', ] @@ -843,23 +867,18 @@ 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: 'gtk4', + 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, ) meson.override_dependency(pkg, libgtk_dep) endforeach @@ -870,10 +889,10 @@ if os_unix unescaped_variables: common_pc_variables, name: 'GTK', description: 'GTK Unix print support', - requires: 'gtk4', + requires: ['gtk4'] + gtk_packages, + libraries: [], subdirs: ['gtk-@0@/unix-print'.format(gtk_api_version)], ) - meson.override_dependency('gtk4-unix-print', libgtk_dep) endif subdir('po') -- 2.37.1