forked from enlightenment/efl
efl/emotion: fix usage of eina_prefix, add checkme file.
we were using "" for locale that made eina_prefix think that we did not had a common prefix. take the time and add a magic file "checkme" to be checked at runtime to validate stuff. also made the binaries be searched in MODULE_ARCH namespace. SVN revision: 82507
This commit is contained in:
parent
83a8742d4e
commit
93ac29f610
|
@ -59,3 +59,10 @@ edje/vim/plugin-info.txt \
|
|||
edje/vim/snippets/edc.snippets \
|
||||
edje/vim/syntax/edc.vim \
|
||||
edje/vim/syntax/embryo.vim
|
||||
|
||||
|
||||
########################################################################
|
||||
# Emotion
|
||||
emotionfilesdir = $(datadir)/emotion
|
||||
emotionfiles_DATA = emotion/checkme
|
||||
EXTRA_DIST += $(emotionfiles_DATA)
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
This is just a test file used to help emotion determine its prefix
|
||||
location.
|
|
@ -21,10 +21,29 @@
|
|||
static Eina_Prefix *pfx = NULL;
|
||||
|
||||
static int _emotion_generic_log_domain = -1;
|
||||
#ifdef DBG
|
||||
#undef DBG
|
||||
#endif
|
||||
#define DBG(...) EINA_LOG_DOM_DBG(_emotion_generic_log_domain, __VA_ARGS__)
|
||||
|
||||
#ifdef INF
|
||||
#undef INF
|
||||
#endif
|
||||
#define INF(...) EINA_LOG_DOM_INFO(_emotion_generic_log_domain, __VA_ARGS__)
|
||||
|
||||
#ifdef WRN
|
||||
#undef WRN
|
||||
#endif
|
||||
#define WRN(...) EINA_LOG_DOM_WARN(_emotion_generic_log_domain, __VA_ARGS__)
|
||||
|
||||
#ifdef ERR
|
||||
#undef ERR
|
||||
#endif
|
||||
#define ERR(...) EINA_LOG_DOM_ERR(_emotion_generic_log_domain, __VA_ARGS__)
|
||||
|
||||
#ifdef CRITICAL
|
||||
#undef CRITICAL
|
||||
#endif
|
||||
#define CRITICAL(...) EINA_LOG_DOM_CRIT(_emotion_generic_log_domain, __VA_ARGS__)
|
||||
|
||||
|
||||
|
@ -83,7 +102,7 @@ _get_player(const char *name)
|
|||
if (selected_name[0] == '/') cmd = selected_name;
|
||||
else
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "%s/emotion/utils/%s",
|
||||
snprintf(buf, sizeof(buf), "%s/emotion/utils/" MODULE_ARCH "/%s",
|
||||
libdir, selected_name);
|
||||
cmd = buf;
|
||||
}
|
||||
|
@ -98,7 +117,7 @@ _get_player(const char *name)
|
|||
|
||||
for (i = 0; players[i].name; i++)
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "%s/emotion/utils/%s",
|
||||
snprintf(buf, sizeof(buf), "%s/emotion/utils/" MODULE_ARCH "/%s",
|
||||
libdir, players[i].cmdline);
|
||||
DBG("Try generic player '%s'", buf);
|
||||
if (access(buf, R_OK | X_OK) == 0)
|
||||
|
@ -1787,27 +1806,24 @@ static void module_close(Emotion_Video_Module *module EINA_UNUSED, void *video)
|
|||
Eina_Bool
|
||||
generic_module_init(void)
|
||||
{
|
||||
if (!pfx)
|
||||
{
|
||||
pfx = eina_prefix_new(NULL, emotion_object_add,
|
||||
"EMOTION", "emotion", NULL,
|
||||
PACKAGE_BIN_DIR,
|
||||
PACKAGE_LIB_DIR,
|
||||
PACKAGE_DATA_DIR,
|
||||
"");
|
||||
if (pfx) return EINA_TRUE;
|
||||
|
||||
pfx = eina_prefix_new(NULL, emotion_init,
|
||||
"EMOTION", "emotion", "checkme",
|
||||
PACKAGE_BIN_DIR, PACKAGE_LIB_DIR,
|
||||
PACKAGE_DATA_DIR, PACKAGE_DATA_DIR);
|
||||
if (!pfx) return EINA_FALSE;
|
||||
}
|
||||
return _emotion_module_register("generic", module_open, module_close);
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
generic_module_shutdown(void)
|
||||
{
|
||||
if (pfx)
|
||||
{
|
||||
if (!pfx) return;
|
||||
|
||||
eina_prefix_free(pfx);
|
||||
pfx = NULL;
|
||||
}
|
||||
|
||||
_emotion_module_unregister("generic");
|
||||
}
|
||||
|
||||
|
@ -1817,4 +1833,3 @@ EINA_MODULE_INIT(generic_module_init);
|
|||
EINA_MODULE_SHUTDOWN(generic_module_shutdown);
|
||||
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue