r15928 - gnucash/trunk - Make sure that each GNCModule has a unique set of symbols.

Derek Atkins warlord at cvs.gnucash.org
Wed Apr 18 19:23:08 EDT 2007


Author: warlord
Date: 2007-04-18 19:23:04 -0400 (Wed, 18 Apr 2007)
New Revision: 15928
Trac: http://svn.gnucash.org/trac/changeset/15928

Modified:
   gnucash/trunk/
   gnucash/trunk/src/app-utils/gncmod-app-utils.c
   gnucash/trunk/src/backend/file/gncmod-backend-file.c
   gnucash/trunk/src/business/business-core/file/gncmod-business-backend-file.c
   gnucash/trunk/src/business/business-core/gncmod-business-core.c
   gnucash/trunk/src/business/business-gnome/gncmod-business-gnome.c
   gnucash/trunk/src/business/business-utils/gncmod-business-utils.c
   gnucash/trunk/src/business/dialog-tax-table/gncmod-dialog-tax-table.c
   gnucash/trunk/src/calculation/gncmod-calculation.c
   gnucash/trunk/src/engine/gncmod-engine.c
   gnucash/trunk/src/engine/test-core/gncmod-test-engine.c
   gnucash/trunk/src/gnc-module/gnc-module-api.h
   gnucash/trunk/src/gnc-module/gnc-module.c
   gnucash/trunk/src/gnc-module/test/misc-mods/agedver.c
   gnucash/trunk/src/gnc-module/test/misc-mods/futuremodsys.c
   gnucash/trunk/src/gnc-module/test/misc-mods/incompatdep.c
   gnucash/trunk/src/gnc-module/test/mod-bar/gnc-mod-bar.c
   gnucash/trunk/src/gnc-module/test/mod-baz/gnc-mod-baz.c
   gnucash/trunk/src/gnc-module/test/mod-foo/gnc-mod-foo.c
   gnucash/trunk/src/gnome-search/gncmod-gnome-search.c
   gnucash/trunk/src/gnome-utils/gncmod-gnome-utils.c
   gnucash/trunk/src/import-export/binary-import/gncmod-binary-import.c
   gnucash/trunk/src/import-export/gncmod-generic-import.c
   gnucash/trunk/src/import-export/hbci/gncmod-hbci.c
   gnucash/trunk/src/import-export/log-replay/gncmod-log-replay.c
   gnucash/trunk/src/import-export/ofx/gncmod-ofx-import.c
   gnucash/trunk/src/import-export/qif-import/gncmod-qif-import.c
   gnucash/trunk/src/import-export/qif-io-core/gncmod-qifiocore.c
   gnucash/trunk/src/register/ledger-core/gncmod-ledger-core.c
   gnucash/trunk/src/register/register-core/gncmod-register-core.c
   gnucash/trunk/src/register/register-gnome/gncmod-register-gnome.c
   gnucash/trunk/src/report/locale-specific/us/gncmod-locale-reports-us.c
   gnucash/trunk/src/report/report-gnome/gncmod-report-gnome.c
   gnucash/trunk/src/report/report-system/gncmod-report-system.c
   gnucash/trunk/src/report/standard-reports/gncmod-standard-reports.c
   gnucash/trunk/src/report/stylesheets/gncmod-stylesheets.c
   gnucash/trunk/src/report/utility-reports/gncmod-utility-reports.c
   gnucash/trunk/src/tax/us/gncmod-tax-us.c
   gnucash/trunk/src/test-core/gncmod-test.c
Log:
Make sure that each GNCModule has a unique set of symbols.
Change gnc-module.c to load the unique symbols based on the module filename.
Change gnc-module-api.h to declare the functions based on a provided filename.
Change ALL the modules to use the new symbol names.

This change should allow the code to build cleanly on the MacIntel platform.



Property changes on: gnucash/trunk
___________________________________________________________________
Name: svk:merge
   - 3889ce50-311e-0410-a464-f059747ec5d1:/local/gnucash/branches/swig-redo:802
3889ce50-311e-0410-a464-f059747ec5d1:/local/gnucash/trunk:1037
57a11ea4-9604-0410-9ed3-97b8803252fd:/gnucash/branches/gobject-engine-dev-warlord:15827
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/branches/gobject-engine-dev-warlord:14369
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/branches/gobject-engine-dev-warlord1:14446
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/trunk:14542
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/trunk2:13366
   + 3889ce50-311e-0410-a464-f059747ec5d1:/local/gnucash/branches/swig-redo:802
3889ce50-311e-0410-a464-f059747ec5d1:/local/gnucash/trunk:1037
57a11ea4-9604-0410-9ed3-97b8803252fd:/gnucash/branches/gobject-engine-dev-warlord:15827
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/branches/gobject-engine-dev-warlord:14369
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/branches/gobject-engine-dev-warlord1:14446
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/trunk:14543
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/trunk2:13366

Modified: gnucash/trunk/src/app-utils/gncmod-app-utils.c
===================================================================
--- gnucash/trunk/src/app-utils/gncmod-app-utils.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/app-utils/gncmod-app-utils.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -16,22 +16,24 @@
 #include "gnc-hooks.h"
 #include "gnc-exp-parser.h"
 
+GNC_MODULE_API_DECL(libgncmod_app_utils)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_app_utils_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_app_utils_gnc_module_current  = 0;
+int libgncmod_app_utils_gnc_module_revision = 0;
+int libgncmod_app_utils_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_app_utils_gnc_module_path(void) {
   return g_strdup("gnucash/app-utils");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_app_utils_gnc_module_description(void) {
   return g_strdup("Utilities for building gnc applications");
 }
 
@@ -54,7 +56,7 @@
 extern SCM scm_init_sw_app_utils_module(void);
 
 int
-gnc_module_init(int refcount)
+libgncmod_app_utils_gnc_module_init(int refcount)
 {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
@@ -82,7 +84,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_app_utils_gnc_module_end(int refcount)
 {
   if (refcount == 0)
     gnc_component_manager_shutdown ();

Modified: gnucash/trunk/src/backend/file/gncmod-backend-file.c
===================================================================
--- gnucash/trunk/src/backend/file/gncmod-backend-file.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/backend/file/gncmod-backend-file.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -12,31 +12,33 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_backend_file)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgnc_backend_file_utils_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_backend_file_gnc_module_current  = 0;
+int libgncmod_backend_file_gnc_module_revision = 0;
+int libgncmod_backend_file_gnc_module_age      = 0;
 
 static GNCModule engine;
 
 
 char *
-gnc_module_path(void)
+libgncmod_backend_file_gnc_module_path(void)
 {
   return g_strdup("gnucash/backend/file");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_backend_file_gnc_module_description(void)
 {
   return g_strdup("The binary and XML (v1 and v2) backends for GnuCash");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_backend_file_gnc_module_init(int refcount)
 {
   engine = gnc_module_load("gnucash/engine", 0);
   if(!engine) return FALSE;
@@ -49,12 +51,12 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_backend_file_gnc_module_end(int refcount)
 {
   int unload = TRUE;
 
   if (engine)
-    unload = gnc_module_unload(engine);
+    unload = libgnc_backend_file_utils_gnc_module_unload(engine);
 
   if (refcount == 0)
     engine = NULL;

Modified: gnucash/trunk/src/business/business-core/file/gncmod-business-backend-file.c
===================================================================
--- gnucash/trunk/src/business/business-core/file/gncmod-business-backend-file.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/business/business-core/file/gncmod-business-backend-file.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -43,32 +43,34 @@
 #include "gnc-tax-table-xml-v2.h"
 #include "gnc-vendor-xml-v2.h"
 
+GNC_MODULE_API_DECL(libgncmod_business_backend_file)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_business_backend_file_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_business_backend_file_gnc_module_current  = 0;
+int libgncmod_business_backend_file_gnc_module_revision = 0;
+int libgncmod_business_backend_file_gnc_module_age      = 0;
 
 static GNCModule bus_core;
 static GNCModule file;
 
 
 char *
-gnc_module_path(void)
+libgncmod_business_backend_file_gnc_module_path(void)
 {
   return g_strdup("gnucash/business-core-file");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_business_backend_file_gnc_module_description(void)
 {
   return g_strdup("The XML (v2) parsers for GnuCash business objects");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_business_backend_file_gnc_module_init(int refcount)
 {
   if(!gnc_engine_is_initialized()) { return FALSE; }
 
@@ -94,7 +96,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_business_backend_file_gnc_module_end(int refcount)
 {
   int unload = TRUE;
 

Modified: gnucash/trunk/src/business/business-core/gncmod-business-core.c
===================================================================
--- gnucash/trunk/src/business/business-core/gncmod-business-core.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/business/business-core/gncmod-business-core.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -42,31 +42,33 @@
 #include "gncTaxTableP.h"
 #include "gncVendorP.h"
 
+GNC_MODULE_API_DECL(libgncmod_business_core)
+
 extern SCM scm_init_sw_business_core_module (void);
 
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_business_core_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_business_core_gnc_module_current  = 0;
+int libgncmod_business_core_gnc_module_revision = 0;
+int libgncmod_business_core_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_business_core_gnc_module_path(void)
 {
   return g_strdup("gnucash/business-core");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_business_core_gnc_module_description(void)
 {
   return g_strdup("The GnuCash business core");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_business_core_gnc_module_init(int refcount)
 {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
@@ -97,6 +99,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_business_core_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/business/business-gnome/gncmod-business-gnome.c
===================================================================
--- gnucash/trunk/src/business/business-gnome/gncmod-business-gnome.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/business/business-gnome/gncmod-business-gnome.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -49,29 +49,31 @@
 #include "dialog-invoice.h"
 #include "dialog-preferences.h"
 
+GNC_MODULE_API_DECL(libgncmod_business_gnome)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_business_gnome_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_business_gnome_gnc_module_current  = 0;
+int libgncmod_business_gnome_gnc_module_revision = 0;
+int libgncmod_business_gnome_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_business_gnome_gnc_module_path(void)
 {
   return g_strdup("gnucash/business-gnome");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_business_gnome_gnc_module_description(void)
 {
   return g_strdup("The GnuCash business module GNOME UI");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_business_gnome_gnc_module_init(int refcount)
 {
   /* load business-core: we depend on it -- and it depends on the engine */
   if (!gnc_module_load ("gnucash/business-core", 0)) {
@@ -90,7 +92,7 @@
   if (!gnc_module_load ("gnucash/report/report-gnome", 0)) {
     return FALSE;
   }
-  //  if (!gnc_module_load ("gnucash/report/standard-reports", 0)) {
+  //  if (!libgncmod_business_gnome_gnc_module_load ("gnucash/report/standard-reports", 0)) {
   //    return FALSE;
   //  }
 
@@ -137,6 +139,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_business_gnome_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/business/business-utils/gncmod-business-utils.c
===================================================================
--- gnucash/trunk/src/business/business-utils/gncmod-business-utils.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/business/business-utils/gncmod-business-utils.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -29,29 +29,31 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_business_utils)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_business_utils_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_business_utils_gnc_module_current  = 0;
+int libgncmod_business_utils_gnc_module_revision = 0;
+int libgncmod_business_utils_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_business_utils_gnc_module_path(void)
 {
   return g_strdup("gnucash/business-utils");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_business_utils_gnc_module_description(void)
 {
   return g_strdup("The GnuCash business utilities module");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_business_utils_gnc_module_init(int refcount)
 {
   /* load the business-core (we depend on it) */
   if (!gnc_module_load("gnucash/business-core", 0)) {
@@ -74,6 +76,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_business_utils_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/business/dialog-tax-table/gncmod-dialog-tax-table.c
===================================================================
--- gnucash/trunk/src/business/dialog-tax-table/gncmod-dialog-tax-table.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/business/dialog-tax-table/gncmod-dialog-tax-table.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -29,30 +29,32 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_dialog_tax_table)
+
 extern SCM scm_init_sw_dialog_tax_table_module(void);
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_dialog_tax_table_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_dialog_tax_table_gnc_module_current  = 0;
+int libgncmod_dialog_tax_table_gnc_module_revision = 0;
+int libgncmod_dialog_tax_table_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_dialog_tax_table_gnc_module_path(void)
 {
   return g_strdup("gnucash/dialog-tax-table");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_dialog_tax_table_gnc_module_description(void)
 {
   return g_strdup("The GnuCash tax-table GNOME UI module");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_dialog_tax_table_gnc_module_init(int refcount)
 {
   /* load business-core: we depend on it -- and it depends on the engine */
   if (!gnc_module_load ("gnucash/business-core", 0)) {
@@ -73,6 +75,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_dialog_tax_table_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/calculation/gncmod-calculation.c
===================================================================
--- gnucash/trunk/src/calculation/gncmod-calculation.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/calculation/gncmod-calculation.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -11,31 +11,33 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_calculation)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_calculation_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_calculation_gnc_module_current  = 0;
+int libgncmod_calculation_gnc_module_revision = 0;
+int libgncmod_calculation_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_calculation_gnc_module_path(void) {
   return g_strdup("gnucash/calculation");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_calculation_gnc_module_description(void) {
   return g_strdup("GnuCash calculation module");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_calculation_gnc_module_init(int refcount) {
   return TRUE;
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_calculation_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/engine/gncmod-engine.c
===================================================================
--- gnucash/trunk/src/engine/gncmod-engine.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/engine/gncmod-engine.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -12,23 +12,25 @@
 #include "gnc-engine.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_engine)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_engine_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_engine_gnc_module_current  = 0;
+int libgncmod_engine_gnc_module_revision = 0;
+int libgncmod_engine_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_engine_gnc_module_path(void)
 {
   return g_strdup("gnucash/engine");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_engine_gnc_module_description(void)
 {
   return g_strdup("The GnuCash accounting engine");
 }
@@ -36,7 +38,7 @@
 extern SCM scm_init_sw_engine_module(void);
 
 int
-gnc_module_init(int refcount)
+libgncmod_engine_gnc_module_init(int refcount)
 {
   if(refcount == 0)
   {
@@ -52,6 +54,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_engine_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/engine/test-core/gncmod-test-engine.c
===================================================================
--- gnucash/trunk/src/engine/test-core/gncmod-test-engine.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/engine/test-core/gncmod-test-engine.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -11,31 +11,33 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_test_engine)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_test_engine_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_test_engine_gnc_module_current  = 0;
+int libgncmod_test_engine_gnc_module_revision = 0;
+int libgncmod_test_engine_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_test_engine_gnc_module_path(void) {
   return g_strdup("gnucash/engine/test");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_test_engine_gnc_module_description(void) {
   return g_strdup("GnuCash Engine test infrastructure.");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_test_engine_gnc_module_init(int refcount) {
   return TRUE;
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_test_engine_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/gnc-module/gnc-module-api.h
===================================================================
--- gnucash/trunk/src/gnc-module/gnc-module-api.h	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/gnc-module/gnc-module-api.h	2007-04-18 23:23:04 UTC (rev 15928)
@@ -24,9 +24,10 @@
 #ifndef GNC_MODULE_API_H
 #define GNC_MODULE_API_H
 
-char * gnc_module_path (void);
-char * gnc_module_description (void);
-int    gnc_module_init (int refcount);
-int    gnc_module_end (int refcount);
+#define GNC_MODULE_API_DECL(gmf)		\
+  char * gmf##_gnc_module_path (void);		\
+  char * gmf##_gnc_module_description (void);	\
+  int    gmf##_gnc_module_init (int refcount);	\
+  int    gmf##_gnc_module_end (int refcount);
 
 #endif

Modified: gnucash/trunk/src/gnc-module/gnc-module.c
===================================================================
--- gnucash/trunk/src/gnc-module/gnc-module.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/gnc-module/gnc-module.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -253,6 +253,38 @@
 }
 
 
+/*
+ *  gnc_module_get_symbol
+ *  gets the munged symbol from the file
+ */
+static gboolean
+gnc_module_get_symbol(GModule* gmodule, const char* symbol, gpointer res)
+{
+  gchar** strs;
+  gchar* munged_symbol;
+  gboolean ret;
+
+  g_return_val_if_fail(gmodule, FALSE);
+  g_return_val_if_fail(symbol, FALSE);
+
+  /* Separate the file from its extension */
+  strs = g_strsplit(g_path_get_basename(g_module_name(gmodule)), ".", 2);  
+
+  /* Translate any dashes to underscores */
+  g_strdelimit(strs[0], "-", '_');
+
+  /* Create the symbol <filename>_<symbol> and retrieve that symbol */
+  munged_symbol = g_strdup_printf("%s_%s", strs[0], symbol);
+  ret = g_module_symbol(gmodule, munged_symbol, res);
+
+  /* printf("(%d) Looking for symbol %s\n", ret, munged_symbol); */
+
+  /* Free everything */
+  g_strfreev(strs);
+  g_free(munged_symbol);
+  return ret;
+}
+
 /*************************************************************
  *  gnc_module_get_info
  *  check a proposed gnc_module by looking for specific symbols in it;
@@ -278,7 +310,7 @@
 
   /* the modsysver tells us what the expected symbols and their
    * types are */
-  if (!g_module_symbol(gmodule, "gnc_module_system_interface", &modsysver)) {
+  if (!gnc_module_get_symbol(gmodule, "gnc_module_system_interface", &modsysver)) {
 /*       g_debug("Module '%s' does not contain 'gnc_module_system_interface'\n", */
 /*                 fullpath); */
       goto get_info_close;
@@ -289,12 +321,12 @@
       goto get_info_close;
   }
 
-  if (!g_module_symbol(gmodule, "gnc_module_init", &initfunc) ||
-      !g_module_symbol(gmodule, "gnc_module_path", &pathfunc) ||
-      !g_module_symbol(gmodule, "gnc_module_description", &descripfunc) ||
-      !g_module_symbol(gmodule, "gnc_module_current", &iface) ||
-      !g_module_symbol(gmodule, "gnc_module_revision", &revision) ||
-      !g_module_symbol(gmodule, "gnc_module_age", &age)) {
+  if (!gnc_module_get_symbol(gmodule, "gnc_module_init", &initfunc) ||
+      !gnc_module_get_symbol(gmodule, "gnc_module_path", &pathfunc) ||
+      !gnc_module_get_symbol(gmodule, "gnc_module_description", &descripfunc) ||
+      !gnc_module_get_symbol(gmodule, "gnc_module_current", &iface) ||
+      !gnc_module_get_symbol(gmodule, "gnc_module_revision", &revision) ||
+      !gnc_module_get_symbol(gmodule, "gnc_module_age", &age)) {
     g_warning("Module '%s' does not match module signature\n", fullpath);
     goto get_info_close;
   }
@@ -466,7 +498,7 @@
     {
       gpointer initfunc;
 
-      if (g_module_symbol(gmodule, "gnc_module_init", &initfunc))
+      if (gnc_module_get_symbol(gmodule, "gnc_module_init", &initfunc))
       {
         /* stick it in the hash table */
         info = g_new0(GNCLoadedModule, 1);
@@ -545,7 +577,7 @@
     int unload_val = TRUE;
 
     info->load_count--;
-    if (g_module_symbol(info->gmodule, "gnc_module_end", &unload_thunk))
+    if (gnc_module_get_symbol(info->gmodule, "gnc_module_end", &unload_thunk))
     {
       int (* thunk)(int) = unload_thunk;
       unload_val = thunk(info->load_count);

Modified: gnucash/trunk/src/gnc-module/test/misc-mods/agedver.c
===================================================================
--- gnucash/trunk/src/gnc-module/test/misc-mods/agedver.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/gnc-module/test/misc-mods/agedver.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -6,23 +6,25 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
-int gnc_module_system_interface = 0;
+GNC_MODULE_API_DECL(libagedver)
 
-int gnc_module_current = 12;
-int gnc_module_age = 9;
-int gnc_module_revision = 0;
+int libagedver_gnc_module_system_interface = 0;
 
+int libagedver_gnc_module_current = 12;
+int libagedver_gnc_module_age = 9;
+int libagedver_gnc_module_revision = 0;
+
 char *
-gnc_module_path(void) {
+libagedver_gnc_module_path(void) {
   return g_strdup("gnucash/agedver");
 }
 
 char *
-gnc_module_description(void) {
+libagedver_gnc_module_description(void) {
   return g_strdup("this is a frequently extended module");
 }
 
 int
-gnc_module_init(int refcount) {
+libagedver_gnc_module_init(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/gnc-module/test/misc-mods/futuremodsys.c
===================================================================
--- gnucash/trunk/src/gnc-module/test/misc-mods/futuremodsys.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/gnc-module/test/misc-mods/futuremodsys.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -7,25 +7,26 @@
 #include <gmodule.h>
 
 #include "gnc-module-api.h"
+GNC_MODULE_API_DECL(libfuturemodsys)
 
-int gnc_module_system_interface = 123456;
+int libfuturemodsys_gnc_module_system_interface = 123456;
 
-int gnc_module_current = 0;
-int gnc_module_age = 0;
-int gnc_module_revision = 0;
+int libfuturemodsys_gnc_module_current = 0;
+int libfuturemodsys_gnc_module_age = 0;
+int libfuturemodsys_gnc_module_revision = 0;
 
 
 char *
-gnc_module_path(void) {
+libfuturemodsys_gnc_module_path(void) {
   return g_strdup("gnucash/futuremodsys");
 }
 
 char *
-gnc_module_description(void) {
+libfuturemodsys_gnc_module_description(void) {
   return g_strdup("this is a broken future module");
 }
 
 int
-gnc_module_init(int refcount) {
+libfuturemodsys_gnc_module_init(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/gnc-module/test/misc-mods/incompatdep.c
===================================================================
--- gnucash/trunk/src/gnc-module/test/misc-mods/incompatdep.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/gnc-module/test/misc-mods/incompatdep.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -7,25 +7,27 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
-int gnc_module_system_interface = 0;
+GNC_MODULE_API_DECL(libincompatdep)
 
-int gnc_module_current = 0;
-int gnc_module_age = 0;
-int gnc_module_revision = 0;
+int libincompatdep_gnc_module_system_interface = 0;
 
+int libincompatdep_gnc_module_current = 0;
+int libincompatdep_gnc_module_age = 0;
+int libincompatdep_gnc_module_revision = 0;
 
+
 char *
-gnc_module_path(void) {
+libincompatdep_gnc_module_path(void) {
   return g_strdup("gnucash/incompatdep");
 }
 
 char *
-gnc_module_description(void) {
+libincompatdep_gnc_module_description(void) {
   return g_strdup("this is a broken module");
 }
 
 int
-gnc_module_init(int refcount) {
+libincompatdep_gnc_module_init(int refcount) {
   if (gnc_module_load("gnucash/foo", 25))
   {
     return TRUE;

Modified: gnucash/trunk/src/gnc-module/test/mod-bar/gnc-mod-bar.c
===================================================================
--- gnucash/trunk/src/gnc-module/test/mod-bar/gnc-mod-bar.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/gnc-module/test/mod-bar/gnc-mod-bar.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -9,24 +9,26 @@
 #include "gnc-module-api.h"
 #include "swig-bar.c"
 
-int gnc_module_system_interface = 0;
+GNC_MODULE_API_DECL(libgncmodbar)
 
-int gnc_module_current = 0;
-int gnc_module_age = 0;
-int gnc_module_revision = 0;
+int libgncmodbar_gnc_module_system_interface = 0;
 
+int libgncmodbar_gnc_module_current = 0;
+int libgncmodbar_gnc_module_age = 0;
+int libgncmodbar_gnc_module_revision = 0;
+
 char *
-gnc_module_path(void) {
+libgncmodbar_gnc_module_path(void) {
   return g_strdup("gnucash/bar");
 }
 
 char *
-gnc_module_description(void) {
+libgncmodbar_gnc_module_description(void) {
   return g_strdup("this is a bar module");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmodbar_gnc_module_init(int refcount) {
   /* publish the wrapped Scheme bindings for libbar */
   scm_init_sw_bar_module();
   scm_c_eval_string("(use-modules (sw_bar))");

Modified: gnucash/trunk/src/gnc-module/test/mod-baz/gnc-mod-baz.c
===================================================================
--- gnucash/trunk/src/gnc-module/test/mod-baz/gnc-mod-baz.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/gnc-module/test/mod-baz/gnc-mod-baz.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -10,24 +10,26 @@
 #include "gnc-module-api.h"
 #include "swig-baz.c"
 
-int gnc_module_system_interface = 0;
+GNC_MODULE_API_DECL(libgncmodbaz)
 
-int gnc_module_current = 0;
-int gnc_module_age = 0;
-int gnc_module_revision = 0;
+int libgncmodbaz_gnc_module_system_interface = 0;
 
+int libgncmodbaz_gnc_module_current = 0;
+int libgncmodbaz_gnc_module_age = 0;
+int libgncmodbaz_gnc_module_revision = 0;
+
 char *
-gnc_module_path(void) {
+libgncmodbaz_gnc_module_path(void) {
   return g_strdup("gnucash/baz");
 }
 
 char *
-gnc_module_description(void) {
+libgncmodbaz_gnc_module_description(void) {
   return g_strdup("this is the baz module");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmodbaz_gnc_module_init(int refcount) {
   /* load libfoo */
   if(gnc_module_load("gnucash/foo", 0)) {
     /* publish the wrapped Scheme bindings for libbaz */

Modified: gnucash/trunk/src/gnc-module/test/mod-foo/gnc-mod-foo.c
===================================================================
--- gnucash/trunk/src/gnc-module/test/mod-foo/gnc-mod-foo.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/gnc-module/test/mod-foo/gnc-mod-foo.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -9,25 +9,26 @@
 #include "gnc-module-api.h"
 #include "swig-foo.c"
 
+GNC_MODULE_API_DECL(libgncmodfoo)
 
-int gnc_module_system_interface = 0;
+int libgncmodfoo_gnc_module_system_interface = 0;
 
-int gnc_module_current = 0;
-int gnc_module_age = 0;
-int gnc_module_revision = 0;
+int libgncmodfoo_gnc_module_current = 0;
+int libgncmodfoo_gnc_module_age = 0;
+int libgncmodfoo_gnc_module_revision = 0;
 
 char *
-gnc_module_path(void) {
+libgncmodfoo_gnc_module_path(void) {
   return g_strdup("gnucash/foo");
 }
 
 char *
-gnc_module_description(void) {
+libgncmodfoo_gnc_module_description(void) {
   return g_strdup("this is a foo module");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmodfoo_gnc_module_init(int refcount) {
   /* publish the wrapped Scheme bindings for libfoo */
   scm_init_sw_foo_module();
   scm_c_eval_string("(use-modules (sw_foo))");

Modified: gnucash/trunk/src/gnome-search/gncmod-gnome-search.c
===================================================================
--- gnucash/trunk/src/gnome-search/gncmod-gnome-search.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/gnome-search/gncmod-gnome-search.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -35,29 +35,31 @@
 
 #include "search-core-type.h"
 
+GNC_MODULE_API_DECL(libgncmod_gnome_search)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_gnome_search_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_gnome_search_gnc_module_current  = 0;
+int libgncmod_gnome_search_gnc_module_revision = 0;
+int libgncmod_gnome_search_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_gnome_search_gnc_module_path(void)
 {
   return g_strdup("gnucash/gnome-search");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_gnome_search_gnc_module_description(void)
 {
   return g_strdup("The GnuCash Gnome Search UI");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_gnome_search_gnc_module_init(int refcount)
 {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
@@ -78,7 +80,7 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_gnome_search_gnc_module_end(int refcount) {
   /* XXX Unload the other modules */
 
   if (refcount == 0) {

Modified: gnucash/trunk/src/gnome-utils/gncmod-gnome-utils.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gncmod-gnome-utils.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/gnome-utils/gncmod-gnome-utils.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -23,22 +23,24 @@
 #include "gnc-druid-provider-file-gnome.h"
 #include "gnc-druid-provider-multifile-gnome.h"
 
+GNC_MODULE_API_DECL(libgncmod_gnome_utils)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_gnome_utils_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_gnome_utils_gnc_module_current  = 0;
+int libgncmod_gnome_utils_gnc_module_revision = 0;
+int libgncmod_gnome_utils_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_gnome_utils_gnc_module_path(void) {
   return g_strdup("gnucash/gnome-utils");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_gnome_utils_gnc_module_description(void) {
   return g_strdup("Utilities for using Gnome/Gtk with GnuCash");
 }
 
@@ -53,7 +55,7 @@
 extern SCM scm_init_sw_gnome_utils_module(void);
 
 int
-gnc_module_init(int refcount) {
+libgncmod_gnome_utils_gnc_module_init(int refcount) {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
     return FALSE;
@@ -88,7 +90,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_gnome_utils_gnc_module_end(int refcount)
 {
   return TRUE;
 }

Modified: gnucash/trunk/src/import-export/binary-import/gncmod-binary-import.c
===================================================================
--- gnucash/trunk/src/import-export/binary-import/gncmod-binary-import.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/import-export/binary-import/gncmod-binary-import.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -14,27 +14,29 @@
 #include "gnc-module-api.h"
 #include "druid-commodity.h"
 
+GNC_MODULE_API_DECL(libgncmod_binary_import)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_binary_import_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_binary_import_gnc_module_current  = 0;
+int libgncmod_binary_import_gnc_module_revision = 0;
+int libgncmod_binary_import_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_binary_import_gnc_module_path(void) {
   return g_strdup("gnucash/import-export/binary-import");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_binary_import_gnc_module_description(void) {
   return g_strdup("Utilities importing GnuCash binary files");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_binary_import_gnc_module_init(int refcount) {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
     return FALSE;
@@ -57,6 +59,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_binary_import_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/import-export/gncmod-generic-import.c
===================================================================
--- gnucash/trunk/src/import-export/gncmod-generic-import.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/import-export/gncmod-generic-import.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -13,30 +13,33 @@
 
 #include "gnc-module.h"
 #include "gnc-module-api.h"
+
+GNC_MODULE_API_DECL(libgncmod_generic_import)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_generic_import_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_generic_import_gnc_module_current  = 0;
+int libgncmod_generic_import_gnc_module_revision = 0;
+int libgncmod_generic_import_gnc_module_age      = 0;
 
 /*static GNCModule engine; NOTUSED */
 
 char *
-gnc_module_path(void)
+libgncmod_generic_import_gnc_module_path(void)
 {
   return g_strdup("gnucash/import-export");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_generic_import_gnc_module_description(void)
 {
   return g_strdup("Gnome GUI and C code for the generic import functions");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_generic_import_gnc_module_init(int refcount)
 {
   if(!gnc_module_load("gnucash/engine", 0))
   {
@@ -62,7 +65,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_generic_import_gnc_module_end(int refcount)
 {
   return TRUE;
 }

Modified: gnucash/trunk/src/import-export/hbci/gncmod-hbci.c
===================================================================
--- gnucash/trunk/src/import-export/hbci/gncmod-hbci.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/import-export/hbci/gncmod-hbci.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -18,28 +18,30 @@
 #include <gwenhywfar/gwenhywfar.h>
 #include "dialog-preferences.h"
 
+GNC_MODULE_API_DECL(libgncmod_hbci)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_hbci_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_hbci_gnc_module_current  = 0;
+int libgncmod_hbci_gnc_module_revision = 0;
+int libgncmod_hbci_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_hbci_gnc_module_path(void) {
   return g_strdup("gnucash/import-export/hbci");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_hbci_gnc_module_description(void) {
   return g_strdup("Support for Online Banking protocols");
 }
 
 
 int
-gnc_module_init(int refcount)
+libgncmod_hbci_gnc_module_init(int refcount)
 {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
@@ -71,7 +73,7 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_hbci_gnc_module_end(int refcount) {
   gnc_AB_BANKING_delete(0);
 
   /* Finalize gwen library */

Modified: gnucash/trunk/src/import-export/log-replay/gncmod-log-replay.c
===================================================================
--- gnucash/trunk/src/import-export/log-replay/gncmod-log-replay.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/import-export/log-replay/gncmod-log-replay.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -33,32 +33,34 @@
 #include "gnc-module-api.h"
 #include "gnc-plugin-log-replay.h"
 
+GNC_MODULE_API_DECL(libgncmod_log_replay)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_log_replay_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_log_replay_gnc_module_current  = 0;
+int libgncmod_log_replay_gnc_module_revision = 0;
+int libgncmod_log_replay_gnc_module_age      = 0;
 
 //static GNCModule bus_core;
 //static GNCModule file;
 
 
 char *
-gnc_module_path(void)
+libgncmod_log_replay_gnc_module_path(void)
 {
   return g_strdup("gnucash/import-export/log-replay");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_log_replay_gnc_module_description(void)
 {
   return g_strdup("C code for log file replay");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_log_replay_gnc_module_init(int refcount)
 {
   if(!gnc_module_load("gnucash/engine", 0))
   {
@@ -84,7 +86,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_log_replay_gnc_module_end(int refcount)
 {
   return TRUE;
 }

Modified: gnucash/trunk/src/import-export/ofx/gncmod-ofx-import.c
===================================================================
--- gnucash/trunk/src/import-export/ofx/gncmod-ofx-import.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/import-export/ofx/gncmod-ofx-import.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -32,32 +32,34 @@
 #include "gnc-module-api.h"
 #include "gnc-plugin-ofx.h"
 
+GNC_MODULE_API_DECL(libgncmod_ofx)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_ofx_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_ofx_gnc_module_current  = 0;
+int libgncmod_ofx_gnc_module_revision = 0;
+int libgncmod_ofx_gnc_module_age      = 0;
 
 //static GNCModule bus_core;
 //static GNCModule file;
 
 
 char *
-gnc_module_path(void)
+libgncmod_ofx_gnc_module_path(void)
 {
   return g_strdup("gnucash/import-export/ofx");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_ofx_gnc_module_description(void)
 {
   return g_strdup("Gnome GUI and C code for OFX importer using libofx");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_ofx_gnc_module_init(int refcount)
 {
   if(!gnc_module_load("gnucash/engine", 0))
   {
@@ -83,7 +85,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_ofx_gnc_module_end(int refcount)
 {
   return TRUE;
 }

Modified: gnucash/trunk/src/import-export/qif-import/gncmod-qif-import.c
===================================================================
--- gnucash/trunk/src/import-export/qif-import/gncmod-qif-import.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/import-export/qif-import/gncmod-qif-import.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -16,29 +16,31 @@
 
 #include "gnc-plugin-qif-import.h"
 
+GNC_MODULE_API_DECL(libgncmod_qif_import)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_qif_import_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_qif_import_gnc_module_current  = 0;
+int libgncmod_qif_import_gnc_module_revision = 0;
+int libgncmod_qif_import_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_qif_import_gnc_module_path(void)
 {
   return g_strdup("gnucash/import-export/qif-import");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_qif_import_gnc_module_description(void)
 {
   return g_strdup("Gnome GUI and Scheme code for QIF importer");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_qif_import_gnc_module_init(int refcount)
 {
   if(!gnc_module_load("gnucash/engine", 0))
   {
@@ -72,7 +74,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_qif_import_gnc_module_end(int refcount)
 {
   return TRUE;
 }

Modified: gnucash/trunk/src/import-export/qif-io-core/gncmod-qifiocore.c
===================================================================
--- gnucash/trunk/src/import-export/qif-io-core/gncmod-qifiocore.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/import-export/qif-io-core/gncmod-qifiocore.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -11,27 +11,29 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_qifiocore)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_qifiocore_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_qifiocore_gnc_module_current  = 0;
+int libgncmod_qifiocore_gnc_module_revision = 0;
+int libgncmod_qifiocore_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_qifiocore_gnc_module_path(void) {
   return g_strdup("gnucash/qif-io/core");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_qifiocore_gnc_module_description(void) {
   return g_strdup("Core components of QIF import/export (non-GUI)");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_qifiocore_gnc_module_init(int refcount) {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
     return FALSE;
@@ -52,6 +54,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_qifiocore_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/register/ledger-core/gncmod-ledger-core.c
===================================================================
--- gnucash/trunk/src/register/ledger-core/gncmod-ledger-core.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/register/ledger-core/gncmod-ledger-core.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -10,27 +10,29 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_ledger_core)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_ledger_core_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_ledger_core_gnc_module_current  = 0;
+int libgncmod_ledger_core_gnc_module_revision = 0;
+int libgncmod_ledger_core_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_ledger_core_gnc_module_path(void) {
   return g_strdup("gnucash/register/ledger-core");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_ledger_core_gnc_module_description(void) {
   return g_strdup("Toolkit-independent GUI for financial ledgers");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_ledger_core_gnc_module_init(int refcount) {
   if(!gnc_module_load("gnucash/engine", 0))
   {
     return FALSE;

Modified: gnucash/trunk/src/register/register-core/gncmod-register-core.c
===================================================================
--- gnucash/trunk/src/register/register-core/gncmod-register-core.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/register/register-core/gncmod-register-core.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -12,27 +12,29 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_register_core)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_register_core_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_register_core_gnc_module_current  = 0;
+int libgncmod_register_core_gnc_module_revision = 0;
+int libgncmod_register_core_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_register_core_gnc_module_path(void) {
   return g_strdup("gnucash/register/register-core");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_register_core_gnc_module_description(void) {
   return g_strdup("Toolkit-independent GUI for ledger-like table displays");
 }
 
 int
-gnc_module_init(int refcount)
+libgncmod_register_core_gnc_module_init(int refcount)
 {
   if(!gnc_module_load("gnucash/engine", 0))
   {

Modified: gnucash/trunk/src/register/register-gnome/gncmod-register-gnome.c
===================================================================
--- gnucash/trunk/src/register/register-gnome/gncmod-register-gnome.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/register/register-gnome/gncmod-register-gnome.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -19,27 +19,29 @@
 #include "register-common.h"
 #include "table-gnome.h"
 
+GNC_MODULE_API_DECL(libgncmod_register_gnome)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_register_gnome_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_register_gnome_gnc_module_current  = 0;
+int libgncmod_register_gnome_gnc_module_revision = 0;
+int libgncmod_register_gnome_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_register_gnome_gnc_module_path(void) {
   return g_strdup("gnucash/register/register-gnome");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_register_gnome_gnc_module_description(void) {
   return g_strdup("Gnome GUI for ledger-like table displays");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_register_gnome_gnc_module_init(int refcount) {
   if(!gnc_module_load("gnucash/register/register-core", 0)) {
     return FALSE;
   }

Modified: gnucash/trunk/src/report/locale-specific/us/gncmod-locale-reports-us.c
===================================================================
--- gnucash/trunk/src/report/locale-specific/us/gncmod-locale-reports-us.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/report/locale-specific/us/gncmod-locale-reports-us.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -12,17 +12,19 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_locale_reports_us)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_locale_reports_us_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_locale_reports_us_gnc_module_current  = 0;
+int libgncmod_locale_reports_us_gnc_module_revision = 0;
+int libgncmod_locale_reports_us_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_locale_reports_us_gnc_module_path(void) {
   /* const char *thislocale = setlocale(LC_ALL, NULL);
   if (strncmp(thislocale, "de_DE", 5) == 0)
     return g_strdup("gnucash/report/locale-specific/de_DE");
@@ -31,12 +33,12 @@
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_locale_reports_us_gnc_module_description(void) {
   return g_strdup("US income tax reports and related material");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_locale_reports_us_gnc_module_init(int refcount) {
   /* load the tax info */
 #ifdef LOCALE_SPECIFIC_TAX
   const char *thislocale = setlocale(LC_ALL, NULL);
@@ -85,6 +87,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_locale_reports_us_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/report/report-gnome/gncmod-report-gnome.c
===================================================================
--- gnucash/trunk/src/report/report-gnome/gncmod-report-gnome.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/report/report-gnome/gncmod-report-gnome.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -18,23 +18,25 @@
 
 #include "window-report.h"
 
+GNC_MODULE_API_DECL(libgncmod_report_gnome)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_report_gnome_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_report_gnome_gnc_module_current  = 0;
+int libgncmod_report_gnome_gnc_module_revision = 0;
+int libgncmod_report_gnome_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void)
+libgncmod_report_gnome_gnc_module_path(void)
 {
   return g_strdup("gnucash/report/report-gnome");
 }
 
 char *
-gnc_module_description(void)
+libgncmod_report_gnome_gnc_module_description(void)
 {
   return g_strdup("Gnome component of GnuCash report generation system");
 }
@@ -49,7 +51,7 @@
 extern SCM scm_init_sw_report_gnome_module(void);
 
 int
-gnc_module_init(int refcount)
+libgncmod_report_gnome_gnc_module_init(int refcount)
 {
   if(!gnc_module_load("gnucash/app-utils", 0)) {
     return FALSE;
@@ -74,7 +76,7 @@
 }
 
 int
-gnc_module_end(int refcount)
+libgncmod_report_gnome_gnc_module_end(int refcount)
 {
   return TRUE;
 }

Modified: gnucash/trunk/src/report/report-system/gncmod-report-system.c
===================================================================
--- gnucash/trunk/src/report/report-system/gncmod-report-system.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/report/report-system/gncmod-report-system.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -12,29 +12,31 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_report_system)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_report_system_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_report_system_gnc_module_current  = 0;
+int libgncmod_report_system_gnc_module_revision = 0;
+int libgncmod_report_system_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_report_system_gnc_module_path(void) {
   return g_strdup("gnucash/report/report-system");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_report_system_gnc_module_description(void) {
   return g_strdup("Core components of GnuCash report generation system");
 }
 
 extern SCM scm_init_sw_report_system_module(void);
 
 int
-gnc_module_init(int refcount) {
+libgncmod_report_system_gnc_module_init(int refcount) {
   /* load the engine (we depend on it) */
   if(!gnc_module_load("gnucash/engine", 0)) {
     return FALSE;
@@ -57,6 +59,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_report_system_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/report/standard-reports/gncmod-standard-reports.c
===================================================================
--- gnucash/trunk/src/report/standard-reports/gncmod-standard-reports.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/report/standard-reports/gncmod-standard-reports.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -12,27 +12,29 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_standard_reports)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_standard_reports_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_standard_reports_gnc_module_current  = 0;
+int libgncmod_standard_reports_gnc_module_revision = 0;
+int libgncmod_standard_reports_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_standard_reports_gnc_module_path(void) {
   return g_strdup("gnucash/report/standard-reports");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_standard_reports_gnc_module_description(void) {
   return g_strdup("Standard income, asset, balance sheet, etc. reports");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_standard_reports_gnc_module_init(int refcount) {
   /* load the report system */
   if(!gnc_module_load("gnucash/report/report-system", 0)) {
     return FALSE;
@@ -47,6 +49,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_standard_reports_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/report/stylesheets/gncmod-stylesheets.c
===================================================================
--- gnucash/trunk/src/report/stylesheets/gncmod-stylesheets.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/report/stylesheets/gncmod-stylesheets.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -14,27 +14,29 @@
 #include "gnc-module-api.h"
 #include "gnc-plugin-stylesheets.h"
 
+GNC_MODULE_API_DECL(libgncmod_stylesheets)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_stylesheets_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_stylesheets_gnc_module_current  = 0;
+int libgncmod_stylesheets_gnc_module_revision = 0;
+int libgncmod_stylesheets_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_stylesheets_gnc_module_path(void) {
   return g_strdup("gnucash/report/stylesheets");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_stylesheets_gnc_module_description(void) {
   return g_strdup("Standard report stylesheet definitions");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_stylesheets_gnc_module_init(int refcount) {
   /* load the report system */
   if(!gnc_module_load("gnucash/report/report-system", 0)) {
     return FALSE;
@@ -53,6 +55,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_stylesheets_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/report/utility-reports/gncmod-utility-reports.c
===================================================================
--- gnucash/trunk/src/report/utility-reports/gncmod-utility-reports.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/report/utility-reports/gncmod-utility-reports.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -12,27 +12,29 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_utility_reports)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_utility_reports_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_utility_reports_gnc_module_current  = 0;
+int libgncmod_utility_reports_gnc_module_revision = 0;
+int libgncmod_utility_reports_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_utility_reports_gnc_module_path(void) {
   return g_strdup("gnucash/report/utility-reports");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_utility_reports_gnc_module_description(void) {
   return g_strdup("Non-financial (utility) reports");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_utility_reports_gnc_module_init(int refcount) {
   /* load the report system */
   if(!gnc_module_load("gnucash/report/report-system", 0)) {
     return FALSE;
@@ -48,6 +50,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_utility_reports_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/tax/us/gncmod-tax-us.c
===================================================================
--- gnucash/trunk/src/tax/us/gncmod-tax-us.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/tax/us/gncmod-tax-us.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -12,17 +12,19 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_tax_us)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_tax_us_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_tax_us_gnc_module_current  = 0;
+int libgncmod_tax_us_gnc_module_revision = 0;
+int libgncmod_tax_us_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_tax_us_gnc_module_path(void) {
 #ifdef LOCALE_SPECIFIC_TAX
   const char *thislocale = setlocale(LC_ALL, NULL);
   if (strncmp(thislocale, "de_DE", 5) == 0)
@@ -33,7 +35,7 @@
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_tax_us_gnc_module_description(void) {
   return g_strdup("US income tax information");
 }
 
@@ -46,7 +48,7 @@
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_tax_us_gnc_module_init(int refcount) {
   /* This is a very simple hack that loads the (new, special) German
      tax definition file in a German locale, or (default) loads the
      previous US tax file. */
@@ -61,6 +63,6 @@
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_tax_us_gnc_module_end(int refcount) {
   return TRUE;
 }

Modified: gnucash/trunk/src/test-core/gncmod-test.c
===================================================================
--- gnucash/trunk/src/test-core/gncmod-test.c	2007-04-18 23:22:52 UTC (rev 15927)
+++ gnucash/trunk/src/test-core/gncmod-test.c	2007-04-18 23:23:04 UTC (rev 15928)
@@ -11,31 +11,33 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
+GNC_MODULE_API_DECL(libgncmod_test)
+
 /* version of the gnc module system interface we require */
-int gnc_module_system_interface = 0;
+int libgncmod_test_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int gnc_module_current  = 0;
-int gnc_module_revision = 0;
-int gnc_module_age      = 0;
+int libgncmod_test_gnc_module_current  = 0;
+int libgncmod_test_gnc_module_revision = 0;
+int libgncmod_test_gnc_module_age      = 0;
 
 
 char *
-gnc_module_path(void) {
+libgncmod_test_gnc_module_path(void) {
   return g_strdup("gnucash/test");
 }
 
 char *
-gnc_module_description(void) {
+libgncmod_test_gnc_module_description(void) {
   return g_strdup("Basic GnuCash test infrastructure.");
 }
 
 int
-gnc_module_init(int refcount) {
+libgncmod_test_gnc_module_init(int refcount) {
   return TRUE;
 }
 
 int
-gnc_module_end(int refcount) {
+libgncmod_test_gnc_module_end(int refcount) {
   return TRUE;
 }



More information about the gnucash-changes mailing list