From 18feaa16a79b43828baecb46367887e282e065a1 Mon Sep 17 00:00:00 2001 From: Geert Janssens Date: Fri, 26 Jan 2018 18:15:56 +0100 Subject: [PATCH] Remove support code to load qof backend in autotools based build environment --- libgnucash/engine/qof-backend.cpp | 43 ++----------------------------- 1 file changed, 2 insertions(+), 41 deletions(-) diff --git a/libgnucash/engine/qof-backend.cpp b/libgnucash/engine/qof-backend.cpp index b954ec8d00..e1a646feb5 100644 --- a/libgnucash/engine/qof-backend.cpp +++ b/libgnucash/engine/qof-backend.cpp @@ -83,44 +83,6 @@ QofBackend::get_message () return std::move(m_error_msg); } -/* Helper function that returns a directory from which the requested module - * can be loaded. This is needed because the location of the modules - * depends on - * - whether we're running in an installed environment or the build environment - * - the operating system - * - (in the build environment) which build system is used - * - * Note parameter rel_path is only used when invoked in the build environment - * and even then only for autotools builds because each backend module is likely - * to reside in its own directory in that configuration. At install time or in a - * cmake build it is assumed all backend modules reside in one single directory. - */ -static char* get_default_module_dir(const char* rel_path) -{ - gchar *pkglibdir; - const gchar *builddir = g_getenv ("GNC_BUILDDIR"); - gboolean uninstalled = (g_getenv ("GNC_UNINSTALLED") != NULL - && builddir != NULL); - - if (uninstalled) - { -#ifdef CMAKE_BUILD - pkglibdir = gnc_path_get_pkglibdir (); -#else - if (rel_path) - pkglibdir = g_build_path (G_DIR_SEPARATOR_S, builddir, - "libgnucash", "backend", rel_path, ".libs", NULL); - else - pkglibdir = g_build_path (G_DIR_SEPARATOR_S, builddir, - "libgnucash", "backend", ".libs", NULL); -#endif - } - else - pkglibdir = gnc_path_get_pkglibdir (); - - return pkglibdir; -} - bool QofBackend::register_backend(const char* directory, const char* module_name) { @@ -130,9 +92,9 @@ QofBackend::register_backend(const char* directory, const char* module_name) return false; } - auto absdir = g_strdup(directory); + auto absdir = directory; if (!absdir || !g_path_is_absolute(absdir)) - absdir = get_default_module_dir(directory); + absdir = gnc_path_get_pkglibdir (); auto fullpath = g_module_build_path (absdir, module_name); /* Darwin modules can have either .so or .dylib for a suffix */ if (!g_file_test (fullpath, G_FILE_TEST_EXISTS) && @@ -143,7 +105,6 @@ QofBackend::register_backend(const char* directory, const char* module_name) fullpath = g_build_filename (absdir, modname, NULL); g_free (modname); } - g_free (absdir); auto backend = g_module_open (fullpath, G_MODULE_BIND_LAZY); g_free (fullpath); if (!backend)