From aec93fbf715a45afea3c1314af869c240759be9e Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Sat, 14 Apr 2012 14:50:00 +0100 Subject: Add --enable-gtk3-experimental build + use external GDL if possible (bzr r11244) --- configure.ac | 33 ++++++++++++++++++++++++++++++++- src/Makefile.am | 10 +++++++++- src/libgdl/Makefile_insert | 43 +++++++++++++++++++++++++++++++++++++++++++ src/ui/widget/dock-item.h | 4 ++++ 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 #include +#if WITH_EXT_GDL +#include +#else #include "libgdl/gdl.h" +#endif namespace Gtk { class HButtonBox; -- cgit v1.2.3