[gvfs] build: Revise dependencies
- From: Ondrej Holy <oholy src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gvfs] build: Revise dependencies
- Date: Tue, 3 Apr 2018 15:57:41 +0000 (UTC)
commit f45605210db66306ed32f9a0c6057bf095e81bb3
Author: Iñigo Martínez <inigomartinez gmail com>
Date: Mon Mar 26 22:43:50 2018 +0200
build: Revise dependencies
gvfs is using a set of glib libraries (gio-2.0, gio-unix-2.0, glib,
gobject-2.0) in almost all the created objects. However, these
dependencies are not always necessary.
gvfs' meson port also uses some internal dependencies formed by
built libraries. This internal dependencies depend on other
dependendecies as well.
These both issues have been fixed by reviewing all the internal
dependencies and built objects.
https://bugzilla.gnome.org/show_bug.cgi?id=794365
client/meson.build | 23 +++++++++++++--------
common/meson.build | 46 ++++++++++++++++++++++++++++++------------
daemon/meson.build | 23 +++++++++++++--------
daemon/trashlib/meson.build | 13 +++++++++--
meson.build | 11 ++-------
metadata/meson.build | 25 ++++++++++++++---------
monitor/afc/meson.build | 5 ++-
monitor/gdu/meson.build | 6 +++-
monitor/goa/meson.build | 5 ++-
monitor/gphoto2/meson.build | 6 ++--
monitor/mtp/meson.build | 6 ++--
monitor/proxy/meson.build | 16 ++++++++++++--
monitor/udisks2/meson.build | 10 +++++---
test/meson.build | 7 +++++-
14 files changed, 130 insertions(+), 72 deletions(-)
---
diff --git a/client/meson.build b/client/meson.build
index fd69f94..038b2da 100644
--- a/client/meson.build
+++ b/client/meson.build
@@ -31,6 +31,12 @@ sources = uri_parser_sources + uri_utils + files(
'gvfsurimapper.c'
)
+deps = [
+ gio_unix_dep,
+ libgvfscommon_dep,
+ libmetadata_dep
+]
+
cflags = [
'-DG_LOG_DOMAIN="@0@"'.format(gvfs_name.to_upper()),
'-DGVFS_LOCALEDIR="@0@"'.format(gvfs_localedir),
@@ -48,10 +54,7 @@ libgvfsdbus = shared_module(
'gvfsdbus',
sources: sources,
include_directories: top_inc,
- dependencies: [
- libgvfscommon_dep,
- libmetadata_dep
- ],
+ dependencies: deps,
c_args: cflags,
link_args: ldflags,
link_depends: symbol_map,
@@ -67,7 +70,7 @@ if enable_devel_utils
test_name,
[test_name + '.c'] + uri_utils,
include_directories: top_inc,
- dependencies: glib_deps + [libgvfscommon_dep],
+ dependencies: libgvfscommon_dep,
c_args: cflags
)
endif
@@ -81,14 +84,16 @@ if enable_fuse
)
endif
+ deps = [
+ fuse_dep,
+ libgvfscommon_dep
+ ]
+
executable(
'gvfsd-fuse',
'gvfsfusedaemon.c',
include_directories: top_inc,
- dependencies: glib_deps + [
- fuse_dep,
- libgvfscommon_dep
- ],
+ dependencies: deps,
c_args: cflags + ['-UG_LOG_DOMAIN'],
install: true,
install_rpath: gvfs_rpath,
diff --git a/common/meson.build b/common/meson.build
index e269cb7..ab09c33 100644
--- a/common/meson.build
+++ b/common/meson.build
@@ -26,13 +26,19 @@ dbus_sources = custom_target(
command: [codegen, gvfs_namespace + '.', name, namespace, meson.current_build_dir(), '@INPUT@', '@OUTPUT@']
)
+deps = [
+ gio_dep,
+ glib_dep,
+ gobject_dep
+]
+
cflags = common_cflags + ['-DREMOTE_VOLUME_MONITORS_DIR="@0@"'.format(gvfs_remote_volume_monitors_dir)]
libgvfscommon = shared_library(
'gvfscommon',
sources: sources + [dbus_sources],
include_directories: top_inc,
- dependencies: glib_deps,
+ dependencies: deps + [gio_unix_dep],
c_args: cflags,
install: true,
install_dir: gvfs_pkglibdir
@@ -40,11 +46,15 @@ libgvfscommon = shared_library(
libgvfscommon_dep = declare_dependency(
sources: dbus_sources[1],
- link_with: libgvfscommon,
- include_directories: common_inc
+ include_directories: common_inc,
+ dependencies: deps,
+ link_with: libgvfscommon
)
-deps = glib_deps
+deps = [
+ gio_dep,
+ glib_dep
+]
if enable_bluray
deps += libbluray_dep
@@ -60,8 +70,9 @@ libgvfscommon_monitor = static_library(
)
libgvfscommon_monitor_dep = declare_dependency(
- link_with: libgvfscommon_monitor,
- include_directories: common_inc
+ include_directories: common_inc,
+ dependencies: gio_dep,
+ link_with: libgvfscommon_monitor
)
if enable_dnssd
@@ -70,9 +81,11 @@ if enable_dnssd
'gvfsdnssdutils.c'
)
- deps = glib_deps + [
+ deps = [
avahi_client_dep,
- avahi_glib_dep
+ avahi_glib_dep,
+ gio_dep,
+ glib_dep
]
libgvfscommon_dnssd = static_library(
@@ -85,21 +98,28 @@ if enable_dnssd
)
libgvfscommon_dnssd_dep = declare_dependency(
- link_with: libgvfscommon_dnssd,
- include_directories: common_inc
+ include_directories: common_inc,
+ dependencies: gio_dep,
+ link_with: libgvfscommon_dnssd
)
endif
if enable_mtp or enable_gphoto2
+ deps = [
+ glib_dep,
+ gudev_dep
+ ]
+
libgvfscommon_gphoto2 = static_library(
'gvfscommon-gphoto2',
sources: 'gvfsgphoto2utils.c',
include_directories: top_inc,
- dependencies: gudev_dep
+ dependencies: deps
)
libgvfscommon_gphoto2_dep = declare_dependency(
- link_with: libgvfscommon_gphoto2,
- include_directories: common_inc
+ include_directories: common_inc,
+ dependencies: deps,
+ link_with: libgvfscommon_gphoto2
)
endif
diff --git a/daemon/meson.build b/daemon/meson.build
index bf66594..1ecb303 100644
--- a/daemon/meson.build
+++ b/daemon/meson.build
@@ -95,7 +95,10 @@ sources = files(
'gvfswritechannel.c'
)
-deps = glib_deps + socket_deps + [libgvfscommon_dep]
+deps = socket_deps + [
+ gio_unix_dep,
+ libgvfscommon_dep
+]
if enable_gcr
deps += gcr_dep
@@ -122,10 +125,10 @@ libgvfsdaemon = shared_library(
)
libgvfsdaemon_dep = declare_dependency(
- link_with: libgvfsdaemon,
include_directories: include_directories('.'),
- dependencies: deps,
- compile_args: cflags
+ dependencies: libgvfscommon_dep,
+ compile_args: cflags,
+ link_with: libgvfsdaemon
)
sources = files(
@@ -220,7 +223,7 @@ cflags = [
'-DMAX_JOB_THREADS=1'
]
-programs += [['gvfsd-computer', sources, [], cflags]]
+programs += [['gvfsd-computer', sources, [gio_unix_dep], cflags]]
mounts += ['computer']
sources = files('gvfsbackendnetwork.c')
@@ -245,7 +248,7 @@ cflags = [
'-DMAX_JOB_THREADS=1'
]
-programs += [['gvfsd-burn', sources, [], cflags]]
+programs += [['gvfsd-burn', sources, [gio_unix_dep], cflags]]
mounts += ['burn']
sources = files(
@@ -253,7 +256,10 @@ sources = files(
'pty_open.c'
)
-deps = socket_deps + [util_dep]
+deps = socket_deps + [
+ gio_unix_dep,
+ util_dep
+]
cflags = [
'-DBACKEND_HEADER=gvfsbackendsftp.h',
@@ -420,7 +426,7 @@ if enable_gphoto2
sources = files('gvfsbackendgphoto2.c')
deps = [
- gudev_dep,
+ gio_unix_dep,
libgphoto2_dep,
libgvfscommon_gphoto2_dep
]
@@ -440,7 +446,6 @@ if enable_mtp
sources = files('gvfsbackendmtp.c')
deps = [
- gudev_dep,
libgvfscommon_gphoto2_dep,
libmtp_dep
]
diff --git a/daemon/trashlib/meson.build b/daemon/trashlib/meson.build
index 610bb62..f0735cf 100644
--- a/daemon/trashlib/meson.build
+++ b/daemon/trashlib/meson.build
@@ -6,14 +6,21 @@ sources = files(
'trashexpunge.c'
)
+deps = [
+ gio_dep,
+ gio_unix_dep,
+ glib_dep
+]
+
libtrash = static_library(
'trash',
sources: sources,
include_directories: top_inc,
- dependencies: glib_deps
+ dependencies: deps
)
libtrash_dep = declare_dependency(
- link_with: libtrash,
- include_directories: include_directories('.')
+ include_directories: include_directories('.'),
+ dependencies: gio_dep,
+ link_with: libtrash
)
diff --git a/meson.build b/meson.build
index c4cf97e..15a78e4 100644
--- a/meson.build
+++ b/meson.build
@@ -226,14 +226,9 @@ ldflag = '-Wl,--version-script'
have_version_script = host_machine.system().contains('linux') and cc.has_argument(ldflag)
gio_dep = dependency('gio-2.0')
-
-glib_deps = [
- gio_dep,
- dependency('gio-unix-2.0'),
- dependency('glib-2.0', version: '>= 2.51.0'),
- dependency('gmodule-no-export-2.0'),
- dependency('gobject-2.0')
-]
+gio_unix_dep = dependency('gio-unix-2.0')
+glib_dep = dependency('glib-2.0', version: '>= 2.51.0')
+gobject_dep = dependency('gobject-2.0')
# *** Check for libXML ***
libxml_dep = dependency('libxml-2.0', required: false)
diff --git a/metadata/meson.build b/metadata/meson.build
index 9eac076..01fafe6 100644
--- a/metadata/meson.build
+++ b/metadata/meson.build
@@ -47,6 +47,11 @@ sources = files(
'metatree.c'
)
+deps = [
+ gio_dep,
+ glib_dep
+]
+
cflags = [
'-DDBUS_API_SUBJECT_TO_CHANGE',
'-DG_LOG_DOMAIN="@0@"'.format(gvfs_name.to_upper()),
@@ -57,32 +62,32 @@ libmetadata = static_library(
'metadata',
sources: sources + [dbus_sources],
include_directories: [top_inc, common_inc],
- dependencies: glib_deps,
+ dependencies: deps + [gio_unix_dep],
c_args: cflags,
pic: true
)
libmetadata_dep = declare_dependency(
sources: dbus_sources[1],
- link_with: libmetadata,
include_directories: include_directories('.'),
- dependencies: glib_deps
+ dependencies: deps,
+ link_with: libmetadata
)
-metadata_deps = [
- libmetadata_dep,
- libgvfscommon_dep
+deps = [
+ libgvfscommon_dep,
+ libmetadata_dep
]
if enable_gudev
- metadata_deps += gudev_dep
+ deps += gudev_dep
endif
executable(
'gvfsd-metadata',
'meta-daemon.c',
include_directories: top_inc,
- dependencies: metadata_deps,
+ dependencies: deps,
c_args: cflags,
install: true,
install_rpath: gvfs_rpath,
@@ -103,8 +108,8 @@ if enable_devel_utils
app + '.c',
include_directories: top_inc,
dependencies: [
- libmetadata_dep,
- libgvfscommon_dep
+ libgvfscommon_dep,
+ libmetadata_dep
],
c_args: cflags
)
diff --git a/monitor/afc/meson.build b/monitor/afc/meson.build
index b4735fe..0af5a8d 100644
--- a/monitor/afc/meson.build
+++ b/monitor/afc/meson.build
@@ -42,10 +42,11 @@ sources = files(
'afcvolumemonitor.c'
)
-deps = glib_deps + [
+deps = [
+ glib_dep,
+ gobject_dep,
libimobiledevice_dep,
libplist_dep,
- libgvfscommon_dep,
libgvfsproxyvolumemonitordaemon_noin_dep
]
diff --git a/monitor/gdu/meson.build b/monitor/gdu/meson.build
index 7713998..0850d11 100644
--- a/monitor/gdu/meson.build
+++ b/monitor/gdu/meson.build
@@ -44,9 +44,11 @@ sources = files(
'ggduvolumemonitor.c'
)
-deps = glib_deps + [
+deps = [
gdu_dep,
- libgvfscommon_dep,
+ gio_unix_dep,
+ glib_dep,
+ gobject_dep,
libgvfscommon_monitor_dep,
libgvfsproxyvolumemonitordaemon_noin_dep
]
diff --git a/monitor/goa/meson.build b/monitor/goa/meson.build
index da06308..7be878a 100644
--- a/monitor/goa/meson.build
+++ b/monitor/goa/meson.build
@@ -40,9 +40,10 @@ sources = files(
'goavolumemonitor.c'
)
-deps = glib_deps + [
+deps = [
+ glib_dep,
goa_dep,
- libgvfscommon_dep,
+ gobject_dep,
libgvfsproxyvolumemonitordaemon_noin_dep
]
diff --git a/monitor/gphoto2/meson.build b/monitor/gphoto2/meson.build
index e5527c3..c3f4c78 100644
--- a/monitor/gphoto2/meson.build
+++ b/monitor/gphoto2/meson.build
@@ -43,10 +43,10 @@ sources = files(
'ggphoto2volumemonitor.c'
)
-deps = glib_deps + [
+deps = [
+ gio_unix_dep,
+ gobject_dep,
libgphoto2_dep,
- gudev_dep,
- libgvfscommon_dep,
libgvfscommon_gphoto2_dep,
libgvfsproxyvolumemonitordaemon_noin_dep
]
diff --git a/monitor/mtp/meson.build b/monitor/mtp/meson.build
index d7879bc..77f47a1 100644
--- a/monitor/mtp/meson.build
+++ b/monitor/mtp/meson.build
@@ -40,9 +40,9 @@ sources = files(
'gmtpvolumemonitor.c'
)
-deps = glib_deps + [
- gudev_dep,
- libgvfscommon_dep,
+deps = [
+ gio_unix_dep,
+ gobject_dep,
libgvfscommon_gphoto2_dep,
libgvfsproxyvolumemonitordaemon_noin_dep
]
diff --git a/monitor/proxy/meson.build b/monitor/proxy/meson.build
index b728eb8..39a1caa 100644
--- a/monitor/proxy/meson.build
+++ b/monitor/proxy/meson.build
@@ -15,7 +15,10 @@ sources = files(
'gproxyvolumemonitor.c'
)
-deps = glib_deps + [libgvfscommon_dep]
+deps = [
+ gio_unix_dep,
+ libgvfscommon_dep
+]
cflags = [
'-DG_LOG_DOMAIN="GVFS-RemoteVolumeMonitor"',
@@ -46,6 +49,12 @@ libgioremove_volume_monitor = shared_module(
sources = files('gvfsproxyvolumemonitordaemon.c')
+deps = [
+ gio_dep,
+ gio_unix_dep,
+ glib_dep
+]
+
cflags = [
'-DG_LOG_DOMAIN="GVFS-RemoteVolumeMonitorDaemon"',
'-DGVFS_LOCALEDIR="@0@"'.format(gvfs_localedir)
@@ -60,6 +69,7 @@ libgvfsproxyvolumemonitordaemon_noin = static_library(
)
libgvfsproxyvolumemonitordaemon_noin_dep = declare_dependency(
- link_with: libgvfsproxyvolumemonitordaemon_noin,
- include_directories: include_directories('.')
+ include_directories: include_directories('.'),
+ dependencies: gio_dep,
+ link_with: libgvfsproxyvolumemonitordaemon_noin
)
diff --git a/monitor/udisks2/meson.build b/monitor/udisks2/meson.build
index bd9a359..d16339b 100644
--- a/monitor/udisks2/meson.build
+++ b/monitor/udisks2/meson.build
@@ -45,12 +45,14 @@ sources = files(
'gvfsudisks2volumemonitor.c'
)
-deps = glib_deps + [
- udisks2_dep,
+deps = [
+ gio_unix_dep,
+ glib_dep,
+ gobject_dep,
gudev_dep,
- libgvfscommon_dep,
libgvfscommon_monitor_dep,
- libgvfsproxyvolumemonitordaemon_noin_dep
+ libgvfsproxyvolumemonitordaemon_noin_dep,
+ udisks2_dep
]
if enable_logind
diff --git a/test/meson.build b/test/meson.build
index f323c1b..b6e23dd 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -68,12 +68,17 @@ if enable_devel_utils
'test-query-info-stream'
]
+ deps = [
+ gio_dep,
+ glib_dep
+ ]
+
foreach test: tests
executable(
test,
test + '.c',
include_directories: top_inc,
- dependencies: glib_deps
+ dependencies: deps
)
endforeach
endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]