summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Valavanis <valavanisalex@gmail.com>2013-03-26 16:03:49 +0000
committerAlex Valavanis <valavanisalex@googlemail.com>2013-03-26 16:03:49 +0000
commitd2bba282171a9e2c70a624794650689ec4531047 (patch)
tree726ae8aa2ae75cc8272f13fa09ed8abc56e60724
parentRevert r12183 and replace with better work-around for Pango bug (incorrect (diff)
downloadinkscape-d2bba282171a9e2c70a624794650689ec4531047.tar.gz
inkscape-d2bba282171a9e2c70a624794650689ec4531047.zip
Fix Glibmm inclusions for Gtk+ 3 builds and implement a Gtk+ 3 compatible check for X11 backend
Fixed bugs: - https://launchpad.net/bugs/1160252 - https://launchpad.net/bugs/1122774 (bzr r12247)
-rw-r--r--configure.ac21
-rw-r--r--src/Makefile.am6
-rw-r--r--src/bind/javabind.h2
-rw-r--r--src/color-profile.cpp2
-rw-r--r--src/dom/dom.h4
-rw-r--r--src/dom/io/domstream.cpp5
-rw-r--r--src/dom/uri.cpp9
-rw-r--r--src/dom/views.h5
-rw-r--r--src/dom/xpathparser.cpp3
-rw-r--r--src/extension/init.cpp4
-rw-r--r--src/extension/internal/odf.h5
-rw-r--r--src/extension/script/InkscapeScript.h4
-rw-r--r--src/file.cpp4
-rw-r--r--src/interface.cpp3
-rw-r--r--src/libnrtype/font-lister.cpp3
-rw-r--r--src/main.cpp4
-rw-r--r--src/shortcuts.cpp3
-rw-r--r--src/shortcuts.h1
-rw-r--r--src/ui/dialog/export.cpp2
-rw-r--r--src/ui/dialog/filedialog.cpp2
-rw-r--r--src/ui/dialog/filedialog.h3
-rw-r--r--src/ui/dialog/filedialogimpl-gtkmm.cpp5
-rw-r--r--src/ui/dialog/filter-effects-dialog.cpp4
-rw-r--r--src/ui/dialog/ocaldialogs.cpp8
-rw-r--r--src/ui/dialog/svg-fonts-dialog.cpp4
-rw-r--r--src/ui/tool/path-manipulator.cpp1
-rw-r--r--src/ui/widget/preferences-widget.cpp2
27 files changed, 87 insertions, 32 deletions
diff --git a/configure.ac b/configure.ac
index 828b851d5..0010229f9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -642,6 +642,9 @@ if test "x$enable_gtk3" = "xyes"; then
AC_MSG_ERROR([Some dependencies were not fulfilled for the experimental GTK+ 3 build. One possible cause for this is a new dependency on the gdl-3.0 development package.])
fi
+ # Check whether we are using the X11 backend target for Gtk+ 3.
+ GTK_CHECK_BACKEND([x11], , [have_x11=yes], [have_x11=no])
+
# Enable strict build options that should work on most systems unless
# the build has been configured not to do so
if test "x$enable_strict_build" != "xno"; then
@@ -668,6 +671,15 @@ else
fi
PKG_CHECK_MODULES(INKSCAPE, bdw-gc >= 7.1 glib-2.0 >= 2.28 gtk+-2.0 >= 2.24 libxml-2.0 >= 2.6.11 libxslt >= 1.0.15 cairo >= 1.10 cairomm-1.0 >= 1.9.8 sigc++-2.0 >= 2.0.12 $ink_spell_pkg gthread-2.0 >= 2.0 libpng >= 1.2 gsl glibmm-2.4 >= 2.28 giomm-2.4 gdkmm-2.4 gtkmm-2.4 >= 2.24 pango >= 1.24 pangoft2 >= 1.24)
+
+ # Check whether we are using the X11 backend for Gtk+ 2.
+ AC_MSG_CHECKING([if Gtk+ 2.0 is using the X11 backend target])
+ if test `$PKG_CONFIG --variable=target gtk+-2.0`; then
+ have_x11=yes
+ else
+ have_x11=no
+ fi
+ AC_MSG_RESULT($have_x11)
# Enable build strict options that should work on most systems unless
# the build has been configured explicitly not to do so
@@ -696,6 +708,15 @@ else
fi
fi
+dnl Configure x11 library if Gtk+ uses it as a backend.
+dnl Note that this is only here because we directly use X11 functionality. We
+dnl wouldn't need this check if we were only using X as the Gtk+ backend.
+if test "x$have_x11" = "xyes"; then
+ PKG_CHECK_MODULES(X11, x11)
+fi
+AC_SUBST(X11_CFLAGS)
+AC_SUBST(X11_LIBS)
+
AM_CONDITIONAL(WITH_EXT_GDL, test "x$with_gtkmm_3_0" = "xyes")
# Prevent usage of deprecated library symbols unless strict build
diff --git a/src/Makefile.am b/src/Makefile.am
index 7d8a9ef50..b9ec53ab1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -49,7 +49,8 @@ all_libs = \
$(LIBCDR_LIBS) \
$(DBUS_LIBS) \
$(GDL_LIBS) \
- $(IMAGEMAGICK_LIBS)
+ $(IMAGEMAGICK_LIBS) \
+ $(X11_LIBS)
# Add sources common for Inkscape and Inkview to this variable.
ink_common_sources =
@@ -83,7 +84,8 @@ AM_CPPFLAGS = \
$(WIN32_CFLAGS) \
-I$(srcdir)/bind/javainc \
-I$(srcdir)/bind/javainc/linux \
- -I$(builddir)/extension/dbus
+ -I$(builddir)/extension/dbus \
+ $(X11_CFLAGS)
CXXTEST_TEMPLATE = $(srcdir)/cxxtest-template.tpl
CXXTESTGENFLAGS = --root --have-eh --template=$(CXXTEST_TEMPLATE)
diff --git a/src/bind/javabind.h b/src/bind/javabind.h
index 254548bfb..c11656a66 100644
--- a/src/bind/javabind.h
+++ b/src/bind/javabind.h
@@ -27,8 +27,8 @@
#ifndef SEEN_JAVABIND_H
#define SEEN_JAVABIND_H
-#include <glibmm.h>
#include <vector>
+#include <glibmm/ustring.h>
namespace Inkscape
diff --git a/src/color-profile.cpp b/src/color-profile.cpp
index e7f18af15..14f88c77e 100644
--- a/src/color-profile.cpp
+++ b/src/color-profile.cpp
@@ -47,6 +47,8 @@
#include <icm.h>
#endif // WIN32
+#include <glibmm/convert.h>
+
using Inkscape::ColorProfile;
using Inkscape::ColorProfileClass;
using Inkscape::ColorProfileImpl;
diff --git a/src/dom/dom.h b/src/dom/dom.h
index 22fd09ebf..14165166e 100644
--- a/src/dom/dom.h
+++ b/src/dom/dom.h
@@ -60,9 +60,9 @@
*/
#ifdef DOM_STANDALONE
-#include <string>
+# include <string>
#else
-#include <glibmm.h>
+# include <glibmm/ustring.h>
#endif
//# Unfortunate hack for a name collision
diff --git a/src/dom/io/domstream.cpp b/src/dom/io/domstream.cpp
index 7118025d6..1f08c0eee 100644
--- a/src/dom/io/domstream.cpp
+++ b/src/dom/io/domstream.cpp
@@ -34,9 +34,10 @@
*
*/
+#include <cmath>
+#include <cstdarg>
#include <cstdio>
-#include <math.h>
-#include <stdarg.h>
+#include <cstdlib>
#include "domstream.h"
#include "dom/ucd.h"
diff --git a/src/dom/uri.cpp b/src/dom/uri.cpp
index e1089017d..231995daf 100644
--- a/src/dom/uri.cpp
+++ b/src/dom/uri.cpp
@@ -27,17 +27,14 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-
-
#include "uri.h"
#include "ucd.h"
-#include <stdio.h>
-#include <stdarg.h>
+#include <cstdarg>
+#include <cstdio>
+#include <cstdlib>
#include <vector>
-
namespace org
{
namespace w3c
diff --git a/src/dom/views.h b/src/dom/views.h
index f165d2a9b..f1154fb62 100644
--- a/src/dom/views.h
+++ b/src/dom/views.h
@@ -45,12 +45,9 @@
* Be prepared in the future to adjust to this, if SVG ever switches .
*/
-
-
+#include <cstdlib>
#include "dom.h"
-
-
namespace org
{
namespace w3c
diff --git a/src/dom/xpathparser.cpp b/src/dom/xpathparser.cpp
index b19975966..4785ce93f 100644
--- a/src/dom/xpathparser.cpp
+++ b/src/dom/xpathparser.cpp
@@ -27,10 +27,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
#include "ucd.h"
#include "xpathparser.h"
-
+#include <cstdlib>
namespace org
{
diff --git a/src/extension/init.cpp b/src/extension/init.cpp
index 5555eddf6..d403d270f 100644
--- a/src/extension/init.cpp
+++ b/src/extension/init.cpp
@@ -26,8 +26,10 @@
#include "path-prefix.h"
#include "inkscape.h"
-#include <glibmm/ustring.h>
+
+#include <glibmm/fileutils.h>
#include <glibmm/i18n.h>
+#include <glibmm/ustring.h>
#include "system.h"
#include "db.h"
diff --git a/src/extension/internal/odf.h b/src/extension/internal/odf.h
index 219a99a4f..001f5e1f1 100644
--- a/src/extension/internal/odf.h
+++ b/src/extension/internal/odf.h
@@ -27,19 +27,18 @@
#include <io/stringstream.h>
#include <dom/uri.h>
-#include <glibmm.h>
#include "extension/implementation/implementation.h"
-
#include <xml/repr.h>
#include <string>
#include <map>
#include <dom/util/ziptool.h>
-//#include <io/domstream.h>
#include "sp-item.h"
+#include <glibmm/ustring.h>
+
namespace Inkscape
{
namespace Extension
diff --git a/src/extension/script/InkscapeScript.h b/src/extension/script/InkscapeScript.h
index 2ebeb1b19..8d6346582 100644
--- a/src/extension/script/InkscapeScript.h
+++ b/src/extension/script/InkscapeScript.h
@@ -12,7 +12,9 @@
#include "config.h"
-#include <glibmm.h>
+namespace Glib {
+class ustring;
+}
namespace Inkscape
{
diff --git a/src/file.cpp b/src/file.cpp
index 5737f0a8a..453ddb546 100644
--- a/src/file.cpp
+++ b/src/file.cpp
@@ -68,8 +68,10 @@
#include "ui/dialog/font-substitution.h"
#include <gtk/gtk.h>
-#include <glib.h>
+
+#include <glibmm/convert.h>
#include <glibmm/i18n.h>
+#include <glibmm/miscutils.h>
using Inkscape::DocumentUndo;
diff --git a/src/interface.cpp b/src/interface.cpp
index 4421b4a1d..986d3107f 100644
--- a/src/interface.cpp
+++ b/src/interface.cpp
@@ -79,7 +79,8 @@
#include "ui/dialog/layer-properties.h"
#include <gdk/gdkkeysyms.h>
-#include <gtk/gtk.h>
+
+#include <glibmm/miscutils.h>
using Inkscape::DocumentUndo;
diff --git a/src/libnrtype/font-lister.cpp b/src/libnrtype/font-lister.cpp
index ace4a9ca9..39a04914b 100644
--- a/src/libnrtype/font-lister.cpp
+++ b/src/libnrtype/font-lister.cpp
@@ -9,7 +9,6 @@
#include <libnrtype/TextWrapper.h>
#include <libnrtype/one-glyph.h>
-#include <glibmm.h>
#include "font-lister.h"
#include "FontFactory.h"
@@ -22,6 +21,8 @@
#include "sp-root.h"
#include "xml/repr.h"
+#include <glibmm/regex.h>
+
//#define DEBUG_FONT
namespace Inkscape
diff --git a/src/main.cpp b/src/main.cpp
index 20330edbb..58ab19616 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -47,7 +47,6 @@
#endif /* Not def: POPT_TABLEEND */
#include <libxml/tree.h>
-#include <glib.h>
#include <glib/gprintf.h>
#include <glib-object.h>
#include <gtk/gtk.h>
@@ -103,6 +102,9 @@
#include "extension/init.h"
#include <glibmm/i18n.h>
+#include <glibmm/main.h>
+#include <glibmm/miscutils.h>
+
#include <gtkmm/main.h>
#ifndef HAVE_BIND_TEXTDOMAIN_CODESET
diff --git a/src/shortcuts.cpp b/src/shortcuts.cpp
index a746b8633..2af04929e 100644
--- a/src/shortcuts.cpp
+++ b/src/shortcuts.cpp
@@ -29,7 +29,10 @@
#include <gdk/gdk.h>
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
+
+#include <glibmm/convert.h>
#include <glibmm/i18n.h>
+#include <glibmm/miscutils.h>
#include "helper/action.h"
#include "io/sys.h"
diff --git a/src/shortcuts.h b/src/shortcuts.h
index 2d87b17ef..406768f97 100644
--- a/src/shortcuts.h
+++ b/src/shortcuts.h
@@ -10,6 +10,7 @@
* This code is in public domain
*/
+#include <vector>
#include <gdkmm/types.h>
typedef struct _GtkAccelGroup GtkAccelGroup;
diff --git a/src/ui/dialog/export.cpp b/src/ui/dialog/export.cpp
index 99a8c08d2..3017dc117 100644
--- a/src/ui/dialog/export.cpp
+++ b/src/ui/dialog/export.cpp
@@ -42,6 +42,8 @@
#endif
#include <glibmm/i18n.h>
+#include <glibmm/miscutils.h>
+
#include "helper/unit-menu.h"
#include "helper/units.h"
#include "unit-constants.h"
diff --git a/src/ui/dialog/filedialog.cpp b/src/ui/dialog/filedialog.cpp
index b3af6fc00..3413b0b0d 100644
--- a/src/ui/dialog/filedialog.cpp
+++ b/src/ui/dialog/filedialog.cpp
@@ -24,6 +24,8 @@
#include "extension/output.h"
#include "preferences.h"
+#include <glibmm/convert.h>
+
namespace Inkscape
{
namespace UI
diff --git a/src/ui/dialog/filedialog.h b/src/ui/dialog/filedialog.h
index 63cee6bdc..8dfcf5dce 100644
--- a/src/ui/dialog/filedialog.h
+++ b/src/ui/dialog/filedialog.h
@@ -16,12 +16,13 @@
#ifndef __FILE_DIALOG_H__
#define __FILE_DIALOG_H__
-#include <glibmm.h>
#include <vector>
#include <set>
#include "extension/system.h"
+#include <glibmm/ustring.h>
+
class SPDocument;
namespace Inkscape {
diff --git a/src/ui/dialog/filedialogimpl-gtkmm.cpp b/src/ui/dialog/filedialogimpl-gtkmm.cpp
index cb6d92799..5808d7d21 100644
--- a/src/ui/dialog/filedialogimpl-gtkmm.cpp
+++ b/src/ui/dialog/filedialogimpl-gtkmm.cpp
@@ -34,7 +34,12 @@
#include <gtkmm/expander.h>
#include <gtkmm/stock.h>
+
+#include <glibmm/convert.h>
+#include <glibmm/fileutils.h>
#include <glibmm/i18n.h>
+#include <glibmm/miscutils.h>
+
#include "extension/input.h"
#include "extension/output.h"
#include "extension/db.h"
diff --git a/src/ui/dialog/filter-effects-dialog.cpp b/src/ui/dialog/filter-effects-dialog.cpp
index d65f5c48c..0d2d0757c 100644
--- a/src/ui/dialog/filter-effects-dialog.cpp
+++ b/src/ui/dialog/filter-effects-dialog.cpp
@@ -26,7 +26,11 @@
#endif
#include "ui/widget/spinbutton.h"
+
+#include <glibmm/convert.h>
#include <glibmm/i18n.h>
+#include <glibmm/main.h>
+#include <glibmm/stringutils.h>
#include "desktop.h"
#include "desktop-handles.h"
diff --git a/src/ui/dialog/ocaldialogs.cpp b/src/ui/dialog/ocaldialogs.cpp
index 09ce59e9c..c597bc849 100644
--- a/src/ui/dialog/ocaldialogs.cpp
+++ b/src/ui/dialog/ocaldialogs.cpp
@@ -33,10 +33,16 @@
#include <gtkmm/notebook.h>
#include <gtkmm/spinner.h>
#include <gtkmm/stock.h>
-#include <glibmm/i18n.h>
#include <gdkmm/general.h>
#include <libxml/tree.h>
+#include <glibmm/convert.h>
+#include <glibmm/fileutils.h>
+#include <glibmm/i18n.h>
+#include <glibmm/main.h>
+#include <glibmm/markup.h>
+#include <glibmm/miscutils.h>
+
namespace Inkscape
{
namespace UI
diff --git a/src/ui/dialog/svg-fonts-dialog.cpp b/src/ui/dialog/svg-fonts-dialog.cpp
index bce63093d..ab5f4c0e9 100644
--- a/src/ui/dialog/svg-fonts-dialog.cpp
+++ b/src/ui/dialog/svg-fonts-dialog.cpp
@@ -22,7 +22,6 @@
#include <gtkmm/imagemenuitem.h>
#include <gtkmm/scale.h>
#include <gtkmm/stock.h>
-#include <glibmm/i18n.h>
#include <message-stack.h>
#include "selection.h"
#include <string.h>
@@ -38,6 +37,9 @@
#include "sp-font.h"
#include "sp-glyph-kerning.h"
+#include <glibmm/i18n.h>
+#include <glibmm/stringutils.h>
+
SvgFontDrawingArea::SvgFontDrawingArea():
_x(0),
_y(0),
diff --git a/src/ui/tool/path-manipulator.cpp b/src/ui/tool/path-manipulator.cpp
index 35eb23f42..ac023beaa 100644
--- a/src/ui/tool/path-manipulator.cpp
+++ b/src/ui/tool/path-manipulator.cpp
@@ -19,7 +19,6 @@
#include <2geom/bezier-curve.h>
#include <2geom/bezier-utils.h>
#include <2geom/svg-path.h>
-#include <glibmm.h>
#include <glibmm/i18n.h>
#include "ui/tool/path-manipulator.h"
#include "desktop.h"
diff --git a/src/ui/widget/preferences-widget.cpp b/src/ui/widget/preferences-widget.cpp
index 314bf75bf..d32de6871 100644
--- a/src/ui/widget/preferences-widget.cpp
+++ b/src/ui/widget/preferences-widget.cpp
@@ -41,6 +41,8 @@
#include "selection-chemistry.h"
#include "ui/dialog/filedialog.h"
#include "xml/repr.h"
+
+#include <glibmm/convert.h>
#include <glibmm/i18n.h>
using namespace Inkscape::UI::Widget;