[gtk/static-lib-for-tests: 1/2] Create a static library




commit 14f0a0addb9a195bad2f8651f93b95450b186bd6
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Jan 22 21:50:55 2021 -0500

    Create a static library
    
    Rearrange our build to create a libgtk.a for the the contents of gtk/,
    and build libgtk-4.so from our per-subdirectory static libraries.
    This will let us link tests statically for testing internal apis.

 gtk/meson.build | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)
---
diff --git a/gtk/meson.build b/gtk/meson.build
index f1fd696297..dfbc36709d 100644
--- a/gtk/meson.build
+++ b/gtk/meson.build
@@ -1106,15 +1106,22 @@ darwin_versions = [
 ]
 
 # Library
-libgtk = library('gtk-4',
-  soversion: gtk_soversion,
-  version: gtk_library_version,
+libgtk_static = static_library('gtk',
   sources: [typefuncs, gtk_sources, gtkmarshal_h, gtkprivatetypebuiltins_h],
   c_args: gtk_cargs + common_cflags,
   include_directories: [confinc, gdkinc, gskinc, gtkinc],
   dependencies: gtk_deps + [libgtk_css_dep, libgdk_dep, libgsk_dep],
-  link_whole: [libgtk_css, libgdk, libgsk, ],
+  link_with: [libgtk_css, libgdk, libgsk ],
+)
+
+libgtk = shared_library('gtk-4',
+  c_args: gtk_cargs + common_cflags,
+  include_directories: [confinc, gdkinc, gskinc, gtkinc],
+  dependencies: gtk_deps + [libgtk_css_dep, libgdk_dep, libgsk_dep],
+  link_whole: [libgtk_static, libgtk_css, libgdk, libgsk ],
   link_args: common_ldflags,
+  soversion: gtk_soversion,
+  version: gtk_library_version,
   darwin_versions: darwin_versions,
   install: true,
 )
@@ -1264,4 +1271,11 @@ libgtk_dep = declare_dependency(sources: gtk_dep_sources,
   link_args: common_ldflags,
 )
 
+libgtk_static_dep = declare_dependency(sources: gtk_dep_sources,
+  include_directories: [confinc, gtkinc],
+  dependencies: gtk_deps + [libgtk_css_dep, libgdk_dep, libgsk_dep],
+  link_with: libgtk_static,
+  link_args: common_ldflags,
+)
+
 subdir('tools')


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]