From d12ab27c8e0c6c7d5580d6790fac73e6a433ebc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Mon, 20 Mar 2017 16:26:13 +0000 Subject: [PATCH] meson: gtk: remove internal static libs from declared gtk dependency gdk and gsk are no longer separate libs but part of gtk now, so any Gtk+ user should just link to gtk, there's no need to additionally link against all those static helper libs that go into the gtk lib. This means we need to specifically add confinc to include_directories in more places to make sure the right config.h (i.e. ours) gets included and not a subproject's like graphene's config.h. Not dragging in static libs also fixes the issue of all executables having to be relinked for any and all changes. With this change it's super-fast now and can be skipped for most changes that don't touch the external ABI. --- gtk/meson.build | 3 ++- tests/meson.build | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/meson.build b/gtk/meson.build index 3fb7d7257b..8f9c08cb03 100644 --- a/gtk/meson.build +++ b/gtk/meson.build @@ -804,7 +804,8 @@ libgtk_dep = declare_dependency( gtktypebuiltins_c, gtktypebuiltins_h, ], - dependencies: gtk_deps + [libgdk_dep, libgsk_dep], + include_directories: [confinc], + dependencies: gtk_deps, link_with: libgtk, link_args: ['-Bsymbolic'], include_directories: [confinc, gtkinc] diff --git a/tests/meson.build b/tests/meson.build index 2435e3d0e4..be12e42cc6 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -145,6 +145,7 @@ foreach t : gtk_tests test_name = t.get(0) test_srcs = ['@0@.c'.format(test_name), t.get(1, [])] executable(test_name, test_srcs, + include_directories : [confinc, gdkinc], c_args : test_args, dependencies : [libgtk_dep, libm]) endforeach