aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Nikolaus Rath <Nikolaus@rath.org>2017-08-22 12:10:50 +0200
committerGravatar Nikolaus Rath <Nikolaus@rath.org>2017-08-22 12:10:50 +0200
commit19eaea2e7741f98739eeded839abc5d631dcf826 (patch)
treed8464a28da84e4c1e37cd4fccc8a9790843e2c36
parent9d4ec147f583e038d60297c0ed5a4dfa558c476d (diff)
Allow building without iconv.
cfg.has('HAVE_ICONV') was always true.
-rw-r--r--ChangeLog.rst2
-rw-r--r--lib/fuse.c6
-rw-r--r--lib/meson.build2
3 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog.rst b/ChangeLog.rst
index ee1941e..844f662 100644
--- a/ChangeLog.rst
+++ b/ChangeLog.rst
@@ -1,6 +1,8 @@
Unreleased Changes
==================
+* libfuse can now be build without libiconv.
+
* Fixed support for `FUSE_CAP_POSIX_ACL`: setting this capability
flag had no effect in the previous versions of libfuse 3.x;
now ACLs should actually work.
diff --git a/lib/fuse.c b/lib/fuse.c
index b013072..a5df0b8 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -198,7 +198,9 @@ struct fuse_context_i {
/* Defined by FUSE_REGISTER_MODULE() in lib/modules/subdir.c and iconv.c. */
extern fuse_module_factory_t fuse_module_subdir_factory;
+#ifdef HAVE_ICONV
extern fuse_module_factory_t fuse_module_iconv_factory;
+#endif
static pthread_key_t fuse_context_key;
static pthread_mutex_t fuse_context_lock = PTHREAD_MUTEX_INITIALIZER;
@@ -4476,7 +4478,9 @@ void fuse_lib_help(struct fuse_args *args)
/* Print help for builtin modules */
print_module_help("subdir", &fuse_module_subdir_factory);
+#ifdef HAVE_ICONV
print_module_help("iconv", &fuse_module_iconv_factory);
+#endif
/* Parse command line options in case we need to
activate more modules */
@@ -4661,7 +4665,9 @@ struct fuse *fuse_new_31(struct fuse_args *args,
if (builtin_modules_registered == 0) {
/* If not, register them. */
fuse_register_module("subdir", fuse_module_subdir_factory, NULL);
+#ifdef HAVE_ICONV
fuse_register_module("iconv", fuse_module_iconv_factory, NULL);
+#endif
builtin_modules_registered= 1;
}
pthread_mutex_unlock(&fuse_context_lock);
diff --git a/lib/meson.build b/lib/meson.build
index 1cfface..b07c06c 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -9,7 +9,7 @@ else
libfuse_sources += [ 'mount_bsd.c' ]
endif
-if cfg.has('HAVE_ICONV')
+if cfg.get('HAVE_ICONV')
libfuse_sources += [ 'modules/iconv.c' ]
endif