summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorIñigo Martínez <inigomartinez@gmail.com>2017-08-11 11:45:48 +0200
committerOndrej Holy <oholy@redhat.com>2017-10-31 18:20:11 +0100
commit899e2a934553b5d97f04d2268421eae3cf8a0197 (patch)
tree57fbcdaf28c79ebeb203232b28783f6786845654 /client
parent5db165178a2528802edbe2eaf34ea2a63a78cc02 (diff)
downloadgvfs-899e2a934553b5d97f04d2268421eae3cf8a0197.tar.gz
build: Port to meson build system
meson is a build system focused on speed an ease of use, which helps speeding up the software development. This patch adds meson support along autotools. https://bugzilla.gnome.org/show_bug.cgi?id=786149
Diffstat (limited to 'client')
-rw-r--r--client/Makefile.am2
-rw-r--r--client/meson.build98
-rw-r--r--client/symbol.map9
3 files changed, 109 insertions, 0 deletions
diff --git a/client/Makefile.am b/client/Makefile.am
index c0ac5992..bfa58710 100644
--- a/client/Makefile.am
+++ b/client/Makefile.am
@@ -96,4 +96,6 @@ endif
EXTRA_DIST = \
gvfsd-fuse-tmpfiles.conf \
+ meson.build \
+ symbol.map \
$(NULL)
diff --git a/client/meson.build b/client/meson.build
new file mode 100644
index 00000000..74ad446e
--- /dev/null
+++ b/client/meson.build
@@ -0,0 +1,98 @@
+headers = files(
+ 'gvfsurimapper.h',
+ 'gvfsuriutils.h'
+)
+
+install_headers(
+ headers,
+ subdir: join_paths('gvfs-client', 'gvfs')
+)
+
+# Dynamic client lib
+uri_parser_sources = files(
+ 'afpuri.c',
+ 'httpuri.c',
+ 'smburi.c'
+)
+
+uri_utils = files('gvfsuriutils.c')
+
+sources = uri_parser_sources + uri_utils + files(
+ 'gdaemonmount.c',
+ 'gdaemonfile.c',
+ 'gdaemonfileenumerator.c',
+ 'gdaemonfileinputstream.c',
+ 'gdaemonfilemonitor.c',
+ 'gdaemonfileoutputstream.c',
+ 'gdaemonvfs.c',
+ 'gdaemonvolumemonitor.c',
+ 'gvfsdaemondbus.c',
+ 'gvfsiconloadable.c',
+ 'gvfsurimapper.c'
+)
+
+cflags = [
+ '-DG_LOG_DOMAIN="@0@"'.format(gvfs_name.to_upper()),
+ '-DGVFS_LOCALEDIR="@0@"'.format(gvfs_localedir),
+ '-DGVFS_MODULE_DIR="@0@"'.format(join_paths(gvfs_libdir, 'gvfs', 'modules'))
+]
+
+symbol_map = join_paths(meson.current_source_dir(), 'symbol.map')
+
+ldflags = []
+if have_version_script
+ ldflags += '-Wl,--version-script,@0@'.format(symbol_map)
+endif
+
+libgvfsdbus = shared_module(
+ 'gvfsdbus',
+ sources: sources,
+ include_directories: top_inc,
+ dependencies: [
+ libgvfscommon_dep,
+ libmetadata_dep
+ ],
+ c_args: cflags,
+ link_args: ldflags,
+ link_depends: symbol_map,
+ install: true,
+ install_rpath: gvfs_rpath,
+ install_dir: gio_module_dir
+)
+
+if enable_devel_utils
+ test_name = 'test-uri-utils'
+
+ executable(
+ test_name,
+ [test_name + '.c'] + uri_utils,
+ include_directories: top_inc,
+ dependencies: glib_deps + [libgvfscommon_dep],
+ c_args: cflags
+ )
+endif
+
+# FUSE daemon
+if enable_fuse
+ # FIXME: reusing USE_LIBSYSTEMD_LOGIN as systemd has no universal header or pkg-config file
+ if enable_libsystemd_login
+ install_data(
+ 'gvfsd-fuse-tmpfiles.conf',
+ install_dir: join_paths(gvfs_libdir, 'tmpfiles.d')
+ )
+ endif
+
+ executable(
+ 'gvfsd-fuse',
+ 'gvfsfusedaemon.c',
+ include_directories: top_inc,
+ dependencies: glib_deps + [
+ fuse_dep,
+ libgvfscommon_dep
+ ],
+ c_args: cflags + ['-UG_LOG_DOMAIN'],
+ install: true,
+ install_rpath: gvfs_rpath,
+ install_dir: gvfs_libexecdir
+ )
+endif
diff --git a/client/symbol.map b/client/symbol.map
new file mode 100644
index 00000000..f62b66fe
--- /dev/null
+++ b/client/symbol.map
@@ -0,0 +1,9 @@
+{
+global:
+ g_vfs_*;
+ g_io_module_load;
+ g_io_module_unload;
+ g_io_module_query;
+local:
+ *;
+};