summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoss Lagerwall <rosslagerwall@gmail.com>2015-06-11 23:05:08 +0100
committerRoss Lagerwall <rosslagerwall@gmail.com>2015-06-17 22:34:44 +0100
commit600558ec7927d75ea045f3093a7db0a4778c76fe (patch)
tree2d53264c2fda26aa1a0f99d1a6b0fd7e456dd94a
parent7deded463b8cc148103c55460a84a6b23342c941 (diff)
downloadgvfs-600558ec7927d75ea045f3093a7db0a4778c76fe.tar.gz
build: Make GCR optional
Make using GCR optional by compiling with --disable-gcr. This makes gvfs strict when checking SSL certificates, so don't silently disable it if the library is not found, only disable it if --disable-gcr is given. https://bugzilla.gnome.org/show_bug.cgi?id=750706
-rw-r--r--configure.ac13
-rw-r--r--daemon/gvfsdaemonutils.c14
-rw-r--r--daemon/gvfsdaemonutils.h2
3 files changed, 26 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index 93e33748..8459e341 100644
--- a/configure.ac
+++ b/configure.ac
@@ -74,7 +74,17 @@ AC_SUBST(DBUS_SERVICE_DIR)
giomodulesdir=$libdir/gio/modules
AC_SUBST(giomodulesdir)
-PKG_CHECK_MODULES(GCR, gcr-base-3)
+dnl *********************
+dnl *** Check for gcr ***
+dnl *********************
+
+AC_ARG_ENABLE(gcr, AS_HELP_STRING([--disable-gcr],[build without gcr]))
+msg_gcr=no
+
+if test "x$enable_gcr" != "xno"; then
+ PKG_CHECK_MODULES(GCR, gcr-base-3, msg_gcr=yes)
+ AC_DEFINE(HAVE_GCR, 1, [Define to 1 if gcr is available])
+fi
dnl ****************************
dnl *** Checks for intltool ***
@@ -946,6 +956,7 @@ echo "
Build udisks2 volume monitor: $msg_udisks2
Build GOA volume monitor: $msg_goa
Use libsystemd-login: $msg_libsystemd_login
+ Use GCR: $msg_gcr
GNOME Keyring support: $msg_keyring
GTK+ support: $msg_gtk
Bash-completion support: $msg_bash_completion
diff --git a/daemon/gvfsdaemonutils.c b/daemon/gvfsdaemonutils.c
index 7db18411..49999a8a 100644
--- a/daemon/gvfsdaemonutils.c
+++ b/daemon/gvfsdaemonutils.c
@@ -35,6 +35,10 @@
#include <glib/gi18n.h>
#include <gio/gio.h>
+#ifdef HAVE_GCR
+#define GCR_API_SUBJECT_TO_CHANGE
+#include <gcr/gcr-base.h>
+#endif
#include "gvfsdaemonutils.h"
#include "gvfsdaemonprotocol.h"
@@ -238,6 +242,7 @@ gvfs_seek_type_to_lseek (GSeekType type)
}
}
+#ifdef HAVE_GCR
/* Convert GTlsCertificateFlags into a message to display to the user. */
static char *
certificate_flags_to_string (GTlsCertificateFlags errors)
@@ -350,3 +355,12 @@ gvfs_accept_certificate (GMountSource *mount_source,
return FALSE;
}
+#else
+gboolean
+gvfs_accept_certificate (GMountSource *mount_source,
+ GTlsCertificate *certificate,
+ GTlsCertificateFlags errors)
+{
+ return FALSE;
+}
+#endif
diff --git a/daemon/gvfsdaemonutils.h b/daemon/gvfsdaemonutils.h
index f28e2ba2..73ec0c0c 100644
--- a/daemon/gvfsdaemonutils.h
+++ b/daemon/gvfsdaemonutils.h
@@ -25,8 +25,6 @@
#include <glib-object.h>
#include <gmountsource.h>
-#define GCR_API_SUBJECT_TO_CHANGE
-#include <gcr/gcr-base.h>
G_BEGIN_DECLS