On Tue, 17 Aug 2010 06:29:23 -0700 "Enlightenment SVN"
<no-re...@enlightenment.org> said:

hmmm shouldnt we make it:

PREFIX/lib/edje/modules/MODULENAME/arch-ver-string/module.so

to be consistent? :) (basically it allows multiple so's, binaries etc. to be
part of a module too as well as to ship data files that are not arch/version
specific).

> Log:
>       * edje: fix edje external module path.
>   
> Author:       cedric
> Date:         2010-08-17 06:29:23 -0700 (Tue, 17 Aug 2010)
> New Revision: 51251
> 
> Modified:
>   trunk/TMP/st/elementary/configure.ac
> trunk/TMP/st/elementary/src/edje_externals/Makefile.am
> trunk/edje/configure.ac trunk/edje/src/lib/edje_module.c
> trunk/emotion/configure.ac trunk/emotion/src/edje_external/Makefile.am 
> 
> Modified: trunk/TMP/st/elementary/configure.ac
> ===================================================================
> --- trunk/TMP/st/elementary/configure.ac      2010-08-17 12:52:17 UTC (rev
> 51250) +++ trunk/TMP/st/elementary/configure.ac       2010-08-17 13:29:23
> UTC (rev 51251) @@ -63,17 +63,23 @@
>  AC_SUBST(VMAJ)
>  AC_SUBST(VMIN)
>  
> +EDJE_VERSION="1.0.0"
> +
>  case "$host_os" in
>    mingw32ce* | cegcc*)
>      MODULE_ARCH="$host_os-$host_cpu"
> +    MODULE_EDJE="$host_os-$host_cpu"
>      ;;
>    *)
> -    MODULE_ARCH="$host_os-$host_cpu-relname"
> +    MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
> +    MODULE_EDJE="$host_os-$host_cpu-${EDJE_VERSION}"
>      ;;
>  esac
>  AC_SUBST(release_info)
>  AC_SUBST(MODULE_ARCH)
>  AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
> +AC_SUBST(MODULE_EDJE)
> +AC_DEFINE_UNQUOTED(MODULE_EDJE, "$MODULE_EDJE", "Edje module architecture")
>  
>  EFL_SHARED_EXTENSION="${shrext_cmds}"
>  AC_DEFINE_UNQUOTED(EFL_SHARED_EXTENSION, "${EFL_SHARED_EXTENSION}", "Shared
> extension") @@ -170,7 +176,7 @@
>      ecore-evas >= 1.0.0
>      ecore-file >= 1.0.0
>      ecore-imf >= 1.0.0
> -    edje >= 1.0.0
> +    edje >= ${EDJE_VERSION}
>     ]
>  )
>  
> @@ -185,7 +191,7 @@
>  ])
>  AC_SUBST(eet_eet)
>          
> -requirement_elm="edje >= 1.0.0 ecore-file >= 1.0.0 ecore-evas >= 1.0.0 ecore
> >= 1.0.0 evas >= 1.0.0 eet >= 1.4.0 eina >= 1.0.0 ${requirement_elm}"
> >+requirement_elm="edje >= ${EDJE_VERSION} ecore-file >= 1.0.0 ecore-evas >=
> >1.0.0 ecore >= 1.0.0 evas >= 1.0.0 eet >= 1.4.0 eina >= 1.0.0
> >${requirement_elm}"
>  
>  have_elementary_x="no"
>  want_elementary_x="auto"
> 
> Modified: trunk/TMP/st/elementary/src/edje_externals/Makefile.am
> ===================================================================
> --- trunk/TMP/st/elementary/src/edje_externals/Makefile.am    2010-08-17
> 12:52:17 UTC (rev 51250) +++
> trunk/TMP/st/elementary/src/edje_externals/Makefile.am        2010-08-17
> 13:29:23 UTC (rev 51251) @@ -21,7 +21,7 @@ AM_CPPFLAGS += -DELEMENTARY_BUILD
>  endif
>  
> -pkgdir = $(libdir)/edje
> +pkgdir = $(libdir)/edje/modules/$(MODULE_EDJE)
>  pkg_LTLIBRARIES = elm.la
>  
>  elm_la_SOURCES = private.h \
> 
> Modified: trunk/edje/configure.ac
> ===================================================================
> --- trunk/edje/configure.ac   2010-08-17 12:52:17 UTC (rev 51250)
> +++ trunk/edje/configure.ac   2010-08-17 13:29:23 UTC (rev 51251)
> @@ -60,10 +60,12 @@
>  
>  case "$host_os" in
>     mingw32ce* | cegcc*)
> +      MODULE_ARCH="$host_os-$host_cpu"
>        install_vim="no"
>        have_edje_cc="no"
>        ;;
>     *)
> +      MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
>        install_vim="yes"
>        have_edje_cc="yes"
>        ;;
> @@ -71,6 +73,8 @@
>  
>  requirement_edje=""
>  
> +AC_SUBST(MODULE_ARCH)
> +AC_DEFINE_UNQUOTED(MODULE_ARCH, "${MODULE_ARCH}", "Module architecture")
>  
>  ### Additional options to configure
>  
> 
> Modified: trunk/edje/src/lib/edje_module.c
> ===================================================================
> --- trunk/edje/src/lib/edje_module.c  2010-08-17 12:52:17 UTC (rev
> 51250) +++ trunk/edje/src/lib/edje_module.c   2010-08-17 13:29:23 UTC
> (rev 51251) @@ -81,14 +81,43 @@
>  void
>  _edje_module_init(void)
>  {
> -   unsigned int i;
>     Eina_Array_Iterator it;
>     Eina_Module *m;
> +   char *paths[4] = { NULL, NULL, NULL, NULL };
> +   unsigned int i;
> +   unsigned int j;
>  
>     _registered_modules = eina_hash_string_small_new(NULL);
> -   _available_modules = eina_module_list_get(_available_modules,
> -           PACKAGE_LIB_DIR "/edje", 0, NULL, NULL);
>  
> +   /* 1. ~/.edje/modules/ */
> +   paths[0] = eina_module_environment_path_get("HOME", "/.edje/modules");
> +   /* 2. $(EVAS_MODULE_DIR)/edje/modules/ */
> +   paths[1] = eina_module_environment_path_get("EDJE_MODULES_DIR",
> "/edje/modules");
> +   /* 3. libedje.so/../edje/modules/ */
> +   paths[2] = eina_module_symbol_path_get(_edje_module_init,
> "/edje/modules");
> +   /* 4. PREFIX/evas/modules/ */
> +#ifndef _MSC_VER
> +   paths[3] = PACKAGE_LIB_DIR "/evas/modules";
> +#endif
> +
> +   for (j = 0; j < ((sizeof (paths) / sizeof (char*)) - 1); ++j)
> +     for (i = j + 1; i < sizeof (paths) / sizeof (char*); ++i)
> +       if (paths[i] && paths[j] && !strcmp(paths[i], paths[j]))
> +      paths[i] = NULL;
> +
> +   for (i = 0; i < sizeof (paths) / sizeof (char*); ++i)
> +     if (paths[i])
> +       {
> +       char *tmp;
> +       unsigned int len;
> +
> +       len = strlen(paths[i]) + strlen(MODULE_ARCH) + 5;
> +       tmp = alloca(len);
> +       snprintf(tmp, len, "%s/%s/", paths[i], MODULE_ARCH);
> +
> +       _available_modules = eina_module_list_get(_available_modules, tmp,
> 0, NULL, NULL);
> +       }
> +
>     if (!_available_modules)
>       {
>         eina_hash_free(_registered_modules);
> 
> Modified: trunk/emotion/configure.ac
> ===================================================================
> --- trunk/emotion/configure.ac        2010-08-17 12:52:17 UTC (rev 51250)
> +++ trunk/emotion/configure.ac        2010-08-17 13:29:23 UTC (rev 51251)
> @@ -54,20 +54,26 @@
>  AC_SUBST(VMAJ)
>  
>  ### Needed information
> +EDJE_VERSION="1.0.0"
>  
>  case "$host_os" in
>     mingw* | cegcc*)
> +      MODULE_EDJE="$host_os-$host_cpu"
>        want_xine="no"
>        want_gstreamer="yes"
>        want_vlc="no"
>        ;;
>     *)
> +      MODULE_EDJE="$host_os-$host_cpu-${EDJE_VERSION}"
>        want_xine="yes"
>        want_gstreamer="yes"
>        want_vlc="yes"
>        ;;
>  esac
>  
> +AC_SUBST(MODULE_EDJE)
> +AC_DEFINE_UNQUOTED(MODULE_EDJE, "$MODULE_EDJE", "Edje module architecture")
> +
>  requirement_emotion=""
>  
>  ### Additional options to configure
> @@ -112,7 +118,7 @@
>  requirement_emotion="ecore >= 1.0.0 evas >= 1.0.0 eina >= 1.0.0"
>  
>  if test "x${have_emotion_test}" = "xyes" ; then
> -   PKG_CHECK_MODULES(EMOTION_BIN, [evas >= 1.0.0 ecore >= 1.0.0 ecore-evas
> >= 1.0.0 edje >= 1.0.0])
> +   PKG_CHECK_MODULES(EMOTION_BIN, [evas >= 1.0.0 ecore >= 1.0.0 ecore-evas
> >= 1.0.0 edje >= ${EDJE_VERSION}]) fi
>  
>  PKG_CHECK_MODULES(ECORE_X, [ecore-x >= 1.0.0], [have_ecore_x="yes"],
> [have_ecore_x="no"])
> 
> Modified: trunk/emotion/src/edje_external/Makefile.am
> ===================================================================
> --- trunk/emotion/src/edje_external/Makefile.am       2010-08-17 12:52:17
> UTC (rev 51250) +++ trunk/emotion/src/edje_external/Makefile.am
> 2010-08-17 13:29:23 UTC (rev 51251) @@ -9,7 +9,7 @@
>  @EFL_EMOTION_BUILD@ \
>  @EDJE_EXTERNAL_CFLAGS@
>  
> -pkgdir = $(libdir)/edje
> +pkgdir = $(libdir)/edje/modules/$(MODULE_EDJE)
>  pkg_LTLIBRARIES = emotion.la
>  
>  emotion_la_SOURCES = emotion.c
> 
> 
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by 
> 
> Make an app they can't live without
> Enter the BlackBerry Developer Challenge
> http://p.sf.net/sfu/RIM-dev2dev 
> _______________________________________________
> enlightenment-svn mailing list
> enlightenment-...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to