* edje: fix edje external module path.

SVN revision: 51251
This commit is contained in:
Cedric BAIL 2010-08-17 13:29:23 +00:00
parent b6f316407f
commit b0ddc29966
4 changed files with 44 additions and 5 deletions

View File

@ -60,10 +60,12 @@ EFL_CHECK_PATH_MAX
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 @@ esac
requirement_edje=""
AC_SUBST(MODULE_ARCH)
AC_DEFINE_UNQUOTED(MODULE_ARCH, "${MODULE_ARCH}", "Module architecture")
### Additional options to configure

View File

@ -81,13 +81,42 @@ edje_module_load(const char *module)
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)
{

View File

@ -54,20 +54,26 @@ VMAJ=v_maj
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 @@ PKG_CHECK_MODULES(EMOTION, [eina >= 1.0.0 evas >= 1.0.0 ecore >= 1.0.0])
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"])

View File

@ -9,7 +9,7 @@ AM_CPPFLAGS = \
@EFL_EMOTION_BUILD@ \
@EDJE_EXTERNAL_CFLAGS@
pkgdir = $(libdir)/edje
pkgdir = $(libdir)/edje/modules/$(MODULE_EDJE)
pkg_LTLIBRARIES = emotion.la
emotion_la_SOURCES = emotion.c