From 167feed5273d0bc047a013954770ae3f0a4400b3 Mon Sep 17 00:00:00 2001 From: Derek Atkins Date: Wed, 18 Apr 2007 23:23:04 +0000 Subject: [PATCH] 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. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15928 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/app-utils/gncmod-app-utils.c | 18 ++++--- src/backend/file/gncmod-backend-file.c | 20 ++++---- .../file/gncmod-business-backend-file.c | 18 ++++--- .../business-core/gncmod-business-core.c | 18 ++++--- .../business-gnome/gncmod-business-gnome.c | 20 ++++---- .../business-utils/gncmod-business-utils.c | 18 ++++--- .../gncmod-dialog-tax-table.c | 18 ++++--- src/calculation/gncmod-calculation.c | 18 ++++--- src/engine/gncmod-engine.c | 18 ++++--- src/engine/test-core/gncmod-test-engine.c | 18 ++++--- src/gnc-module/gnc-module-api.h | 9 ++-- src/gnc-module/gnc-module.c | 50 +++++++++++++++---- src/gnc-module/test/misc-mods/agedver.c | 16 +++--- src/gnc-module/test/misc-mods/futuremodsys.c | 15 +++--- src/gnc-module/test/misc-mods/incompatdep.c | 16 +++--- src/gnc-module/test/mod-bar/gnc-mod-bar.c | 16 +++--- src/gnc-module/test/mod-baz/gnc-mod-baz.c | 16 +++--- src/gnc-module/test/mod-foo/gnc-mod-foo.c | 15 +++--- src/gnome-search/gncmod-gnome-search.c | 18 ++++--- src/gnome-utils/gncmod-gnome-utils.c | 18 ++++--- .../binary-import/gncmod-binary-import.c | 18 ++++--- src/import-export/gncmod-generic-import.c | 19 ++++--- src/import-export/hbci/gncmod-hbci.c | 18 ++++--- .../log-replay/gncmod-log-replay.c | 18 ++++--- src/import-export/ofx/gncmod-ofx-import.c | 18 ++++--- .../qif-import/gncmod-qif-import.c | 18 ++++--- .../qif-io-core/gncmod-qifiocore.c | 18 ++++--- src/register/ledger-core/gncmod-ledger-core.c | 16 +++--- .../register-core/gncmod-register-core.c | 16 +++--- .../register-gnome/gncmod-register-gnome.c | 16 +++--- .../us/gncmod-locale-reports-us.c | 18 ++++--- src/report/report-gnome/gncmod-report-gnome.c | 18 ++++--- .../report-system/gncmod-report-system.c | 18 ++++--- .../gncmod-standard-reports.c | 18 ++++--- src/report/stylesheets/gncmod-stylesheets.c | 18 ++++--- .../utility-reports/gncmod-utility-reports.c | 18 ++++--- src/tax/us/gncmod-tax-us.c | 18 ++++--- src/test-core/gncmod-test.c | 18 ++++--- 38 files changed, 398 insertions(+), 294 deletions(-) diff --git a/src/app-utils/gncmod-app-utils.c b/src/app-utils/gncmod-app-utils.c index 93310516a1..cc405639c2 100644 --- a/src/app-utils/gncmod-app-utils.c +++ b/src/app-utils/gncmod-app-utils.c @@ -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 @@ app_utils_shutdown(void) 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 @@ gnc_module_init(int refcount) } int -gnc_module_end(int refcount) +libgncmod_app_utils_gnc_module_end(int refcount) { if (refcount == 0) gnc_component_manager_shutdown (); diff --git a/src/backend/file/gncmod-backend-file.c b/src/backend/file/gncmod-backend-file.c index e25a5768bc..57e592eaa7 100644 --- a/src/backend/file/gncmod-backend-file.c +++ b/src/backend/file/gncmod-backend-file.c @@ -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 @@ gnc_module_init(int refcount) } 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; diff --git a/src/business/business-core/file/gncmod-business-backend-file.c b/src/business/business-core/file/gncmod-business-backend-file.c index 68ead60f45..765cb0b58f 100644 --- a/src/business/business-core/file/gncmod-business-backend-file.c +++ b/src/business/business-core/file/gncmod-business-backend-file.c @@ -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 @@ gnc_module_init(int refcount) } int -gnc_module_end(int refcount) +libgncmod_business_backend_file_gnc_module_end(int refcount) { int unload = TRUE; diff --git a/src/business/business-core/gncmod-business-core.c b/src/business/business-core/gncmod-business-core.c index 2958c39066..4dc32adcde 100644 --- a/src/business/business-core/gncmod-business-core.c +++ b/src/business/business-core/gncmod-business-core.c @@ -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 @@ gnc_module_init(int refcount) } int -gnc_module_end(int refcount) { +libgncmod_business_core_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/business/business-gnome/gncmod-business-gnome.c b/src/business/business-gnome/gncmod-business-gnome.c index 537ebb093f..7f2960ccfb 100644 --- a/src/business/business-gnome/gncmod-business-gnome.c +++ b/src/business/business-gnome/gncmod-business-gnome.c @@ -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 @@ gnc_module_init(int refcount) 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 @@ gnc_module_init(int refcount) } int -gnc_module_end(int refcount) { +libgncmod_business_gnome_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/business/business-utils/gncmod-business-utils.c b/src/business/business-utils/gncmod-business-utils.c index e5ff3fd1f3..2bb62b8db8 100644 --- a/src/business/business-utils/gncmod-business-utils.c +++ b/src/business/business-utils/gncmod-business-utils.c @@ -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 @@ gnc_module_init(int refcount) } int -gnc_module_end(int refcount) { +libgncmod_business_utils_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/business/dialog-tax-table/gncmod-dialog-tax-table.c b/src/business/dialog-tax-table/gncmod-dialog-tax-table.c index eb1951d4d3..b52198d255 100644 --- a/src/business/dialog-tax-table/gncmod-dialog-tax-table.c +++ b/src/business/dialog-tax-table/gncmod-dialog-tax-table.c @@ -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 @@ gnc_module_init(int refcount) } int -gnc_module_end(int refcount) { +libgncmod_dialog_tax_table_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/calculation/gncmod-calculation.c b/src/calculation/gncmod-calculation.c index 4ce3423a0e..a729a00510 100644 --- a/src/calculation/gncmod-calculation.c +++ b/src/calculation/gncmod-calculation.c @@ -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; } diff --git a/src/engine/gncmod-engine.c b/src/engine/gncmod-engine.c index 7594cccd2b..ce8f5c6b75 100644 --- a/src/engine/gncmod-engine.c +++ b/src/engine/gncmod-engine.c @@ -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 @@ gnc_module_description(void) 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 @@ gnc_module_init(int refcount) } int -gnc_module_end(int refcount) { +libgncmod_engine_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/engine/test-core/gncmod-test-engine.c b/src/engine/test-core/gncmod-test-engine.c index 5c9f13f89e..4901ed584e 100644 --- a/src/engine/test-core/gncmod-test-engine.c +++ b/src/engine/test-core/gncmod-test-engine.c @@ -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; } diff --git a/src/gnc-module/gnc-module-api.h b/src/gnc-module/gnc-module-api.h index 0f28f5e407..ee5fa9af5d 100644 --- a/src/gnc-module/gnc-module-api.h +++ b/src/gnc-module/gnc-module-api.h @@ -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 diff --git a/src/gnc-module/gnc-module.c b/src/gnc-module/gnc-module.c index 6f61bdb9b1..77e148972a 100644 --- a/src/gnc-module/gnc-module.c +++ b/src/gnc-module/gnc-module.c @@ -253,6 +253,38 @@ gnc_module_system_modinfo(void) } +/* + * 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 _ 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 @@ gnc_module_get_info(const char * fullpath) /* 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 @@ gnc_module_get_info(const char * fullpath) 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 @@ gnc_module_load_common(char * module_name, gint iface, gboolean optional) { 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 @@ gnc_module_unload(GNCModule module) 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); diff --git a/src/gnc-module/test/misc-mods/agedver.c b/src/gnc-module/test/misc-mods/agedver.c index a117947728..9c2d115c7b 100644 --- a/src/gnc-module/test/misc-mods/agedver.c +++ b/src/gnc-module/test/misc-mods/agedver.c @@ -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; } diff --git a/src/gnc-module/test/misc-mods/futuremodsys.c b/src/gnc-module/test/misc-mods/futuremodsys.c index 0bfaa073a0..8f6a26bebb 100644 --- a/src/gnc-module/test/misc-mods/futuremodsys.c +++ b/src/gnc-module/test/misc-mods/futuremodsys.c @@ -7,25 +7,26 @@ #include #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; } diff --git a/src/gnc-module/test/misc-mods/incompatdep.c b/src/gnc-module/test/misc-mods/incompatdep.c index 20a56a44ea..bfbc493281 100644 --- a/src/gnc-module/test/misc-mods/incompatdep.c +++ b/src/gnc-module/test/misc-mods/incompatdep.c @@ -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; diff --git a/src/gnc-module/test/mod-bar/gnc-mod-bar.c b/src/gnc-module/test/mod-bar/gnc-mod-bar.c index 47c962da9e..414418bc9c 100644 --- a/src/gnc-module/test/mod-bar/gnc-mod-bar.c +++ b/src/gnc-module/test/mod-bar/gnc-mod-bar.c @@ -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))"); diff --git a/src/gnc-module/test/mod-baz/gnc-mod-baz.c b/src/gnc-module/test/mod-baz/gnc-mod-baz.c index eed789939b..a2ca147e74 100644 --- a/src/gnc-module/test/mod-baz/gnc-mod-baz.c +++ b/src/gnc-module/test/mod-baz/gnc-mod-baz.c @@ -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 */ diff --git a/src/gnc-module/test/mod-foo/gnc-mod-foo.c b/src/gnc-module/test/mod-foo/gnc-mod-foo.c index 8d0e22d520..7a9f28ac3b 100644 --- a/src/gnc-module/test/mod-foo/gnc-mod-foo.c +++ b/src/gnc-module/test/mod-foo/gnc-mod-foo.c @@ -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))"); diff --git a/src/gnome-search/gncmod-gnome-search.c b/src/gnome-search/gncmod-gnome-search.c index a3077f91e9..5ae69c5093 100644 --- a/src/gnome-search/gncmod-gnome-search.c +++ b/src/gnome-search/gncmod-gnome-search.c @@ -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 @@ gnc_module_init(int refcount) } int -gnc_module_end(int refcount) { +libgncmod_gnome_search_gnc_module_end(int refcount) { /* XXX Unload the other modules */ if (refcount == 0) { diff --git a/src/gnome-utils/gncmod-gnome-utils.c b/src/gnome-utils/gncmod-gnome-utils.c index ace535410e..b78dd9be13 100644 --- a/src/gnome-utils/gncmod-gnome-utils.c +++ b/src/gnome-utils/gncmod-gnome-utils.c @@ -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 @@ lmod(char * mn) 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 @@ gnc_module_init(int refcount) { } int -gnc_module_end(int refcount) +libgncmod_gnome_utils_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/import-export/binary-import/gncmod-binary-import.c b/src/import-export/binary-import/gncmod-binary-import.c index 0d6c89ffe9..ce85a8f7b3 100644 --- a/src/import-export/binary-import/gncmod-binary-import.c +++ b/src/import-export/binary-import/gncmod-binary-import.c @@ -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 @@ gnc_module_init(int refcount) { } int -gnc_module_end(int refcount) { +libgncmod_binary_import_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/import-export/gncmod-generic-import.c b/src/import-export/gncmod-generic-import.c index 0dd75d0304..c33520f8c0 100644 --- a/src/import-export/gncmod-generic-import.c +++ b/src/import-export/gncmod-generic-import.c @@ -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 @@ gnc_module_init(int refcount) } int -gnc_module_end(int refcount) +libgncmod_generic_import_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/import-export/hbci/gncmod-hbci.c b/src/import-export/hbci/gncmod-hbci.c index d944b34f99..4ca97d5bf9 100644 --- a/src/import-export/hbci/gncmod-hbci.c +++ b/src/import-export/hbci/gncmod-hbci.c @@ -18,28 +18,30 @@ #include #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 @@ gnc_module_init(int refcount) } int -gnc_module_end(int refcount) { +libgncmod_hbci_gnc_module_end(int refcount) { gnc_AB_BANKING_delete(0); /* Finalize gwen library */ diff --git a/src/import-export/log-replay/gncmod-log-replay.c b/src/import-export/log-replay/gncmod-log-replay.c index e78dbbdcc8..c0ba2869cd 100644 --- a/src/import-export/log-replay/gncmod-log-replay.c +++ b/src/import-export/log-replay/gncmod-log-replay.c @@ -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 @@ gnc_module_init(int refcount) } int -gnc_module_end(int refcount) +libgncmod_log_replay_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/import-export/ofx/gncmod-ofx-import.c b/src/import-export/ofx/gncmod-ofx-import.c index 62a0d4e1fe..5a6f9f0626 100644 --- a/src/import-export/ofx/gncmod-ofx-import.c +++ b/src/import-export/ofx/gncmod-ofx-import.c @@ -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 @@ gnc_module_init(int refcount) } int -gnc_module_end(int refcount) +libgncmod_ofx_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/import-export/qif-import/gncmod-qif-import.c b/src/import-export/qif-import/gncmod-qif-import.c index 7b42ad6b9c..c602706995 100644 --- a/src/import-export/qif-import/gncmod-qif-import.c +++ b/src/import-export/qif-import/gncmod-qif-import.c @@ -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 @@ gnc_module_init(int refcount) } int -gnc_module_end(int refcount) +libgncmod_qif_import_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/import-export/qif-io-core/gncmod-qifiocore.c b/src/import-export/qif-io-core/gncmod-qifiocore.c index 8370b23734..82fe0da5de 100644 --- a/src/import-export/qif-io-core/gncmod-qifiocore.c +++ b/src/import-export/qif-io-core/gncmod-qifiocore.c @@ -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 @@ gnc_module_init(int refcount) { } int -gnc_module_end(int refcount) { +libgncmod_qifiocore_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/register/ledger-core/gncmod-ledger-core.c b/src/register/ledger-core/gncmod-ledger-core.c index b54e9168df..918f52b1fb 100644 --- a/src/register/ledger-core/gncmod-ledger-core.c +++ b/src/register/ledger-core/gncmod-ledger-core.c @@ -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; diff --git a/src/register/register-core/gncmod-register-core.c b/src/register/register-core/gncmod-register-core.c index 3878e5ef1a..e8bdc91e9f 100644 --- a/src/register/register-core/gncmod-register-core.c +++ b/src/register/register-core/gncmod-register-core.c @@ -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)) { diff --git a/src/register/register-gnome/gncmod-register-gnome.c b/src/register/register-gnome/gncmod-register-gnome.c index 0db8975aa5..d44c75f685 100644 --- a/src/register/register-gnome/gncmod-register-gnome.c +++ b/src/register/register-gnome/gncmod-register-gnome.c @@ -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; } diff --git a/src/report/locale-specific/us/gncmod-locale-reports-us.c b/src/report/locale-specific/us/gncmod-locale-reports-us.c index 4a3f232870..a12d1e3d48 100644 --- a/src/report/locale-specific/us/gncmod-locale-reports-us.c +++ b/src/report/locale-specific/us/gncmod-locale-reports-us.c @@ -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 @@ gnc_module_path(void) { } 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 @@ gnc_module_init(int refcount) { } int -gnc_module_end(int refcount) { +libgncmod_locale_reports_us_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/report/report-gnome/gncmod-report-gnome.c b/src/report/report-gnome/gncmod-report-gnome.c index 5deeecd748..bae75c9fa0 100644 --- a/src/report/report-gnome/gncmod-report-gnome.c +++ b/src/report/report-gnome/gncmod-report-gnome.c @@ -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 @@ lmod(char * mn) 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 @@ gnc_module_init(int refcount) } int -gnc_module_end(int refcount) +libgncmod_report_gnome_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/report/report-system/gncmod-report-system.c b/src/report/report-system/gncmod-report-system.c index 40afdd301a..9eeaacb15b 100644 --- a/src/report/report-system/gncmod-report-system.c +++ b/src/report/report-system/gncmod-report-system.c @@ -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 @@ gnc_module_init(int refcount) { } int -gnc_module_end(int refcount) { +libgncmod_report_system_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/report/standard-reports/gncmod-standard-reports.c b/src/report/standard-reports/gncmod-standard-reports.c index 994f4ca804..90436675da 100644 --- a/src/report/standard-reports/gncmod-standard-reports.c +++ b/src/report/standard-reports/gncmod-standard-reports.c @@ -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 @@ gnc_module_init(int refcount) { } int -gnc_module_end(int refcount) { +libgncmod_standard_reports_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/report/stylesheets/gncmod-stylesheets.c b/src/report/stylesheets/gncmod-stylesheets.c index e5cb15c2d0..18685a7514 100644 --- a/src/report/stylesheets/gncmod-stylesheets.c +++ b/src/report/stylesheets/gncmod-stylesheets.c @@ -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 @@ gnc_module_init(int refcount) { } int -gnc_module_end(int refcount) { +libgncmod_stylesheets_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/report/utility-reports/gncmod-utility-reports.c b/src/report/utility-reports/gncmod-utility-reports.c index 74aaa3295b..abe2d467ae 100644 --- a/src/report/utility-reports/gncmod-utility-reports.c +++ b/src/report/utility-reports/gncmod-utility-reports.c @@ -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 @@ gnc_module_init(int refcount) { } int -gnc_module_end(int refcount) { +libgncmod_utility_reports_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/tax/us/gncmod-tax-us.c b/src/tax/us/gncmod-tax-us.c index 709d46d0e4..7765b76432 100644 --- a/src/tax/us/gncmod-tax-us.c +++ b/src/tax/us/gncmod-tax-us.c @@ -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 @@ gnc_module_path(void) { } char * -gnc_module_description(void) { +libgncmod_tax_us_gnc_module_description(void) { return g_strdup("US income tax information"); } @@ -46,7 +48,7 @@ lmod(char * mn) } 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 @@ gnc_module_init(int refcount) { } int -gnc_module_end(int refcount) { +libgncmod_tax_us_gnc_module_end(int refcount) { return TRUE; } diff --git a/src/test-core/gncmod-test.c b/src/test-core/gncmod-test.c index 0eb1a737e6..58fc297e6f 100644 --- a/src/test-core/gncmod-test.c +++ b/src/test-core/gncmod-test.c @@ -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; }