[gnome-disk-utility] build: Revise dependencies



commit 34a16ff1528bb44620eb3a5babd6bf0cbb324e11
Author: Iñigo Martínez <inigomartinez gmail com>
Date:   Thu Jul 4 08:32:02 2019 +0200

    build: Revise dependencies
    
    gnome-disk-utility builds an internal static library called `libgdu`
    that depends on a set of libraries (`gtk+-3.0`, `udisks2`, ...).
    Then this static library is used when building `gnome-disks` and
    `gnome-disk-image` mounter so the libraries exposed in `libgdu`'s
    headers are indirect dependencies.
    
    Only these indirect dependencies, not those used when building the
    target itself, have been added to the `libgdu` internal dependency
    so they are not necessary to be added explicitly on new targets.
    
    The generated enums header has also been added to the dependency as
    it is also an indirect dependency.

 src/disk-image-mounter/meson.build |  5 +----
 src/disks/meson.build              |  6 ++++--
 src/libgdu/meson.build             | 16 +++++++---------
 src/notify/meson.build             |  1 -
 4 files changed, 12 insertions(+), 16 deletions(-)
---
diff --git a/src/disk-image-mounter/meson.build b/src/disk-image-mounter/meson.build
index 6a0fb34e..521caae2 100644
--- a/src/disk-image-mounter/meson.build
+++ b/src/disk-image-mounter/meson.build
@@ -2,10 +2,7 @@ name = 'gnome-disk-image-mounter'
 
 deps = [
   gio_unix_dep,
-  gmodule_dep,
-  gtk_dep,
   libgdu_dep,
-  udisk_dep,
 ]
 
 cflags = [
@@ -16,7 +13,7 @@ cflags = [
 
 executable(
   name,
-  ['main.c']  + libgduenumtypes,
+  'main.c',
   include_directories: top_inc,
   dependencies: deps,
   c_args: cflags,
diff --git a/src/disks/meson.build b/src/disks/meson.build
index 149c77d4..2e3b16af 100644
--- a/src/disks/meson.build
+++ b/src/disks/meson.build
@@ -86,14 +86,12 @@ deps = [
   dvdread_dep,
   gio_unix_dep,
   gmodule_dep,
-  gtk_dep,
   libcanberra_dep,
   libgdu_dep,
   liblzma_dep,
   libsecret_dep,
   m_dep,
   pwquality_dep,
-  udisk_dep,
 ]
 
 cflags = [
@@ -102,6 +100,10 @@ cflags = [
   '-DGNOMELOCALEDIR="@0@"'.format(gdu_prefix / gdu_localedir),
 ]
 
+if enable_logind
+  deps += logind_dep
+endif
+
 executable(
   name.to_lower(),
   sources,
diff --git a/src/libgdu/meson.build b/src/libgdu/meson.build
index 59c8e04e..7e097078 100644
--- a/src/libgdu/meson.build
+++ b/src/libgdu/meson.build
@@ -4,25 +4,22 @@ sources = files('gduutils.c')
 
 enum = 'libgduenumtypes'
 
-libgduenumtypes = gnome.mkenums(
+enum_sources = gnome.mkenums(
   enum,
   sources: enum_headers,
   c_template: enum + '.c.template',
   h_template: enum + '.h.template',
 )
 
+private_deps = [m_dep]
+
 deps = [
-  gio_unix_dep,
-  gmodule_dep,
   gtk_dep,
-  libsecret_dep,
-  m_dep,
-  pwquality_dep,
   udisk_dep,
 ]
 
 if enable_logind
-  deps += logind_dep
+  private_deps += logind_dep
 endif
 
 cflags = [
@@ -33,13 +30,14 @@ cflags = [
 
 libgdu = static_library(
   'gdu',
-  sources: sources + libgduenumtypes,
+  sources: sources + enum_sources,
   include_directories: top_inc,
-  dependencies: deps,
+  dependencies: deps + private_deps,
   c_args: cflags,
 )
 
 libgdu_dep = declare_dependency(
+  sources: enum_sources[1],
   link_with: libgdu,
   include_directories: include_directories('.'),
   dependencies: deps,
diff --git a/src/notify/meson.build b/src/notify/meson.build
index 2edc28ef..8ef29ff7 100644
--- a/src/notify/meson.build
+++ b/src/notify/meson.build
@@ -4,7 +4,6 @@ sources = files(
 )
 
 deps = [
-  gio_unix_dep,
   gmodule_dep,
   gtk_dep,
   libnotify_dep,


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