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