summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIñigo Martínez <inigomartinez@gmail.com>2018-03-26 22:43:50 +0200
committerOndrej Holy <oholy@redhat.com>2018-04-03 17:54:23 +0200
commitf45605210db66306ed32f9a0c6057bf095e81bb3 (patch)
treec4788d0c5490790ee3f8fe8648a9db6f8ded6498
parent528ac6f989beb2e89beb9732f7bfe9eefcd8e036 (diff)
downloadgvfs-f45605210db66306ed32f9a0c6057bf095e81bb3.tar.gz
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
-rw-r--r--client/meson.build23
-rw-r--r--common/meson.build46
-rw-r--r--daemon/meson.build23
-rw-r--r--daemon/trashlib/meson.build13
-rw-r--r--meson.build11
-rw-r--r--metadata/meson.build25
-rw-r--r--monitor/afc/meson.build5
-rw-r--r--monitor/gdu/meson.build6
-rw-r--r--monitor/goa/meson.build5
-rw-r--r--monitor/gphoto2/meson.build6
-rw-r--r--monitor/mtp/meson.build6
-rw-r--r--monitor/proxy/meson.build16
-rw-r--r--monitor/udisks2/meson.build10
-rw-r--r--test/meson.build7
14 files changed, 130 insertions, 72 deletions
diff --git a/client/meson.build b/client/meson.build
index fd69f94e..038b2daf 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 e269cb7d..ab09c33a 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 bf665946..1ecb303c 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 610bb629..f0735cf8 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 c4cf97e4..15a78e47 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 9eac0766..01fafe68 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 b4735fe9..0af5a8d3 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 7713998a..0850d112 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 da063088..7be878ad 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 e5527c39..c3f4c78a 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 d7879bc6..77f47a16 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 b728eb8c..39a1caa3 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 bd9a359b..d16339b2 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 f323c1b0..b6e23ddb 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