efl/emotion: fix usage of eina_prefix, add checkme file.
authorGustavo Sverzut Barbieri <barbieri@gmail.com>
Thu, 10 Jan 2013 05:45:50 +0000 (05:45 +0000)
committerGustavo Sverzut Barbieri <barbieri@gmail.com>
Thu, 10 Jan 2013 05:45:50 +0000 (05:45 +0000)
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

data/Makefile.am
data/emotion/checkme [new file with mode: 0644]
src/modules/emotion/generic/emotion_generic.c

index abbdfaf..5104f31 100644 (file)
@@ -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)
diff --git a/data/emotion/checkme b/data/emotion/checkme
new file mode 100644 (file)
index 0000000..e2f46e1
--- /dev/null
@@ -0,0 +1,2 @@
+This is just a test file used to help emotion determine its prefix
+location.
index d66553f..a195329 100644 (file)
 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_FALSE;
-     }
+   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)
-     {
-        eina_prefix_free(pfx);
-        pfx = NULL;
-     }
+   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
-