Enlightenment CVS committal

Author  : doursse
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/lib/file


Modified Files:
        Makefile.am evas_module.c 


Log Message:
 * Remove Windows code in evas_module.c and use evilness instead
 * Allow Windows Mobile to correctly load dll's
 * Use correct scheme for EAPI on Windows and include config.h when necessary
 * add -mwin32 to compiler flags when compiling with cegcc

===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/file/Makefile.am,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- Makefile.am 4 Nov 2007 09:21:45 -0000       1.11
+++ Makefile.am 14 Mar 2008 16:49:47 -0000      1.12
@@ -7,11 +7,12 @@
                       -DPACKAGE_BIN_DIR=\"$(bindir)\" \
                       -DPACKAGE_LIB_DIR=\"$(libdir)\" \
                       -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
-                      @FREETYPE_CFLAGS@
+                      @FREETYPE_CFLAGS@ \
+                      @EVIL_CFLAGS@ @WIN32_CFLAGS@
 
 noinst_LTLIBRARIES      = libevas_file.la
 libevas_file_la_SOURCES  = \
 evas_path.c \
 evas_module.c
-
+libevas_file_la_LIBADD = @EVIL_LIBS@
 libevas_file_la_DEPENDENCIES = $(top_builddir)/config.h
===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/file/evas_module.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- evas_module.c       26 Jan 2008 06:01:00 -0000      1.29
+++ evas_module.c       14 Mar 2008 16:49:47 -0000      1.30
@@ -5,86 +5,11 @@
 #endif
 
 #include <dirent.h>    /* DIR, dirent */
-#ifdef _WIN32
-# include <windows.h>
-# include <stdlib.h>
-# include <stdio.h>
-#else
-# include <dlfcn.h>    /* dlopen,dlclose,etc */
-#endif
+#include <dlfcn.h>     /* dlopen,dlclose,etc */
 
 #include <evas_common.h>
 #include <evas_private.h>
 
-/* FIXME: that hack is a temporary one. That code will be in MinGW soon */
-#ifdef _WIN32
-
-# define RTLD_LAZY 1 /* lazy function call binding */
-# define RTLD_NOW 2 /* immediate function call binding */
-# define RTLD_GLOBAL 4 /* symbols in this dlopen'ed obj are visible
-                        to other dlopen'ed objs */
-
-static char *dlerr_ptr;
-static char dlerr_data[80];
-
-void *dlopen (const char *file, int mode)
-{
-  HMODULE hmodule;
-
-  hmodule = LoadLibrary(file);
-  if (hmodule == NULL) {
-    int error;
-
-    error = GetLastError();
-    sprintf(dlerr_data, "LoadLibraryEx returned %d.", error);
-    dlerr_ptr = dlerr_data;
-  }
-  return hmodule;
-}
-
-int dlclose (void *handle)
-{
-  if (FreeLibrary(handle)) {
-    return 0;
-  }
-  else {
-    int error;
-
-    error = GetLastError();
-    sprintf(dlerr_data, "FreeLibrary returned %d.", error);
-    dlerr_ptr = dlerr_data;
-    return -1;
-  }
-}
-
-void *dlsym (void *handle, const char *name)
-{
-  FARPROC fp;
-
-  fp = GetProcAddress(handle, name);
-  if (fp == NULL) {
-    int error;
-
-    error = GetLastError();
-    sprintf(dlerr_data, "GetProcAddress returned %d.", error);
-    dlerr_ptr = dlerr_data;
-  }
-  return fp;
-}
-
-char *dlerror (void)
-{
-  if (dlerr_ptr != NULL) {
-    dlerr_ptr = NULL;
-    return dlerr_data;
-  }
-  else {
-    return NULL;
-  }
-}
-
-#endif /* _WIN32 */
-
 Evas_List *evas_modules = NULL;
 static Evas_List *evas_module_paths = NULL;
 
@@ -311,7 +236,21 @@
    if (em->loaded) return 1;
 
 /*   printf("LOAD %s\n", em->name); */
-#ifdef _WIN32
+#if defined(__CEGCC__) || defined(__MINGW32CE__)
+   switch (em->type) {
+     case EVAS_MODULE_TYPE_IMAGE_SAVER:
+        snprintf(buf, sizeof(buf), "%s/%s/%s/saver_%s.dll", em->path, 
em->name, MODULE_ARCH, em->name);
+        break;
+     case EVAS_MODULE_TYPE_IMAGE_LOADER:
+        snprintf(buf, sizeof(buf), "%s/%s/%s/loader_%s.dll", em->path, 
em->name, MODULE_ARCH, em->name);
+        break;
+     case EVAS_MODULE_TYPE_ENGINE:
+        snprintf(buf, sizeof(buf), "%s/%s/%s/engine_%s.dll", em->path, 
em->name, MODULE_ARCH, em->name);
+        break;
+     default:
+        snprintf(buf, sizeof(buf), "%s/%s/%s/object_%s.dll", em->path, 
em->name, MODULE_ARCH, em->name);
+   }
+#elif _WIN32
    snprintf(buf, sizeof(buf), "%s/%s/%s/module.dll", em->path, em->name, 
MODULE_ARCH);
 #else
    snprintf(buf, sizeof(buf), "%s/%s/%s/module.so", em->path, em->name, 
MODULE_ARCH);



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to