r14952 - gnucash/branches/swig-redo/src/business - Build and initialize swig instead of g-wrap in the business modules
Chris Shoemaker
chris at cvs.gnucash.org
Mon Oct 9 19:48:33 EDT 2006
Author: chris
Date: 2006-10-09 19:48:32 -0400 (Mon, 09 Oct 2006)
New Revision: 14952
Trac: http://svn.gnucash.org/trac/changeset/14952
Modified:
gnucash/branches/swig-redo/src/business/business-core/Makefile.am
gnucash/branches/swig-redo/src/business/business-core/businessmod-core.c
gnucash/branches/swig-redo/src/business/business-core/test/Makefile.am
gnucash/branches/swig-redo/src/business/business-gnome/Makefile.am
gnucash/branches/swig-redo/src/business/business-gnome/business-gnome.scm
gnucash/branches/swig-redo/src/business/business-gnome/businessmod-gnome.c
gnucash/branches/swig-redo/src/business/dialog-tax-table/Makefile.am
gnucash/branches/swig-redo/src/business/dialog-tax-table/dialog-tax-table.scm
gnucash/branches/swig-redo/src/business/dialog-tax-table/gncmod-dialog-tax-table.c
Log:
Build and initialize swig instead of g-wrap in the business modules
This includes some temporary use of g-wrap to handle some types that
aren't converted to swig yet.
Modified: gnucash/branches/swig-redo/src/business/business-core/Makefile.am
===================================================================
--- gnucash/branches/swig-redo/src/business/business-core/Makefile.am 2006-10-09 23:47:38 UTC (rev 14951)
+++ gnucash/branches/swig-redo/src/business/business-core/Makefile.am 2006-10-09 23:48:32 UTC (rev 14952)
@@ -1,7 +1,7 @@
SUBDIRS = . test file
PWD := $(shell pwd)
-pkglib_LTLIBRARIES = libgncmod-business-core.la libgw-business-core.la
+pkglib_LTLIBRARIES = libgncmod-business-core.la
AM_CFLAGS = \
-I${top_srcdir}/src \
@@ -13,6 +13,8 @@
${GLIB_CFLAGS}
libgncmod_business_core_la_SOURCES = \
+ swig-business-core.c \
+ gncBusGuile.c \
businessmod-core.c \
gncAddress.c \
gncBillTerm.c \
@@ -65,44 +67,23 @@
# business-core-helpers.c
-libgw_business_core_la_SOURCES = \
- gncBusGuile.c
+swig-business-core.c: business-core.i ${noinst_HEADERS}
+ swig -guile $(SWIG_ARGS) -Linkage module \
+ -I${top_srcdir}/src/engine -o $@ $<
-nodist_libgw_business_core_la_SOURCES = \
- gw-business-core.c
-
-libgw_business_core_la_LDFLAGS = ${G_WRAP_LINK_ARGS}
-libgw_business_core_la_LIBADD = \
- libgncmod-business-core.la \
- ${top_builddir}/src/engine/libgw-engine.la \
- ${top_builddir}/src/engine/libgncmod-engine.la \
- ${QOF_LIBS} \
- ${GLIB_LIBS}
-
gncmoddir = ${GNC_SHAREDIR}/guile-modules/gnucash
gncmod_DATA = business-core.scm
-gwmoddir = ${GNC_GWRAP_LIBDIR}
-gwmod_DATA = \
- gw-business-core-spec.scm
-nodist_gwmod_DATA = \
- gw-business-core.scm
+EXTRA_DIST = ${gncmod_DATA}
-EXTRA_DIST = \
- ${gncmod_DATA} \
- ${gwmod_DATA}
-
if GNUCASH_SEPARATE_BUILDDIR
-#For compiling
-SCM_FILE_LINKS = gw-business-core-spec.scm
#For executing test cases
-SCM_FILE_LINKS += ${gncmod_DATA}
+SCM_FILE_LINKS = ${gncmod_DATA}
endif
.scm-links:
- rm -f gnucash g-wrapped
+ rm -f gnucash
$(LN_S) -f . gnucash
- $(LN_S) -f . g-wrapped
if GNUCASH_SEPARATE_BUILDDIR
for X in ${SCM_FILE_LINKS} ; do \
$(LN_S) -f ${srcdir}/$$X . ; \
@@ -110,15 +91,7 @@
endif
touch .scm-links
-gw-business-core.scm gw-business-core.c gw-business-core.h: \
- .scm-links gw-business-core-spec.scm ${top_builddir}/config.status
- FLAVOR=gnome $(GUILE) -c \
- "(set! %load-path (cons \"${G_WRAP_MODULE_DIR}\" %load-path)) \
- (set! %load-path (cons \"${PWD}\" %load-path)) \
- (set! %load-path (cons \"../../engine\" %load-path)) \
- (primitive-load \"./gw-business-core-spec.scm\") \
- (gw:generate-wrapset \"gw-business-core\")"
-BUILT_SOURCES = gw-business-core.scm gw-business-core.c gw-business-core.h
-CLEANFILES = $(BUILT_SOURCES) gw-business-core.html \
- g-wrapped gnucash .scm-links ${SCM_FILE_LINKS}
+BUILT_SOURCES = swig-business-core.c
+CLEANFILES = $(BUILT_SOURCES) \
+ gnucash .scm-links ${SCM_FILE_LINKS}
Modified: gnucash/branches/swig-redo/src/business/business-core/businessmod-core.c
===================================================================
--- gnucash/branches/swig-redo/src/business/business-core/businessmod-core.c 2006-10-09 23:47:38 UTC (rev 14951)
+++ gnucash/branches/swig-redo/src/business/business-core/businessmod-core.c 2006-10-09 23:48:32 UTC (rev 14952)
@@ -30,7 +30,6 @@
#include "gnc-module.h"
#include "gnc-module-api.h"
-#include "gw-business-core.h"
#include "gncAddressP.h"
#include "gncBillTermP.h"
@@ -43,7 +42,10 @@
#include "gncOwnerP.h"
#include "gncTaxTableP.h"
#include "gncVendorP.h"
+#include "g-wrap-wct.h" //temp
+extern SCM scm_init_sw_business_core_module (void);
+
/* version of the gnc module system interface we require */
int libgncmod_business_core_LTX_gnc_module_system_interface = 0;
@@ -94,9 +96,27 @@
gncVendorRegister ();
}
- scm_c_eval_string("(use-modules (g-wrapped gw-business-core))");
+ scm_init_sw_business_core_module();
+ scm_c_eval_string("(use-modules (sw_business_core))");
scm_c_eval_string("(use-modules (gnucash business-core))");
+ // temp code until gnc:id-type is wrapped
+ {
+ SCM wct_gnc_id_type = scm_c_eval_string("<gnc:id-type>");
+ SCM tmp;
+
+ tmp = gw_wcp_assimilate_ptr(INVOICE_FROM_TXN, wct_gnc_id_type);
+ scm_c_define("gnc:invoice-from-txn", tmp);
+ tmp = gw_wcp_assimilate_ptr(INVOICE_FROM_LOT, wct_gnc_id_type);
+ scm_c_define("gnc:invoice-from-lot", tmp);
+ tmp = gw_wcp_assimilate_ptr(INVOICE_OWNER, wct_gnc_id_type);
+ scm_c_define("gnc:invoice-owner", tmp);
+ tmp = gw_wcp_assimilate_ptr(OWNER_PARENTG, wct_gnc_id_type);
+ scm_c_define("gnc:owner-parentg", tmp);
+ tmp = gw_wcp_assimilate_ptr(OWNER_FROM_LOT, wct_gnc_id_type);
+ scm_c_define("gnc:owner-from-lot", tmp);
+ }
+
return TRUE;
}
Modified: gnucash/branches/swig-redo/src/business/business-core/test/Makefile.am
===================================================================
--- gnucash/branches/swig-redo/src/business/business-core/test/Makefile.am 2006-10-09 23:47:38 UTC (rev 14951)
+++ gnucash/branches/swig-redo/src/business/business-core/test/Makefile.am 2006-10-09 23:48:32 UTC (rev 14952)
@@ -15,7 +15,6 @@
${top_builddir}/src/engine/libgncmod-engine.la \
${top_builddir}/src/engine/libgw-engine.la \
../libgncmod-business-core.la \
- ../libgw-business-core.la \
${GLIB_LIBS} \
${QOF_LIBS} \
-lltdl
Modified: gnucash/branches/swig-redo/src/business/business-gnome/Makefile.am
===================================================================
--- gnucash/branches/swig-redo/src/business/business-gnome/Makefile.am 2006-10-09 23:47:38 UTC (rev 14951)
+++ gnucash/branches/swig-redo/src/business/business-gnome/Makefile.am 2006-10-09 23:48:32 UTC (rev 14952)
@@ -1,7 +1,7 @@
SUBDIRS = . glade schemas ui
PWD := $(shell pwd)
-pkglib_LTLIBRARIES = libgncmod-business-gnome.la libgw-business-gnome.la
+pkglib_LTLIBRARIES = libgncmod-business-gnome.la
AM_CFLAGS = \
-I${top_srcdir}/src \
@@ -87,15 +87,6 @@
${QOF_LIBS} \
${EFENCE_LIBS}
-
-nodist_libgw_business_gnome_la_SOURCES = gw-business-gnome.c
-
-libgw_business_gnome_la_LDFLAGS = ${G_WRAP_LINK_ARGS}
-libgw_business_gnome_la_LIBADD = \
- libgncmod-business-gnome.la \
- ${G_WRAP_LINK_ARGS} \
- ${GUILE_LIBS}
-
# For Business Reports
gncscmmoddir = ${GNC_SHAREDIR}/guile-modules/gnucash/report/
gncscmmod_DATA =
@@ -103,29 +94,19 @@
gncmoddir = ${GNC_SHAREDIR}/guile-modules/gnucash
gncmod_DATA = business-gnome.scm
-gwmoddir = ${GNC_GWRAP_LIBDIR}
-gwmod_DATA = \
- gw-business-gnome-spec.scm
-nodist_gwmod_DATA = \
- gw-business-gnome.scm
-
EXTRA_DIST = \
${gncmod_DATA} \
- ${gwmod_DATA} \
${gncscmmod_DATA}
if GNUCASH_SEPARATE_BUILDDIR
#Only needed when srcdir and builddir are different
-#for compiling
-SCM_FILE_LINKS = gw-business-gnome-spec.scm
#for running
-SCM_FILE_LINKS += ${gncmod_DATA}
+SCM_FILE_LINKS = ${gncmod_DATA}
endif
.scm-links:
- rm -f gnucash g-wrapped
+ rm -f gnucash
$(LN_S) -f . gnucash
- $(LN_S) -f . g-wrapped
if GNUCASH_SEPARATE_BUILDDIR
for X in ${SCM_FILE_LINKS} ; do \
$(LN_S) -f ${srcdir}/$$X . ; \
@@ -133,19 +114,5 @@
endif
touch .scm-links
-gw-business-gnome.scm gw-business-gnome.c gw-business-gnome.h: \
- .scm-links gw-business-gnome-spec.scm ${top_builddir}/config.status
- FLAVOR=gnome $(GUILE) -c \
- "(set! %load-path (cons \"${G_WRAP_MODULE_DIR}\" %load-path)) \
- (set! %load-path (cons \"${PWD}\" %load-path)) \
- (set! %load-path (cons \"../business-core\" %load-path)) \
- (set! %load-path (cons \"${srcdir}/../business-core\" %load-path)) \
- (set! %load-path (cons \"../../engine\" %load-path)) \
- (set! %load-path (cons \"../../app-utils\" %load-path)) \
- (set! %load-path (cons \"../../gnome-utils\" %load-path)) \
- (primitive-load \"./gw-business-gnome-spec.scm\") \
- (gw:generate-wrapset \"gw-business-gnome\")"
-
-BUILT_SOURCES = gw-business-gnome.scm gw-business-gnome.c gw-business-gnome.h
-CLEANFILES = $(BUILT_SOURCES) g-wrapped gnucash .scm-links \
- ${SCM_FILE_LINKS} gw-business-gnome.html
+BUILT_SOURCES =
+CLEANFILES = $(BUILT_SOURCES) gnucash .scm-links ${SCM_FILE_LINKS}
Modified: gnucash/branches/swig-redo/src/business/business-gnome/business-gnome.scm
===================================================================
--- gnucash/branches/swig-redo/src/business/business-gnome/business-gnome.scm 2006-10-09 23:47:38 UTC (rev 14951)
+++ gnucash/branches/swig-redo/src/business/business-gnome/business-gnome.scm 2006-10-09 23:48:32 UTC (rev 14952)
@@ -1,5 +1,4 @@
(define-module (gnucash business-gnome))
-(use-modules (g-wrapped gw-business-gnome))
(use-modules (gnucash gnc-module))
(gnc:module-load "gnucash/gnome-utils" 0)
Modified: gnucash/branches/swig-redo/src/business/business-gnome/businessmod-gnome.c
===================================================================
--- gnucash/branches/swig-redo/src/business/business-gnome/businessmod-gnome.c 2006-10-09 23:47:38 UTC (rev 14951)
+++ gnucash/branches/swig-redo/src/business/business-gnome/businessmod-gnome.c 2006-10-09 23:48:32 UTC (rev 14952)
@@ -35,7 +35,7 @@
#include "gnc-hooks.h"
#include "gnc-module.h"
#include "gnc-module-api.h"
-#include "gw-business-gnome.h"
+//#include "g-wrap-wct.h" //temp
#include "search-core-type.h"
#include "search-owner.h"
@@ -101,10 +101,28 @@
// return FALSE;
// }
- scm_c_eval_string("(use-modules (g-wrapped gw-business-gnome))");
scm_c_eval_string("(use-modules (gnucash business-gnome))");
scm_c_eval_string("(use-modules (gnucash report business-reports))");
+ // temp code until gnc:url-type is wrapped
+ /*
+ {
+ SCM wct_gnc_url_type = scm_c_eval_string("<gnc:url-type>");
+ SCM tmp;
+
+ tmp = gw_wcp_assimilate_ptr(GNC_CUSTOMER_MODULE_NAME, wct_gnc_url_type);
+ scm_c_define("gnc:url-type-customer", tmp);
+ tmp = gw_wcp_assimilate_ptr(GNC_VENDOR_MODULE_NAME, wct_gnc_url_type);
+ scm_c_define("gnc:url-type-vendor", tmp);
+ tmp = gw_wcp_assimilate_ptr(GNC_EMPLOYEE_MODULE_NAME, wct_gnc_url_type);
+ scm_c_define("gnc:url-type-employee", tmp);
+ tmp = gw_wcp_assimilate_ptr(GNC_INVOICE_MODULE_NAME, wct_gnc_url_type);
+ scm_c_define("gnc:url-type-invoice", tmp);
+ tmp = gw_wcp_assimilate_ptr(URL_TYPE_OWNERREPORT, wct_gnc_url_type);
+ scm_c_define("gnc:url-type-ownerreport", tmp);
+ }
+ */
+
if (refcount == 0) {
/* Register the Owner search type */
gnc_search_core_register_type (GNC_OWNER_MODULE_NAME,
Modified: gnucash/branches/swig-redo/src/business/dialog-tax-table/Makefile.am
===================================================================
--- gnucash/branches/swig-redo/src/business/dialog-tax-table/Makefile.am 2006-10-09 23:47:38 UTC (rev 14951)
+++ gnucash/branches/swig-redo/src/business/dialog-tax-table/Makefile.am 2006-10-09 23:48:32 UTC (rev 14952)
@@ -1,6 +1,6 @@
PWD := $(shell pwd)
-pkglib_LTLIBRARIES = libgncmod-dialog-tax-table.la libgw-dialog-tax-table.la
+pkglib_LTLIBRARIES = libgncmod-dialog-tax-table.la
AM_CFLAGS = \
-I${top_srcdir}/src \
@@ -21,6 +21,7 @@
${GUILE_INCS}
libgncmod_dialog_tax_table_la_SOURCES = \
+ swig-dialog-tax-table.c \
gncmod-dialog-tax-table.c \
dialog-tax-table.c
@@ -41,18 +42,9 @@
${QOF_LIBS} \
${EFENCE_LIBS}
-nodist_libgw_dialog_tax_table_la_SOURCES = gw-dialog-tax-table.c
+swig-dialog-tax-table.c: dialog-tax-table.i ${noinst_HEADERS}
+ swig -guile $(SWIG_ARGS) -Linkage module -o $@ $<
-libgw_dialog_tax_table_la_LIBADD = \
- libgncmod-dialog-tax-table.la \
- ${G_WRAP_LINK_ARGS}
-
-gwmoddir = ${GNC_GWRAP_LIBDIR}
-gwmod_DATA = \
- gw-dialog-tax-table-spec.scm
-nodist_gwmod_DATA = \
- gw-dialog-tax-table.scm
-
gncmoddir = ${GNC_SHAREDIR}/guile-modules/gnucash
gncmod_DATA = dialog-tax-table.scm
@@ -61,21 +53,17 @@
EXTRA_DIST = \
${glade_DATA} \
- ${gwmod_DATA} \
${gncmod_DATA}
if GNUCASH_SEPARATE_BUILDDIR
#Only needed when srcdir and builddir are different
-# for compline
-SCM_FILE_LINKS = gw-dialog-tax-table-spec.scm
# for running
-SCM_FILE_LINKS += ${gncmod_DATA}
+SCM_FILE_LINKS = ${gncmod_DATA}
endif
.scm-links:
- rm -f gnucash g-wrapped
+ rm -f gnucash
$(LN_S) -f . gnucash
- $(LN_S) -f . g-wrapped
if GNUCASH_SEPARATE_BUILDDIR
for X in ${SCM_FILE_LINKS} ; do \
$(LN_S) -f ${srcdir}/$$X . ; \
@@ -83,19 +71,5 @@
endif
touch .scm-links
-gw-dialog-tax-table.scm gw-dialog-tax-table.c gw-dialog-tax-table.h: \
- .scm-links gw-dialog-tax-table-spec.scm ${top_builddir}/config.status
- FLAVOR=gnome $(GUILE) -c \
- "(set! %load-path (cons \"${G_WRAP_MODULE_DIR}\" %load-path)) \
- (set! %load-path (cons \"${PWD}\" %load-path)) \
- (set! %load-path (cons \"../business-core\" %load-path)) \
- (set! %load-path (cons \"../../engine\" %load-path)) \
- (set! %load-path (cons \"../../app-utils\" %load-path)) \
- (set! %load-path (cons \"../../gnome-utils\" %load-path)) \
- (primitive-load \"./gw-dialog-tax-table-spec.scm\") \
- (gw:generate-wrapset \"gw-dialog-tax-table\")"
-
-BUILT_SOURCES = gw-dialog-tax-table.scm gw-dialog-tax-table.c \
- gw-dialog-tax-table.h
-CLEANFILES = $(BUILT_SOURCES) g-wrapped gnucash .scm-links \
- ${SCM_FILE_LINKS} gw-dialog-tax-table.html
+BUILT_SOURCES = swig-dialog-tax-table.c
+CLEANFILES = $(BUILT_SOURCES) gnucash .scm-links ${SCM_FILE_LINKS}
Modified: gnucash/branches/swig-redo/src/business/dialog-tax-table/dialog-tax-table.scm
===================================================================
--- gnucash/branches/swig-redo/src/business/dialog-tax-table/dialog-tax-table.scm 2006-10-09 23:47:38 UTC (rev 14951)
+++ gnucash/branches/swig-redo/src/business/dialog-tax-table/dialog-tax-table.scm 2006-10-09 23:48:32 UTC (rev 14952)
@@ -1,2 +1 @@
(define-module (gnucash dialog-tax-table))
-(use-modules (g-wrapped gw-dialog-tax-table))
Modified: gnucash/branches/swig-redo/src/business/dialog-tax-table/gncmod-dialog-tax-table.c
===================================================================
--- gnucash/branches/swig-redo/src/business/dialog-tax-table/gncmod-dialog-tax-table.c 2006-10-09 23:47:38 UTC (rev 14951)
+++ gnucash/branches/swig-redo/src/business/dialog-tax-table/gncmod-dialog-tax-table.c 2006-10-09 23:48:32 UTC (rev 14952)
@@ -29,8 +29,8 @@
#include "gnc-module.h"
#include "gnc-module-api.h"
-#include "gw-dialog-tax-table.h"
+extern SCM scm_init_sw_dialog_tax_table_module(void);
/* version of the gnc module system interface we require */
int libgncmod_dialog_tax_table_LTX_gnc_module_system_interface = 0;
@@ -73,8 +73,8 @@
return FALSE;
}
- scm_c_eval_string("(use-modules (g-wrapped gw-dialog-tax-table))");
- // scm_c_eval_string("(use-modules (gnucash dialog-tax-table))");
+ scm_init_sw_dialog_tax_table_module();
+ scm_c_eval_string("(use-modules (sw_dialog_tax_table))");
return TRUE;
}
More information about the gnucash-changes
mailing list