r22670 - gnucash/trunk/src - Guile 2: fix autocompile errors

Geert Janssens gjanssens at code.gnucash.org
Tue Dec 18 06:33:59 EST 2012


Author: gjanssens
Date: 2012-12-18 06:33:58 -0500 (Tue, 18 Dec 2012)
New Revision: 22670
Trac: http://svn.gnucash.org/trac/changeset/22670

Modified:
   gnucash/trunk/src/app-utils/app-utils.scm
   gnucash/trunk/src/core-utils/core-utils.scm
   gnucash/trunk/src/gnc-module/gnc-module.scm
   gnucash/trunk/src/import-export/qif-import/qif-import.scm
   gnucash/trunk/src/report/business-reports/business-reports.scm
Log:
Guile 2: fix autocompile errors

Note that a first gnucash run with guile 2 will cause the scheme files
to be autocompiled into a guile specific bytecode language (unless the
environment variable GUILE_AUTO_COMPILE is set to 0).
This compile run still causes a lot of warnings, but the files get
properly compiled and gnucash runs fine.

Modified: gnucash/trunk/src/app-utils/app-utils.scm
===================================================================
--- gnucash/trunk/src/app-utils/app-utils.scm	2012-12-18 10:25:49 UTC (rev 22669)
+++ gnucash/trunk/src/app-utils/app-utils.scm	2012-12-18 11:33:58 UTC (rev 22670)
@@ -22,7 +22,14 @@
 (use-modules (gnucash gnc-module))
 (use-modules (ice-9 syncase))
 
-(gnc:module-load "gnucash/engine" 0)
+;; Guile 2 needs to find the symbols from the c module at compile time already
+(cond-expand
+  (guile-2
+    (eval-when
+      (compile load eval) 
+      (gnc:module-load "gnucash/engine" 0)))
+  (else
+    (gnc:module-load "gnucash/engine" 0)))
 
 ;; c-interface.scm
 (export gnc:error->string)

Modified: gnucash/trunk/src/core-utils/core-utils.scm
===================================================================
--- gnucash/trunk/src/core-utils/core-utils.scm	2012-12-18 10:25:49 UTC (rev 22669)
+++ gnucash/trunk/src/core-utils/core-utils.scm	2012-12-18 11:33:58 UTC (rev 22670)
@@ -6,7 +6,16 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (define-module (gnucash core-utils))
-(load-extension "libgnc-core-utils" "scm_init_sw_core_utils_module")
+
+;; Guile 2 needs to find the symbols from the extension at compile time already
+(cond-expand
+  (guile-2
+    (eval-when
+      (compile load eval) 
+      (load-extension "libgnc-core-utils" "scm_init_sw_core_utils_module")))
+  (else
+    (load-extension "libgnc-core-utils" "scm_init_sw_core_utils_module")))
+
 (use-modules (sw_core_utils))
 
 (re-export gnc-is-debugging)

Modified: gnucash/trunk/src/gnc-module/gnc-module.scm
===================================================================
--- gnucash/trunk/src/gnc-module/gnc-module.scm	2012-12-18 10:25:49 UTC (rev 22669)
+++ gnucash/trunk/src/gnc-module/gnc-module.scm	2012-12-18 11:33:58 UTC (rev 22670)
@@ -7,7 +7,16 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (define-module (gnucash gnc-module))
-(load-extension "libgnc-module" "scm_init_sw_gnc_module_module")
+
+;; Guile 2 needs to find the symbols from the extension at compile time already
+(cond-expand
+  (guile-2
+    (eval-when
+      (compile load eval) 
+      (load-extension "libgnc-module" "scm_init_sw_gnc_module_module")))
+  (else
+    (load-extension "libgnc-module" "scm_init_sw_gnc_module_module")))
+
 (use-modules (sw_gnc_module))
 
 (define gnc:module-system-init gnc-module-system-init)

Modified: gnucash/trunk/src/import-export/qif-import/qif-import.scm
===================================================================
--- gnucash/trunk/src/import-export/qif-import/qif-import.scm	2012-12-18 10:25:49 UTC (rev 22669)
+++ gnucash/trunk/src/import-export/qif-import/qif-import.scm	2012-12-18 11:33:58 UTC (rev 22670)
@@ -9,7 +9,15 @@
 (use-modules (gnucash main)) ;; FIXME: delete after we finish modularizing.
 
 ;; We do this initialization here because src/gnome isn't a real module.
-(load-extension "libgnc-gnome" "scm_init_sw_gnome_module")
+;; Note: Guile 2 needs to find the symbols from the extension at compile time already
+(cond-expand
+  (guile-2
+    (eval-when
+      (compile load eval) 
+      (load-extension "libgnc-gnome" "scm_init_sw_gnome_module")))
+  (else
+    (load-extension "libgnc-gnome" "scm_init_sw_gnome_module")))
+
 (use-modules (sw_gnome))
 
 (use-modules (gnucash gnc-module))

Modified: gnucash/trunk/src/report/business-reports/business-reports.scm
===================================================================
--- gnucash/trunk/src/report/business-reports/business-reports.scm	2012-12-18 10:25:49 UTC (rev 22669)
+++ gnucash/trunk/src/report/business-reports/business-reports.scm	2012-12-18 11:33:58 UTC (rev 22670)
@@ -31,7 +31,15 @@
 ;; to define gnc-build-url
 (gnc:module-load "gnucash/html" 0)
 
-(define gnc:menuname-business-reports (N_ "_Business"))
+;; Guile 2 needs to find this macro at compile time already
+(cond-expand
+  (guile-2
+    (eval-when
+      (compile load eval) 
+      (define gnc:menuname-business-reports (N_ "_Business"))))
+  (else
+    (define gnc:menuname-business-reports (N_ "_Business"))))
+
 (define gnc:optname-invoice-number (N_ "Invoice Number"))
 
 (define (guid-ref idstr type guid)



More information about the gnucash-changes mailing list