Rob,

I tracked down another g-wrap bug.  In this particular case the
enumeration C-code generator would create mutliple files that defined
the same (exported) variable.  This caused problems, specifically when
linking two g-wrap-generated C files together (either into the same
library or app or other non-lazy linking scenario) when both files
reference the same enum.

The fix is simple: turn the gw__enum__<type>_val_to_int_scm_func and
gw__enum__<type>_int_to_val_scm_func variables into 'static's.

The following patch makes this change, and I've tested it on my
gnucash build with sucess.

Thanks!

-derek

--- g-wrap-1.3.2-orig/g-wrap/enumeration.scm    Thu Jan  3 22:16:20 2002
+++ g-wrap-1.3.2/g-wrap/enumeration.scm         Sat Oct 19 11:17:54 2002
@@ -56,8 +56,8 @@
     (define (global-declarations-ccg type client-wrapset)
       (if (eq? client-wrapset wrapset)
           '()
-          (list "SCM " val->int-var-name ";\n"
-                "SCM " val->sym-var-name ";\n")))
+          (list "static SCM " val->int-var-name ";\n"
+                "static SCM " val->sym-var-name ";\n")))
     
     (define (global-definitions-ccg type client-wrapset)
       (if client-wrapset



-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       [EMAIL PROTECTED]                        PGP key available
_______________________________________________
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnucash.org/cgi-bin/mailman/listinfo/gnucash-devel

Reply via email to