set LUMIERA_PLUGIN_PATH to $pkglibdir as default
This commit is contained in:
parent
038f127946
commit
c04f1e77d6
3 changed files with 12 additions and 8 deletions
|
|
@ -18,7 +18,8 @@
|
||||||
liblumibackend_a_srcdir = $(top_srcdir)/src/backend
|
liblumibackend_a_srcdir = $(top_srcdir)/src/backend
|
||||||
noinst_LIBRARIES += liblumibackend.a
|
noinst_LIBRARIES += liblumibackend.a
|
||||||
|
|
||||||
liblumibackend_a_CFLAGS = $(CFLAGS) -std=gnu99 -Wextra -Wall -Werror
|
liblumibackend_a_CPPFLAGS = $(AM_CPPFLAGS) -DLUMIERA_PLUGIN_PATH="\"$(pkglibdir)\""
|
||||||
|
liblumibackend_a_CFLAGS = $(AM_CFLAGS) -std=gnu99 -Wextra -Wall -Werror
|
||||||
|
|
||||||
liblumibackend_a_SOURCES = \
|
liblumibackend_a_SOURCES = \
|
||||||
$(liblumibackend_a_srcdir)/mediaaccessfacade.cpp \
|
$(liblumibackend_a_srcdir)/mediaaccessfacade.cpp \
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,10 @@
|
||||||
|
|
||||||
#include <nobug.h>
|
#include <nobug.h>
|
||||||
|
|
||||||
|
#ifndef LUMIERA_PLUGIN_PATH
|
||||||
|
#error TODO: hey ichthyo, please figure the $pkglib path out by scons and use it as -DLUMIERA_PLUGIN_PATH for this source
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file
|
* @file
|
||||||
* Plugin loader.
|
* Plugin loader.
|
||||||
|
|
@ -193,6 +197,8 @@ lumiera_plugin_discover (LumieraPlugin (*callback_load)(const char* plugin),
|
||||||
REQUIRE (callback_load);
|
REQUIRE (callback_load);
|
||||||
REQUIRE (callback_register);
|
REQUIRE (callback_register);
|
||||||
|
|
||||||
|
lumiera_config_setdefault ("plugin.path ="LUMIERA_PLUGIN_PATH);
|
||||||
|
|
||||||
/* construct glob trail {.so,.c,.foo} ... */
|
/* construct glob trail {.so,.c,.foo} ... */
|
||||||
static char* exts_globs = NULL;
|
static char* exts_globs = NULL;
|
||||||
if (!exts_globs)
|
if (!exts_globs)
|
||||||
|
|
@ -205,7 +211,7 @@ lumiera_plugin_discover (LumieraPlugin (*callback_load)(const char* plugin),
|
||||||
|
|
||||||
while ((path = lumiera_config_wordlist_get_nth ("plugin.path", i, ":")))
|
while ((path = lumiera_config_wordlist_get_nth ("plugin.path", i, ":")))
|
||||||
{
|
{
|
||||||
path = lumiera_tmpbuf_snprintf (SIZE_MAX,"%s%s", path, exts_globs);
|
path = lumiera_tmpbuf_snprintf (SIZE_MAX,"%s/%s", path, exts_globs);
|
||||||
TRACE (plugin, "globbing path '%s'", path);
|
TRACE (plugin, "globbing path '%s'", path);
|
||||||
int ret = glob (path, flags, NULL, &globs);
|
int ret = glob (path, flags, NULL, &globs);
|
||||||
if (ret == GLOB_NOSPACE)
|
if (ret == GLOB_NOSPACE)
|
||||||
|
|
@ -215,9 +221,6 @@ lumiera_plugin_discover (LumieraPlugin (*callback_load)(const char* plugin),
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lumiera_error_peek ())
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
if (globs.gl_pathc)
|
if (globs.gl_pathc)
|
||||||
LUMIERA_RECMUTEX_SECTION (plugin, &lumiera_interface_mutex)
|
LUMIERA_RECMUTEX_SECTION (plugin, &lumiera_interface_mutex)
|
||||||
{
|
{
|
||||||
|
|
@ -350,7 +353,7 @@ lumiera_plugin_lookup (const char* name)
|
||||||
static char* init_exts_globs ()
|
static char* init_exts_globs ()
|
||||||
{
|
{
|
||||||
char* exts_globs;
|
char* exts_globs;
|
||||||
size_t exts_sz = 4; /* / * { } \0 less one comma */
|
size_t exts_sz = 3; /* * { } \0 less one comma */
|
||||||
LumieraPlugintype itr = lumiera_plugin_types;
|
LumieraPlugintype itr = lumiera_plugin_types;
|
||||||
while (itr->ext)
|
while (itr->ext)
|
||||||
{
|
{
|
||||||
|
|
@ -362,7 +365,7 @@ static char* init_exts_globs ()
|
||||||
*exts_globs = '\0';
|
*exts_globs = '\0';
|
||||||
|
|
||||||
itr = lumiera_plugin_types;
|
itr = lumiera_plugin_types;
|
||||||
strcat (exts_globs, "/*{");
|
strcat (exts_globs, "*{");
|
||||||
|
|
||||||
while (itr->ext)
|
while (itr->ext)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ TESTING "testing plugins" ./test-interfaces
|
||||||
|
|
||||||
|
|
||||||
TEST "discovering plugins, missing path" plugin_discover <<END
|
TEST "discovering plugins, missing path" plugin_discover <<END
|
||||||
out: error: LUMIERA_ERROR_CONFIG_NO_ENTRY:no configuration entry
|
out: found plugin: (null)
|
||||||
return: 0
|
return: 0
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue