summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Valavanis <valavanisalex@gmail.com>2012-04-14 13:50:00 +0000
committerAlex Valavanis <valavanisalex@gmail.com>2012-04-14 13:50:00 +0000
commitaec93fbf715a45afea3c1314af869c240759be9e (patch)
tree5ded0b2235c6fba705c7beddbfa8c32d0e967909
parentWorkaround for gtkmm build issue with dbus API (diff)
downloadinkscape-aec93fbf715a45afea3c1314af869c240759be9e.tar.gz
inkscape-aec93fbf715a45afea3c1314af869c240759be9e.zip
Add --enable-gtk3-experimental build + use external GDL if possible
(bzr r11244)
-rw-r--r--configure.ac33
-rw-r--r--src/Makefile.am10
-rw-r--r--src/libgdl/Makefile_insert43
-rw-r--r--src/ui/widget/dock-item.h4
4 files changed, 88 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index 8bb71e162..4277ff963 100644
--- a/configure.ac
+++ b/configure.ac
@@ -731,7 +731,38 @@ if test $cc_vers_major -gt 3; then
else
min_sigc_version=2.0.11
fi
-PKG_CHECK_MODULES(INKSCAPE, glib-2.0 >= 2.24 gtk+-2.0 >= 2.20 libxml-2.0 >= 2.6.11 libxslt >= 1.0.15 cairo >= 1.10 sigc++-2.0 >= $min_sigc_version $ink_spell_pkg gthread-2.0 >= 2.0 libpng >= 1.2 gsl glibmm-2.4 giomm-2.4 gdkmm-2.4 gtkmm-2.4 >= 2.10.0)
+
+dnl *********************************
+dnl Allow experimental GTK+3 build
+dnl *********************************
+AC_ARG_ENABLE(gtk3-experimental,
+ AC_HELP_STRING([--enable-gtk3-experimental], [enable compilation with GTK+3 (EXPERIMENTAL!)]),
+ [enable_gtk3=$enableval], [enable_gtk3=no])
+
+with_ext_gdl="no"
+if test "x$enable_gtk3" = "xyes"; then
+ PKG_CHECK_MODULES(INKSCAPE, gtkmm-3.0 glib-2.0 >= 2.24 libxml-2.0 >= 2.6.11 libxslt >= 1.0.15 cairo >= 1.10 sigc++-2.0 >= $min_sigc_version $ink_spell_pkg gthread-2.0 >= 2.0 libpng >= 1.2 gsl glibmm-2.4 giomm-2.4, with_gtkmm_3_0=yes, with_gtkmm_3_0=no)
+
+ if test "x$with_gtkmm_3_0" = "xyes"; then
+ AC_MSG_RESULT([Using EXPERIMENTAL Gtkmm 3 build])
+ AC_DEFINE(WITH_GTKMM_3_0,1,[Build with Gtkmm 3.0.x or higher])
+ fi
+
+ dnl ****************************
+ dnl Use external gdl if possible
+ dnl ****************************
+ PKG_CHECK_MODULES(GDL, gdl-3.0 > 3.3.4, with_ext_gdl=yes, with_ext_gdl=no)
+ if test "x$with_ext_gdl" = "xyes"; then
+ AC_MSG_RESULT([Using external GDL])
+ AC_DEFINE(WITH_EXT_GDL,1,[Build with external GDL])
+ fi
+else
+ PKG_CHECK_MODULES(INKSCAPE, glib-2.0 >= 2.24 gtk+-2.0 >= 2.20 libxml-2.0 >= 2.6.11 libxslt >= 1.0.15 cairo >= 1.10 sigc++-2.0 >= $min_sigc_version $ink_spell_pkg gthread-2.0 >= 2.0 libpng >= 1.2 gsl glibmm-2.4 giomm-2.4 gdkmm-2.4 gtkmm-2.4 >= 2.10.0)
+fi
+
+AC_SUBST(GDL_LIBS)
+AC_SUBST(GDL_CFLAGS)
+AM_CONDITIONAL(WITH_EXT_GDL, test "x$with_ext_gdl" = "xyes")
dnl ***********************************
dnl Checks for specific series of Gtkmm
diff --git a/src/Makefile.am b/src/Makefile.am
index 2ab4d0030..c27af0800 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -19,12 +19,18 @@ bin_PROGRAMS = inkscape inkview
#if WITH_INKBOARD
#libpedro = pedro/libpedro.a
#endif
+
+if !WITH_EXT_GDL
+internal_GDL = libgdl/libgdl.a
+endif
+
+
noinst_LIBRARIES = \
libinkscape.a \
dom/libdom.a \
libcroco/libcroco.a \
libavoid/libavoid.a \
- libgdl/libgdl.a \
+ $(internal_GDL) \
libcola/libcola.a \
libvpsc/libvpsc.a \
livarot/libvarot.a \
@@ -46,6 +52,7 @@ all_libs = \
$(INKBOARD_LIBS) \
$(LIBWPG_LIBS) \
$(DBUS_LIBS) \
+ $(GDL_LIBS) \
$(IMAGEMAGICK_LIBS)
# Add sources common for Inkscape and Inkview to this variable.
@@ -68,6 +75,7 @@ INCLUDES = \
$(INKBOARD_CFLAGS) \
$(LIBWPG_CFLAGS) \
$(DBUS_CFLAGS) \
+ $(GDL_CFLAGS) \
$(XFT_CFLAGS) \
$(LCMS_CFLAGS) \
$(POPPLER_CFLAGS) \
diff --git a/src/libgdl/Makefile_insert b/src/libgdl/Makefile_insert
index e151fd5d6..788df0673 100644
--- a/src/libgdl/Makefile_insert
+++ b/src/libgdl/Makefile_insert
@@ -1,5 +1,46 @@
## Makefile.am fragment sourced by src/Makefile.am.
+if WITH_EXT_GDL
+
+EXTRA_DIST += \
+ libgdl/gdl-tools.h \
+ libgdl/gdl-dock-object.h \
+ libgdl/gdl-dock-master.h \
+ libgdl/gdl-dock.h \
+ libgdl/gdl-dock-item.h \
+ libgdl/gdl-dock-notebook.h \
+ libgdl/gdl-dock-paned.h \
+ libgdl/gdl-dock-tablabel.h \
+ libgdl/gdl-dock-placeholder.h \
+ libgdl/gdl-dock-bar.h \
+ libgdl/gdl-stock-icons.h \
+ libgdl/gdl-i18n.h \
+ libgdl/gdl-i18n.c \
+ libgdl/gdl-dock-object.c \
+ libgdl/gdl-dock-master.c \
+ libgdl/gdl-dock.c \
+ libgdl/gdl-dock-item.c \
+ libgdl/gdl-dock-item-button-image.c \
+ libgdl/gdl-dock-item-button-image.h \
+ libgdl/gdl-dock-item-grip.h \
+ libgdl/gdl-dock-item-grip.c \
+ libgdl/gdl-dock-notebook.c \
+ libgdl/gdl-dock-paned.c \
+ libgdl/gdl-dock-tablabel.c \
+ libgdl/gdl-dock-placeholder.c \
+ libgdl/gdl-dock-bar.c \
+ libgdl/gdl-switcher.h \
+ libgdl/gdl-switcher.c \
+ libgdl/gdl-win32.h \
+ libgdl/gdl-win32.c \
+ libgdl/libgdltypebuiltins.h \
+ libgdl/libgdltypebuiltins.c \
+ libgdl/libgdlmarshal.h \
+ libgdl/libgdlmarshal.c \
+ libgdl/gdl.h
+
+else # WITH_EXT_GDL
+
libgdl/all: libgdl/libgdl.a
libgdl/clean:
@@ -41,3 +82,5 @@ libgdl_libgdl_a_SOURCES = \
libgdl/libgdlmarshal.h \
libgdl/libgdlmarshal.c \
libgdl/gdl.h
+
+endif
diff --git a/src/ui/widget/dock-item.h b/src/ui/widget/dock-item.h
index 75ffea1a0..608badb62 100644
--- a/src/ui/widget/dock-item.h
+++ b/src/ui/widget/dock-item.h
@@ -15,7 +15,11 @@
#include <gtkmm/frame.h>
#include <gtkmm/window.h>
+#if WITH_EXT_GDL
+#include <gdl/gdl.h>
+#else
#include "libgdl/gdl.h"
+#endif
namespace Gtk {
class HButtonBox;