Well, I think this broke edje_cc.
Whenever I build edc, I got huge amount of warnings like this.

CRI: eina_prefix.c:394 eina_prefix_new() eina_log_print() unknown
domain -1, original message format 'EINA PREFIX: argv0=%s, symbol=%p,
magicsharefile=%s, envprefix

Check this link. I pasted some of the warnings.
http://pastebin.com/qybsTCNU

Thanks.
Daniel Juyung Seo (SeoZ)

On Sat, Sep 3, 2011 at 2:31 PM, Enlightenment SVN
<[email protected]> wrote:
> Log:
> eina_prefix: use log infrastructure.
>
>  use eina_log instead of weirdo printfs... multiple levels, greatness
>  everywhere... helped me debug emotion's warning.
>
>  It is always a pain to try to use library log and notice they are not
>  using their own standards :-/
>
>     export EINA_LOG_LEVELS=eina_prefix:4
>
>
>
>
>
> Author:       barbieri
> Date:         2011-09-02 22:31:25 -0700 (Fri, 02 Sep 2011)
> New Revision: 63108
> Trac:         http://trac.enlightenment.org/e/changeset/63108
>
> Modified:
>  trunk/eina/src/lib/eina_main.c trunk/eina/src/lib/eina_prefix.c
>
> Modified: trunk/eina/src/lib/eina_main.c
> ===================================================================
> --- trunk/eina/src/lib/eina_main.c      2011-09-03 05:13:25 UTC (rev 63107)
> +++ trunk/eina/src/lib/eina_main.c      2011-09-03 05:31:25 UTC (rev 63108)
> @@ -129,6 +129,7 @@
>    S(quadtree);
>    S(simple_xml);
>    S(file);
> +   S(prefix);
>  #undef S
>
>  struct eina_desc_setup
> @@ -162,7 +163,8 @@
>    S(ustrbuf),
>    S(quadtree),
>    S(simple_xml),
> -   S(file)
> +   S(file),
> +   S(prefix)
>  #undef S
>  };
>  static const size_t _eina_desc_setup_len = sizeof(_eina_desc_setup) /
>
> Modified: trunk/eina/src/lib/eina_prefix.c
> ===================================================================
> --- trunk/eina/src/lib/eina_prefix.c    2011-09-03 05:13:25 UTC (rev 63107)
> +++ trunk/eina/src/lib/eina_prefix.c    2011-09-03 05:31:25 UTC (rev 63108)
> @@ -105,8 +105,33 @@
>
>  #define STRDUP_REP(x, y) do { if (x) free(x); x = strdup(y); } while (0)
>  #define IF_FREE_NULL(p) do { if (p) { free(p); p = NULL; } } while (0)
> -#define DBG(fmt, args...) do { if (getenv("EINA_PREFIX_DEBUG")) 
> fprintf(stderr, fmt, ##args); } while (0)
>
> +#ifndef EINA_LOG_COLOR_DEFAULT
> +#define EINA_LOG_COLOR_DEFAULT EINA_COLOR_CYAN
> +#endif
> +
> +#ifdef ERR
> +#undef ERR
> +#endif
> +#define ERR(...) EINA_LOG_DOM_ERR(_eina_prefix_log_dom, __VA_ARGS__)
> +
> +#ifdef WRN
> +#undef WRN
> +#endif
> +#define WRN(...) EINA_LOG_DOM_WARN(_eina_prefix_log_dom, __VA_ARGS__)
> +
> +#ifdef INF
> +#undef INF
> +#endif
> +#define INF(...) EINA_LOG_DOM_INFO(_eina_prefix_log_dom, __VA_ARGS__)
> +
> +#ifdef DBG
> +#undef DBG
> +#endif
> +#define DBG(...) EINA_LOG_DOM_DBG(_eina_prefix_log_dom, __VA_ARGS__)
> +
> +static int _eina_prefix_log_dom = -1;
> +
>  static int
>  _fallback(Eina_Prefix *pfx, const char *pkg_bin, const char *pkg_lib,
>           const char *pkg_data, const char *pkg_locale, const char *envprefix)
> @@ -151,10 +176,10 @@
>    FILE *f;
>    char buf[4096];
>
> -   DBG("Try /proc/self/maps\n");
> +   DBG("Try /proc/self/maps");
>    f = fopen("/proc/self/maps", "rb");
>    if (!f) return 0;
> -   DBG("Exists /proc/self/maps\n");
> +   DBG("Exists /proc/self/maps");
>    while (fgets(buf, sizeof(buf), f))
>      {
>        int len;
> @@ -173,18 +198,18 @@
>               {
>                  if (((void *)ptr1 <= symbol) && (symbol < (void *)ptr2))
>                    {
> -                       DBG("Found in /proc/self/maps: %s\n", buf);
> +                       DBG("Found in /proc/self/maps: %s", buf);
>                       p = strchr(buf, '/');
>                       if (p)
>                         {
> -                            DBG("Found in /proc/self/maps: found last /\n");
> +                            DBG("Found in /proc/self/maps: found last /");
>                            if (len > 10)
>                              {
>                                 if (!strcmp(buf + len - 10, " (deleted)"))
>                                     buf[len - 10] = 0;
>                              }
>                             STRDUP_REP(pfx->exe_path, p);
> -                            DBG("Found in /proc/self/maps: guess exe path is 
> %s\n", pfx->exe_path);
> +                            INF("Found in /proc/self/maps: guess exe path is 
> %s", pfx->exe_path);
>                            fclose(f);
>                            return 1;
>                         }
> @@ -194,7 +219,7 @@
>          }
>      }
>    fclose(f);
> -   DBG("Failed in /proc/self/maps\n");
> +   WRN("Failed in /proc/self/maps");
>    return 0;
>  }
>  #endif
> @@ -206,7 +231,7 @@
>    int len, lenexe;
>    char buf[PATH_MAX], buf2[PATH_MAX], buf3[PATH_MAX];
>
> -   DBG("Try argv0 = %s\n", argv0);
> +   DBG("Try argv0 = %s", argv0);
>    /* 1. is argv0 abs path? */
>  #ifdef _WIN32
>    if (argv0[0] && (argv0[1] == ':'))
> @@ -214,41 +239,41 @@
>    if (argv0[0] == DSEP_C)
>  #endif
>      {
> -        DBG("Match arvg0 is full path: %s\n", argv0);
> +        DBG("Match arvg0 is full path: %s", argv0);
>         STRDUP_REP(pfx->exe_path, argv0);
>        if (access(pfx->exe_path, X_OK) == 0)
>           {
> -             DBG("Executable argv0 = %s\n", argv0);
> +             INF("Executable argv0 = %s", argv0);
>              return 1;
>           }
>         IF_FREE_NULL(pfx->exe_path);
> -        DBG("Non existent argv0: %s\n", argv0);
> +        DBG("Non existent argv0: %s", argv0);
>        return 0;
>      }
>    /* 2. relative path */
>    if (strchr(argv0, DSEP_C))
>      {
> -        DBG("Relative path argv0: %s\n", argv0);
> +        DBG("Relative path argv0: %s", argv0);
>        if (getcwd(buf3, sizeof(buf3)))
>          {
>             snprintf(buf2, sizeof(buf2), "%s" DSEP_S "%s", buf3, argv0);
> -             DBG("Relative to CWD: %s\n", buf2);
> +             DBG("Relative to CWD: %s", buf2);
>             if (realpath(buf2, buf))
>               {
> -                  DBG("Realpath is: %s\n", buf);
> +                  DBG("Realpath is: %s", buf);
>                   STRDUP_REP(pfx->exe_path, buf);
>                  if (access(pfx->exe_path, X_OK) == 0)
>                     {
> -                       DBG("Path %s is executable\n", pfx->exe_path);
> +                       INF("Path %s is executable", pfx->exe_path);
>                        return 1;
>                     }
> -                  DBG("Fail check for executable: %s\n", pfx->exe_path);
> +                  DBG("Fail check for executable: %s", pfx->exe_path);
>                   IF_FREE_NULL(pfx->exe_path);
>               }
>          }
>      }
>    /* 3. argv0 no path - look in PATH */
> -   DBG("Look for argv0=%s in $PATH\n", argv0);
> +   DBG("Look for argv0=%s in $PATH", argv0);
>    path = getenv("PATH");
>    if (!path) return 0;
>    p = path;
> @@ -263,14 +288,14 @@
>             strncpy(s, cp, len);
>             s[len] = DSEP_C;
>             strcpy(s + len + 1, argv0);
> -             DBG("Try path: %s\n", s);
> +             DBG("Try path: %s", s);
>             if (realpath(s, buf))
>               {
> -                  DBG("Realpath is: %s\n", buf);
> +                  DBG("Realpath is: %s", buf);
>                  if (access(buf, X_OK) == 0)
>                    {
>                        STRDUP_REP(pfx->exe_path, buf);
> -                       DBG("Path %s is executable\n", pfx->exe_path);
> +                       INF("Path %s is executable", pfx->exe_path);
>                       free(s);
>                       return 1;
>                    }
> @@ -289,17 +314,17 @@
>    char buf[PATH_MAX];
>    const char *s = getenv(env);
>
> -   DBG("Try env var %s\n", env);
> +   DBG("Try env var %s", env);
>    if (s)
>      {
> -        DBG("Have env %s = %s\n", env, s);
> +        INF("Have env %s = %s", env, s);
>         STRDUP_REP(*var, s);
>         return 1;
>      }
>    else if (prefix)
>      {
>         snprintf(buf, sizeof(buf), "%s" DSEP_S "%s", prefix, dir);
> -        DBG("Have prefix %s = %s\n", prefix, buf);
> +        INF("Have prefix %s = %s", prefix, buf);
>         STRDUP_REP(*var, buf);
>         return 1;
>      }
> @@ -365,7 +390,8 @@
>    const char *datadir = "share";
>    const char *localedir = "share";
>
> -   DBG("EINA PREFIX: argv0=%s, symbol=%p, magicsharefile=%s, 
> envprefix=%s\n", argv0, symbol, magicsharefile, envprefix);
> +   DBG("EINA PREFIX: argv0=%s, symbol=%p, magicsharefile=%s, envprefix=%s",
> +       argv0, symbol, magicsharefile, envprefix);
>    pfx = calloc(1, sizeof(Eina_Prefix));
>    if (!pfx) return NULL;
>
> @@ -465,10 +491,10 @@
>         libdir = pkg_lib_p;
>         datadir = pkg_data_p;
>         localedir = pkg_locale_p;
> -        DBG("Prefix relative bindir = %s\n", bindir);
> -        DBG("Prefix relative libdir = %s\n", libdir);
> -        DBG("Prefix relative datadir = %s\n", datadir);
> -        DBG("Prefix relative localedir = %s\n", localedir);
> +        DBG("Prefix relative bindir = %s", bindir);
> +        DBG("Prefix relative libdir = %s", libdir);
> +        DBG("Prefix relative datadir = %s", datadir);
> +        DBG("Prefix relative localedir = %s", localedir);
>      }
>    /* 3. some galoot thought it awesome not to give us a common prefix at 
> compile time
>     * so fall back to the compile time directories. we are no longer 
> relocatable */
> @@ -479,7 +505,7 @@
>         STRDUP_REP(pfx->prefix_path_data, pkg_data);
>         STRDUP_REP(pfx->prefix_path_locale, pkg_locale);
>         pfx->no_common_prefix = 1;
> -        DBG("Can't work out a common prefix - compiled in fallback\n");
> +        DBG("Can't work out a common prefix - compiled in fallback");
>      }
>
>    /* if user provides env vars - then use that or also more specific sub
> @@ -492,24 +518,24 @@
>      }
>
>  #ifdef HAVE_DLADDR
> -   DBG("Try dladdr on %p\n", symbol);
> +   DBG("Try dladdr on %p", symbol);
>    if (symbol)
>      {
>         Dl_info info_dl;
>
>         if (dladdr(symbol, &info_dl))
>           {
> -             DBG("Dlinfo worked\n");
> +             DBG("Dlinfo worked");
>              if (info_dl.dli_fname)
>                {
> -                  DBG("Dlinfo dli_fname = %s\n", info_dl.dli_fname);
> +                  DBG("Dlinfo dli_fname = %s", info_dl.dli_fname);
>  # ifdef _WIN32
>                   if (info_dl.dli_fname[0] && (info_dl.dli_fname[1] == ':'))
>  # else
>                   if (info_dl.dli_fname[0] == DSEP_C)
>  # endif
>                     {
> -                       DBG("Dlsym gave full path.\n");
> +                       INF("Dlsym gave full path = %s", info_dl.dli_fname);
>                        STRDUP_REP(pfx->exe_path, info_dl.dli_fname);
>                     }
>                }
> @@ -535,7 +561,7 @@
>      }
>    if (!pfx->exe_path)
>      {
> -        DBG("Fallback - nothing found\n");
> +        WRN("Fallback - nothing found");
>         _fallback(pfx, pkg_bin, pkg_lib, pkg_data, pkg_locale, envprefix);
>         return pfx;
>      }
> @@ -550,7 +576,7 @@
>     * data_dir   = /blah/whatever/share/enlightenment
>     * lib_dir    = /blah/whatever/lib
>     */
> -   DBG("From exe %s figure out the rest\n", pfx->exe_path);
> +   DBG("From exe %s figure out the rest", pfx->exe_path);
>    p = strrchr(pfx->exe_path, DSEP_C);
>    if (p)
>      {
> @@ -565,38 +591,38 @@
>                       strncpy(pfx->prefix_path, pfx->exe_path,
>                                p - pfx->exe_path);
>                       pfx->prefix_path[p - pfx->exe_path] = 0;
> -                       DBG("Have prefix = %s\n", pfx->prefix_path);
> +                       DBG("Have prefix = %s", pfx->prefix_path);
>
>                       /* bin */
>                       snprintf(buf, sizeof(buf), "%s" DSEP_S "%s",
>                                 pfx->prefix_path, bindir);
>                        STRDUP_REP(pfx->prefix_path_bin, buf);
> -                       DBG("Have bin = %s\n", pfx->prefix_path_bin);
> +                       DBG("Have bin = %s", pfx->prefix_path_bin);
>                       /* lib */
>                       snprintf(buf, sizeof(buf), "%s" DSEP_S "%s",
>                                 pfx->prefix_path, libdir);
>                        STRDUP_REP(pfx->prefix_path_lib, buf);
> -                       DBG("Have lib = %s\n", pfx->prefix_path_lib);
> +                       DBG("Have lib = %s", pfx->prefix_path_lib);
>                       /* locale */
>                       snprintf(buf, sizeof(buf), "%s" DSEP_S "%s",
>                                 pfx->prefix_path, localedir);
>                        STRDUP_REP(pfx->prefix_path_locale, buf);
> -                       DBG("Have locale = %s\n", pfx->prefix_path_locale);
> +                       DBG("Have locale = %s", pfx->prefix_path_locale);
>                       /* check if magic file is there - then our guess is 
> right */
>                        if (magic)
>                          {
> -                            DBG("Magic = %s\n", magic);
> +                            DBG("Magic = %s", magic);
>                             snprintf(buf, sizeof(buf),
>                                      "%s" DSEP_S "%s" DSEP_S "%s",
>                                      pfx->prefix_path, datadir, magic);
> -                            DBG("Checck in %s\n", buf);
> +                            DBG("Check in %s", buf);
>                          }
>                       if ((!magic) || (stat(buf, &st) == 0))
>                         {
>                             if (buf[0])
> -                               DBG("Magic path %s stat passed\n", buf);
> +                               DBG("Magic path %s stat passed", buf);
>                             else
> -                               DBG("No magic file\n");
> +                               DBG("No magic file");
>                            snprintf(buf, sizeof(buf), "%s" DSEP_S "%s",
>                                      pfx->prefix_path, datadir);
>                             STRDUP_REP(pfx->prefix_path_data, buf);
> @@ -604,14 +630,14 @@
>                       /* magic file not there. time to start hunting! */
>                       else
>                          {
> -                            DBG("Magic faile\n");
> +                            WRN("Magic failed");
>                             _fallback(pfx, pkg_bin, pkg_lib, pkg_data,
>                                       pkg_locale, envprefix);
>                          }
>                    }
>                  else
>                     {
> -                       DBG("No Prefix path (alloc fail)\n");
> +                       WRN("No Prefix path (alloc fail)");
>                        _fallback(pfx, pkg_bin, pkg_lib, pkg_data, pkg_locale,
>                                  envprefix);
>                     }
> @@ -620,7 +646,7 @@
>             p--;
>          }
>      }
> -   DBG("Final fallback\n");
> +   WRN("Final fallback");
>    _fallback(pfx, pkg_bin, pkg_lib, pkg_data, pkg_locale, envprefix);
>    return pfx;
>  }
> @@ -673,3 +699,25 @@
>    if (!pfx) return "";
>    return pfx->prefix_path_locale;
>  }
> +
> +Eina_Bool
> +eina_prefix_init(void)
> +{
> +   _eina_prefix_log_dom = eina_log_domain_register("eina_prefix",
> +                                                   EINA_LOG_COLOR_DEFAULT);
> +   if (_eina_prefix_log_dom < 0)
> +     {
> +        EINA_LOG_ERR("Could not register log domain: eina_prefix");
> +        return EINA_FALSE;
> +     }
> +
> +   return EINA_TRUE;
> +}
> +
> +Eina_Bool
> +eina_prefix_shutdown(void)
> +{
> +   eina_log_domain_unregister(_eina_prefix_log_dom);
> +   _eina_prefix_log_dom = -1;
> +   return EINA_TRUE;
> +}
>
>
> ------------------------------------------------------------------------------
> Special Offer -- Download ArcSight Logger for FREE!
> Finally, a world-class log management solution at an even better
> price-free! And you'll get a free "Love Thy Logs" t-shirt when you
> download Logger. Secure your free ArcSight Logger TODAY!
> http://p.sf.net/sfu/arcsisghtdev2dev
> _______________________________________________
> enlightenment-svn mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>

------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better 
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to