From a5217470afbf318ecbf70c25f50d11a24cfa15ee Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Mon, 4 Jan 2010 20:21:22 +0000 Subject: [PATCH] Fix guile-1.6 compatibility of r18541 (bug#582325). We still suppport guile-1.6, hence we can use the functions introduced in guile-1.8 only by providing our own backward compatibility macro definitions in guile-mappings.h. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18545 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/app-utils/app-utils.i | 1 + src/app-utils/file-utils.c | 1 + src/business/business-core/business-core.i | 1 + src/business/business-core/gncBusGuile.c | 1 + src/core-utils/Makefile.am | 4 +++- src/core-utils/core-utils.i | 1 + src/engine/engine.i | 1 + src/engine/gnc-hooks.c | 1 + src/gnc-ui.h | 1 + src/gnome/gnome.i | 1 + src/guile-mappings.h | 18 ++++++++++++++++++ 11 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/app-utils/app-utils.i b/src/app-utils/app-utils.i index ea5eb3b0e2..14fad9c076 100644 --- a/src/app-utils/app-utils.i +++ b/src/app-utils/app-utils.i @@ -3,6 +3,7 @@ /* Includes the header in the wrapper code */ #include #include +#include #include #include #include diff --git a/src/app-utils/file-utils.c b/src/app-utils/file-utils.c index 24485a5b1b..95319d829d 100644 --- a/src/app-utils/file-utils.c +++ b/src/app-utils/file-utils.c @@ -34,6 +34,7 @@ #include #include +#include "guile-mappings.h" #include "file-utils.h" #include "gnc-engine.h" #include "gnc-filepath-utils.h" diff --git a/src/business/business-core/business-core.i b/src/business/business-core/business-core.i index 8bf8a1846e..9ce0116057 100644 --- a/src/business/business-core/business-core.i +++ b/src/business/business-core/business-core.i @@ -2,6 +2,7 @@ %{ /* Includes the header in the wrapper code */ #include +#include #include #include #include diff --git a/src/business/business-core/gncBusGuile.c b/src/business/business-core/gncBusGuile.c index 6d21222aaa..10dc832ab5 100644 --- a/src/business/business-core/gncBusGuile.c +++ b/src/business/business-core/gncBusGuile.c @@ -26,6 +26,7 @@ #include "gncBusGuile.h" #include "engine-helpers.h" #include "swig-runtime.h" +#include "guile-mappings.h" #define FUNC_NAME G_STRFUNC static swig_type_info * diff --git a/src/core-utils/Makefile.am b/src/core-utils/Makefile.am index 01ad233005..d1394349b8 100644 --- a/src/core-utils/Makefile.am +++ b/src/core-utils/Makefile.am @@ -35,7 +35,9 @@ AM_CPPFLAGS = \ ${GUILE_INCS} \ ${GLIB_CFLAGS} \ ${GCONF_CFLAGS} \ - ${GTK_CFLAGS} + ${GTK_CFLAGS} \ + -I${top_srcdir}/src + gncmoddir = ${GNC_SHAREDIR}/guile-modules/gnucash gncmod_DATA = core-utils.scm diff --git a/src/core-utils/core-utils.i b/src/core-utils/core-utils.i index 744930255b..6f05cda12b 100644 --- a/src/core-utils/core-utils.i +++ b/src/core-utils/core-utils.i @@ -1,5 +1,6 @@ %module sw_core_utils %{ +#include #include #include #include diff --git a/src/engine/engine.i b/src/engine/engine.i index 6f0f24ccd4..984f6ec39d 100644 --- a/src/engine/engine.i +++ b/src/engine/engine.i @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include diff --git a/src/engine/gnc-hooks.c b/src/engine/gnc-hooks.c index 2e39c5bb4b..85a1fdb507 100644 --- a/src/engine/gnc-hooks.c +++ b/src/engine/gnc-hooks.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "swig-runtime.h" #include "gnc-hooks.h" #include "gnc-hooks-scm.h" diff --git a/src/gnc-ui.h b/src/gnc-ui.h index d8faeead0b..dce48d9dc9 100644 --- a/src/gnc-ui.h +++ b/src/gnc-ui.h @@ -36,6 +36,7 @@ #include "gnc-ui-common.h" #include "Account.h" #include "gnc-pricedb.h" +#include "guile-mappings.h" /** Help Files ******************************************************/ diff --git a/src/gnome/gnome.i b/src/gnome/gnome.i index 3f4cb0415e..fd1bc7dc2f 100644 --- a/src/gnome/gnome.i +++ b/src/gnome/gnome.i @@ -4,6 +4,7 @@ #include #include #include +#include "guile-mappings.h" SCM scm_init_sw_gnome_module (void); %} diff --git a/src/guile-mappings.h b/src/guile-mappings.h index f986ee002b..4a5c6fe6be 100644 --- a/src/guile-mappings.h +++ b/src/guile-mappings.h @@ -17,6 +17,24 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * \********************************************************************/ +#include /* for SCM_MAJOR_VERSION etc */ + +/* Backward-compatibility macros for guile-1.6 for functions which + were introduced in libguile-1.8.0 */ +#if (SCM_MAJOR_VERSION == 1) && (SCM_MINOR_VERSION <= 6) +# define scm_is_bool SCM_BOOLP +# define scm_is_false SCM_FALSEP +# define scm_is_null SCM_NULLP +# define scm_is_number SCM_NUMBERP +# define scm_is_pair SCM_CONSP +# define scm_is_string SCM_STRINGP +# define scm_is_symbol SCM_SYMBOLP +# define scm_is_true SCM_NFALSEP +# define scm_is_vector SCM_VECTORP +# define scm_to_locale_string SCM_STRING_CHARS +# define scm_i_string_length SCM_STRING_LENGTH +#endif + /* Convenience macros */ #define scm_is_equal(obj1,obj2) scm_is_true(scm_equal_p(obj1,obj2))