[gnome-builder] build: make webkit dependency optional
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] build: make webkit dependency optional
- Date: Thu, 28 Apr 2016 03:29:14 +0000 (UTC)
commit 17323b365b738009fe42f367e672c702816ac4cb
Author: Christian Hergert <chergert redhat com>
Date: Wed Apr 27 20:29:03 2016 -0700
build: make webkit dependency optional
This uses an embedded plugin that will fail to load if we did not link
in support for webkit. Plugins like devhelp and html-preview should rely
on this plugin as a dependency.
configure.ac | 29 ++++++++++++++++++++++++++---
libide/Makefile.am | 7 +++++++
libide/resources/libide.gresource.xml | 4 ++++
libide/webkit/ide-webkit.c | 26 ++++++++++++++++++++++++++
libide/webkit/webkit.plugin | 9 +++++++++
plugins/devhelp/devhelp.plugin | 2 +-
plugins/html-preview/html-preview.plugin | 1 +
7 files changed, 74 insertions(+), 4 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 06426df..a932583 100644
--- a/configure.ac
+++ b/configure.ac
@@ -191,7 +191,6 @@ m4_define([pygobject_required_version], [3.19.3])
m4_define([libxml_required_version], [2.9.0])
m4_define([pangoft2_required_version], [1.38.0])
m4_define([peas_required_version], [1.18.0])
-m4_define([webkit_required_version], [2.12.0])
PKG_CHECK_MODULES(EGG, [glib-2.0 >= glib_required_version
gmodule-2.0 >= glib_required_version
@@ -206,8 +205,7 @@ PKG_CHECK_MODULES(LIBIDE, [gio-2.0 >= glib_required_version
gtksourceview-3.0 >= gtksourceview_required_version
libpeas-1.0 >= peas_required_version
libxml-2.0 >= libxml_required_version
- pangoft2 >= pangoft2_required_version
- webkit2gtk-4.0 >= webkit_required_version])
+ pangoft2 >= pangoft2_required_version])
PKG_CHECK_MODULES(NAUTILUS, [glib-2.0 >= glib_required_version
gtk+-3.0 >= gtk_required_version])
PKG_CHECK_MODULES(PANEL_GTK,[gtk+-3.0 >= gtk_required_version])
@@ -223,6 +221,30 @@ PKG_CHECK_MODULES(XML, [gio-2.0 >= glib_required_version
dnl ***********************************************************************
+dnl Check if we have WebKit support
+dnl ***********************************************************************
+m4_define([webkit_required_version], [2.12.0])
+AC_ARG_ENABLE([webkit],
+ [AS_HELP_STRING([--enable-webkit=@<:@yes/no/auto@:>@],
+ [Build with support for webkit.])],
+ [enable_webkit=$enableval],
+ [enable_webkit=auto])
+AS_IF([test "$enable_webkit" != no],[
+ PKG_CHECK_MODULES(WEBKIT,
+ [webkit2gtk-4.0 >= webkit_required_version],
+ [have_webkit=yes],
+ [have_webkit=no])
+
+ AS_IF([test "$enable_webkit" = "yes" && "$have_webkit" = "no"],[
+ AC_MSG_ERROR([--enable-webkit requires webkit2gtk-4.0 >= webkit_required_version])
+ ])
+
+ enable_webkit=$have_webkit
+])
+AM_CONDITIONAL(ENABLE_WEBKIT, [test "x$enable_webkit" = "xyes"])
+
+
+dnl ***********************************************************************
dnl Check for Required Python
dnl ***********************************************************************
enable_python_scripting=no
@@ -523,6 +545,7 @@ echo " Prefix ............................... : ${prefix}"
echo " Libdir ............................... : ${libdir}"
echo " Optimized Build ...................... : ${enable_optimizations}"
echo " rdtscp ............................... : ${enable_rdtscp}"
+echo " WebKit ............................... : ${enable_webkit}"
echo ""
echo " Development Options"
echo ""
diff --git a/libide/Makefile.am b/libide/Makefile.am
index 4c204dc..bed6f52 100644
--- a/libide/Makefile.am
+++ b/libide/Makefile.am
@@ -508,6 +508,13 @@ libide_1_0_la_LIBADD = \
$(top_builddir)/contrib/xml/libxml.la \
$(NULL)
+if ENABLE_WEBKIT
+libide_1_0_la_SOURCES += webkit/ide-webkit.c
+libide_1_0_la_CFLAGS += $(WEBKIT_CFLAGS)
+libide_1_0_la_LIBADD += $(WEBKIT_LIBS)
+endif
+
+
libide_1_0_la_built_sources = \
resources/ide-resources.c \
resources/ide-resources.h \
diff --git a/libide/resources/libide.gresource.xml b/libide/resources/libide.gresource.xml
index 5117d97..b1691d3 100644
--- a/libide/resources/libide.gresource.xml
+++ b/libide/resources/libide.gresource.xml
@@ -85,4 +85,8 @@
<gresource prefix="/org/gnome/builder/plugins/directory">
<file alias="directory.plugin">../directory/directory.plugin</file>
</gresource>
+
+ <gresource prefix="/org/gnome/builder/plugins/webkit">
+ <file alias="webkit.plugin">../webkit/webkit.plugin</file>
+ </gresource>
</gresources>
diff --git a/libide/webkit/ide-webkit.c b/libide/webkit/ide-webkit.c
new file mode 100644
index 0000000..ccce9a5
--- /dev/null
+++ b/libide/webkit/ide-webkit.c
@@ -0,0 +1,26 @@
+/* ide-webkit.c
+ *
+ * Copyright (C) 2016 Christian Hergert <chergert redhat com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <libpeas/peas.h>
+#include <webkit2/webkit2.h>
+
+void
+ide_webkit_register_types (PeasObjectModule *module)
+{
+ g_type_ensure (WEBKIT_TYPE_WEB_VIEW);
+}
diff --git a/libide/webkit/webkit.plugin b/libide/webkit/webkit.plugin
new file mode 100644
index 0000000..67b6a03
--- /dev/null
+++ b/libide/webkit/webkit.plugin
@@ -0,0 +1,9 @@
+[Plugin]
+Module=webkit
+Name=WebKit
+Description=Support for WebKit
+Authors=Christian Hergert <christian hergert me>
+Copyright=Copyright © 2016 Christian Hergert
+Builtin=true
+Hidden=true
+Embedded=ide_webkit_register_types
diff --git a/plugins/devhelp/devhelp.plugin b/plugins/devhelp/devhelp.plugin
index bed5eb8..d5d4359 100644
--- a/plugins/devhelp/devhelp.plugin
+++ b/plugins/devhelp/devhelp.plugin
@@ -4,5 +4,5 @@ Name=Devhelp
Description=Integration with devhelp documentation
Authors=Christian Hergert <christian hergert me>
Copyright=Copyright © 2015 Christian Hergert
-Depends=editor
+Depends=editor;webkit
Builtin=true
diff --git a/plugins/html-preview/html-preview.plugin b/plugins/html-preview/html-preview.plugin
index adeb103..6b4bfd4 100644
--- a/plugins/html-preview/html-preview.plugin
+++ b/plugins/html-preview/html-preview.plugin
@@ -7,3 +7,4 @@ Authors=Christian Hergert <christian hergert me>
Copyright=Copyright © 2015 Christian Hergert
Builtin=true
Hidden=true
+Depends=webkit
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]