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.
This commit is contained in:
Tim-Philipp Müller 2017-03-20 16:26:13 +00:00 committed by Emmanuele Bassi
parent 7738688c00
commit d12ab27c8e
2 changed files with 3 additions and 1 deletions

View File

@ -804,7 +804,8 @@ libgtk_dep = declare_dependency(
gtktypebuiltins_c, gtktypebuiltins_c,
gtktypebuiltins_h, gtktypebuiltins_h,
], ],
dependencies: gtk_deps + [libgdk_dep, libgsk_dep], include_directories: [confinc],
dependencies: gtk_deps,
link_with: libgtk, link_with: libgtk,
link_args: ['-Bsymbolic'], link_args: ['-Bsymbolic'],
include_directories: [confinc, gtkinc] include_directories: [confinc, gtkinc]

View File

@ -145,6 +145,7 @@ foreach t : gtk_tests
test_name = t.get(0) test_name = t.get(0)
test_srcs = ['@0@.c'.format(test_name), t.get(1, [])] test_srcs = ['@0@.c'.format(test_name), t.get(1, [])]
executable(test_name, test_srcs, executable(test_name, test_srcs,
include_directories : [confinc, gdkinc],
c_args : test_args, c_args : test_args,
dependencies : [libgtk_dep, libm]) dependencies : [libgtk_dep, libm])
endforeach endforeach