diff --git a/make-gnucash-patch.in b/make-gnucash-patch.in index add915a1ee..b4a6979ec8 100644 --- a/make-gnucash-patch.in +++ b/make-gnucash-patch.in @@ -113,6 +113,7 @@ configure gnucash.engine.i gnucash.pm gnucash-engine-perl5_wrap.c +gnucash-engine-perl5_wrap_int.c g-wrap-guile libgncengine.la libgwrapguile.la diff --git a/src/optional/swig/.cvsignore b/src/optional/swig/.cvsignore index b69db4eb90..ab9675e230 100644 --- a/src/optional/swig/.cvsignore +++ b/src/optional/swig/.cvsignore @@ -5,5 +5,6 @@ Makefile *.la gnucash.engine.i gnucash-engine-perl5_wrap.c +gnucash-engine-perl5_wrap_int.c gnucash.engine_wrap.doc gnucash.pm diff --git a/src/optional/swig/Makefile.am b/src/optional/swig/Makefile.am index abee171277..1ee43cd7d9 100644 --- a/src/optional/swig/Makefile.am +++ b/src/optional/swig/Makefile.am @@ -18,7 +18,8 @@ noinst_HEADERS = \ EXTRA_DIST = \ .cvsignore \ examples/scan-acct.pl \ - perl5_swig_annotations.i + perl5_swig_annotations.i \ + gnucash-swig-defines.c CFLAGS = @CFLAGS@ ${GNOME_CFLAGS} -Dbool=char @@ -97,8 +98,13 @@ gnucash.engine.i: ${SWIG_INPUT_HDRS} perl5_swig_annotations.i CLEANFILES += gnucash.engine.i gnucash.engine_wrap.doc -gnucash-engine-perl5_wrap.c: gnucash.engine.i +gnucash-engine-perl5_wrap_int.c: gnucash.engine.i ${SWIG} -perl5 -I.. -I${top_srcdir}/src/engine -o $@ $< +CLEANFILES += gnucash-engine-perl5_wrap_int.c + +gnucash-engine-perl5_wrap.c: gnucash-swig-defines.c \ + gnucash-engine-perl5_wrap_int.c + cat gnucash-swig-defines.c gnucash-engine-perl5_wrap_int.c > $@ CLEANFILES += gnucash-engine-perl5_wrap.c CLEANFILES += gnucash.pm gnucash.so diff --git a/src/optional/swig/Makefile.in b/src/optional/swig/Makefile.in index 2db59241d9..f1c25fe720 100644 --- a/src/optional/swig/Makefile.in +++ b/src/optional/swig/Makefile.in @@ -130,7 +130,7 @@ libgncswig_la_LDFLAGS = -version-info 1:1:1 noinst_HEADERS = helperfuncs.h -EXTRA_DIST = .cvsignore examples/scan-acct.pl perl5_swig_annotations.i +EXTRA_DIST = .cvsignore examples/scan-acct.pl perl5_swig_annotations.i gnucash-swig-defines.c CFLAGS = @CFLAGS@ ${GNOME_CFLAGS} -Dbool=char @@ -144,7 +144,7 @@ libgncswig_la_LIBADD = @GLIB_LIBS@ ${top_srcdir}/src/engine/AccInfo.lo ${ SWIG_INPUT_HDRS := ${top_srcdir}/src/engine/AccInfo.h ${top_srcdir}/src/engine/Account.h ${top_srcdir}/src/engine/DateUtils.h ${top_srcdir}/src/engine/FileIO.h ${top_srcdir}/src/engine/GNCId.h ${top_srcdir}/src/engine/Group.h ${top_srcdir}/src/engine/LedgerUtils.h ${top_srcdir}/src/engine/Query.h ${top_srcdir}/src/engine/Queue.h ${top_srcdir}/src/engine/Scrub.h ${top_srcdir}/src/engine/Session.h ${top_srcdir}/src/engine/TransLog.h ${top_srcdir}/src/engine/Transaction.h ${top_srcdir}/src/engine/date.h -CLEANFILES = gnucash.engine.i gnucash.engine_wrap.doc gnucash-engine-perl5_wrap.c gnucash.pm gnucash.so +CLEANFILES = gnucash.engine.i gnucash.engine_wrap.doc gnucash-engine-perl5_wrap_int.c gnucash-engine-perl5_wrap.c gnucash.pm gnucash.so mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../../../config.h CONFIG_CLEAN_FILES = @@ -476,9 +476,13 @@ gnucash.engine.i: ${SWIG_INPUT_HDRS} perl5_swig_annotations.i echo "%include `basename $$file`" >> $@; \ done -gnucash-engine-perl5_wrap.c: gnucash.engine.i +gnucash-engine-perl5_wrap_int.c: gnucash.engine.i ${SWIG} -perl5 -I.. -I${top_srcdir}/src/engine -o $@ $< +gnucash-engine-perl5_wrap.c: gnucash-swig-defines.c \ + gnucash-engine-perl5_wrap_int.c + cat gnucash-swig-defines.c gnucash-engine-perl5_wrap_int.c > $@ + # We have to do this because otherwise automake insists on putting # these files into the dist tarfile. If there's a a better way, # by all means, let us know... diff --git a/src/optional/swig/gnucash-swig-defines.c b/src/optional/swig/gnucash-swig-defines.c new file mode 100644 index 0000000000..3ac531362a --- /dev/null +++ b/src/optional/swig/gnucash-swig-defines.c @@ -0,0 +1,3 @@ +#define sv_undef PL_sv_undef +#define sv_yes PL_sv_yes +#define na PL_na