aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/lib/file
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libraries/evas/src/lib/file/Makefile.am22
-rw-r--r--libraries/evas/src/lib/file/Makefile.in682
-rw-r--r--libraries/evas/src/lib/file/evas_module.c582
-rw-r--r--libraries/evas/src/lib/file/evas_module.h94
-rw-r--r--libraries/evas/src/lib/file/evas_path.c152
-rw-r--r--libraries/evas/src/lib/file/evas_path.h15
6 files changed, 0 insertions, 1547 deletions
diff --git a/libraries/evas/src/lib/file/Makefile.am b/libraries/evas/src/lib/file/Makefile.am
deleted file mode 100644
index 84b12d9..0000000
--- a/libraries/evas/src/lib/file/Makefile.am
+++ /dev/null
@@ -1,22 +0,0 @@
1
2MAINTAINERCLEANFILES = Makefile.in
3
4AM_CPPFLAGS = \
5-I. \
6-I$(top_srcdir)/src/lib \
7-I$(top_srcdir)/src/lib/include \
8-DPACKAGE_BIN_DIR=\"$(bindir)\" \
9-DPACKAGE_LIB_DIR=\"$(libdir)\" \
10-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
11@FREETYPE_CFLAGS@ \
12@EINA_CFLAGS@ \
13@EVIL_CFLAGS@ \
14@PIXMAN_CFLAGS@
15
16noinst_LTLIBRARIES = libevas_file.la
17libevas_file_la_SOURCES = \
18evas_path.c \
19evas_module.c
20libevas_file_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@
21
22EXTRA_DIST = evas_module.h evas_path.h
diff --git a/libraries/evas/src/lib/file/Makefile.in b/libraries/evas/src/lib/file/Makefile.in
deleted file mode 100644
index 52d3608..0000000
--- a/libraries/evas/src/lib/file/Makefile.in
+++ /dev/null
@@ -1,682 +0,0 @@
1# Makefile.in generated by automake 1.11.1 from Makefile.am.
2# @configure_input@
3
4# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
6# Inc.
7# This Makefile.in is free software; the Free Software Foundation
8# gives unlimited permission to copy and/or distribute it,
9# with or without modifications, as long as this notice is preserved.
10
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
13# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
14# PARTICULAR PURPOSE.
15
16@SET_MAKE@
17
18VPATH = @srcdir@
19pkgdatadir = $(datadir)/@PACKAGE@
20pkgincludedir = $(includedir)/@PACKAGE@
21pkglibdir = $(libdir)/@PACKAGE@
22pkglibexecdir = $(libexecdir)/@PACKAGE@
23am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
24install_sh_DATA = $(install_sh) -c -m 644
25install_sh_PROGRAM = $(install_sh) -c
26install_sh_SCRIPT = $(install_sh) -c
27INSTALL_HEADER = $(INSTALL_DATA)
28transform = $(program_transform_name)
29NORMAL_INSTALL = :
30PRE_INSTALL = :
31POST_INSTALL = :
32NORMAL_UNINSTALL = :
33PRE_UNINSTALL = :
34POST_UNINSTALL = :
35build_triplet = @build@
36host_triplet = @host@
37subdir = src/lib/file
38DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
39ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
40am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \
41 $(top_srcdir)/m4/efl_coverage.m4 \
42 $(top_srcdir)/m4/efl_doxygen.m4 \
43 $(top_srcdir)/m4/efl_fnmatch.m4 \
44 $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \
45 $(top_srcdir)/m4/evas_check_engine.m4 \
46 $(top_srcdir)/m4/evas_check_loader.m4 \
47 $(top_srcdir)/m4/evas_converter.m4 \
48 $(top_srcdir)/m4/evas_dither.m4 \
49 $(top_srcdir)/m4/evas_scaler.m4 $(top_srcdir)/m4/libtool.m4 \
50 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
51 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
52 $(top_srcdir)/configure.ac
53am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
54 $(ACLOCAL_M4)
55mkinstalldirs = $(install_sh) -d
56CONFIG_HEADER = $(top_builddir)/config.h
57CONFIG_CLEAN_FILES =
58CONFIG_CLEAN_VPATH_FILES =
59LTLIBRARIES = $(noinst_LTLIBRARIES)
60libevas_file_la_DEPENDENCIES =
61am_libevas_file_la_OBJECTS = evas_path.lo evas_module.lo
62libevas_file_la_OBJECTS = $(am_libevas_file_la_OBJECTS)
63AM_V_lt = $(am__v_lt_$(V))
64am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
65am__v_lt_0 = --silent
66DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
67depcomp = $(SHELL) $(top_srcdir)/depcomp
68am__depfiles_maybe = depfiles
69am__mv = mv -f
70COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
71 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
72LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
73 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
74 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
75 $(AM_CFLAGS) $(CFLAGS)
76AM_V_CC = $(am__v_CC_$(V))
77am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
78am__v_CC_0 = @echo " CC " $@;
79AM_V_at = $(am__v_at_$(V))
80am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
81am__v_at_0 = @
82CCLD = $(CC)
83LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
84 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
85 $(AM_LDFLAGS) $(LDFLAGS) -o $@
86AM_V_CCLD = $(am__v_CCLD_$(V))
87am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
88am__v_CCLD_0 = @echo " CCLD " $@;
89AM_V_GEN = $(am__v_GEN_$(V))
90am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
91am__v_GEN_0 = @echo " GEN " $@;
92SOURCES = $(libevas_file_la_SOURCES)
93DIST_SOURCES = $(libevas_file_la_SOURCES)
94ETAGS = etags
95CTAGS = ctags
96DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
97ACLOCAL = @ACLOCAL@
98ALLOCA = @ALLOCA@
99AMTAR = @AMTAR@
100AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
101AR = @AR@
102AS = @AS@
103AUTOCONF = @AUTOCONF@
104AUTOHEADER = @AUTOHEADER@
105AUTOMAKE = @AUTOMAKE@
106AWK = @AWK@
107CC = @CC@
108CCDEPMODE = @CCDEPMODE@
109CFLAGS = @CFLAGS@
110CHECK_CFLAGS = @CHECK_CFLAGS@
111CHECK_LIBS = @CHECK_LIBS@
112CPP = @CPP@
113CPPFLAGS = @CPPFLAGS@
114CXX = @CXX@
115CXXCPP = @CXXCPP@
116CXXDEPMODE = @CXXDEPMODE@
117CXXFLAGS = @CXXFLAGS@
118CYGPATH_W = @CYGPATH_W@
119DEFS = @DEFS@
120DEPDIR = @DEPDIR@
121DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
122DIRECTFB_LIBS = @DIRECTFB_LIBS@
123DLLTOOL = @DLLTOOL@
124DSYMUTIL = @DSYMUTIL@
125DUMPBIN = @DUMPBIN@
126ECHO_C = @ECHO_C@
127ECHO_N = @ECHO_N@
128ECHO_T = @ECHO_T@
129ECORE_EVAS_CFLAGS = @ECORE_EVAS_CFLAGS@
130ECORE_EVAS_LIBS = @ECORE_EVAS_LIBS@
131EDB_CFLAGS = @EDB_CFLAGS@
132EDB_LIBS = @EDB_LIBS@
133EDJE_CFLAGS = @EDJE_CFLAGS@
134EDJE_LIBS = @EDJE_LIBS@
135EET_CFLAGS = @EET_CFLAGS@
136EET_LIBS = @EET_LIBS@
137EFL_COVERAGE_CFLAGS = @EFL_COVERAGE_CFLAGS@
138EFL_COVERAGE_LIBS = @EFL_COVERAGE_LIBS@
139EFL_FNMATCH_LIBS = @EFL_FNMATCH_LIBS@
140EGREP = @EGREP@
141EINA_CFLAGS = @EINA_CFLAGS@
142EINA_LIBS = @EINA_LIBS@
143EVAS_CFLAGS = @EVAS_CFLAGS@
144EVAS_LIBS = @EVAS_LIBS@
145EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
146EVIL_CFLAGS = @EVIL_CFLAGS@
147EVIL_LIBS = @EVIL_LIBS@
148EXEEXT = @EXEEXT@
149EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
150EXOTIC_LIBS = @EXOTIC_LIBS@
151FGREP = @FGREP@
152FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
153FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
154FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
155FREETYPE_LIBS = @FREETYPE_LIBS@
156FRIBIDI_CFLAGS = @FRIBIDI_CFLAGS@
157FRIBIDI_LIBS = @FRIBIDI_LIBS@
158GL_EET_CFLAGS = @GL_EET_CFLAGS@
159GL_EET_LIBS = @GL_EET_LIBS@
160GREP = @GREP@
161HARFBUZZ_CFLAGS = @HARFBUZZ_CFLAGS@
162HARFBUZZ_LIBS = @HARFBUZZ_LIBS@
163INSTALL = @INSTALL@
164INSTALL_DATA = @INSTALL_DATA@
165INSTALL_PROGRAM = @INSTALL_PROGRAM@
166INSTALL_SCRIPT = @INSTALL_SCRIPT@
167INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
168LD = @LD@
169LDFLAGS = @LDFLAGS@
170LIBOBJS = @LIBOBJS@
171LIBS = @LIBS@
172LIBTOOL = @LIBTOOL@
173LINEBREAK_CFLAGS = @LINEBREAK_CFLAGS@
174LINEBREAK_LIBS = @LINEBREAK_LIBS@
175LIPO = @LIPO@
176LN_S = @LN_S@
177LTLIBOBJS = @LTLIBOBJS@
178MAKEINFO = @MAKEINFO@
179MKDIR_P = @MKDIR_P@
180MODULE_ARCH = @MODULE_ARCH@
181NM = @NM@
182NMEDIT = @NMEDIT@
183OBJC = @OBJC@
184OBJCDEPMODE = @OBJCDEPMODE@
185OBJCFLAGS = @OBJCFLAGS@
186OBJDUMP = @OBJDUMP@
187OBJEXT = @OBJEXT@
188OTOOL = @OTOOL@
189OTOOL64 = @OTOOL64@
190PACKAGE = @PACKAGE@
191PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
192PACKAGE_NAME = @PACKAGE_NAME@
193PACKAGE_STRING = @PACKAGE_STRING@
194PACKAGE_TARNAME = @PACKAGE_TARNAME@
195PACKAGE_URL = @PACKAGE_URL@
196PACKAGE_VERSION = @PACKAGE_VERSION@
197PATH_SEPARATOR = @PATH_SEPARATOR@
198PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
199PIXMAN_LIBS = @PIXMAN_LIBS@
200PKG_CONFIG = @PKG_CONFIG@
201PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
202PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
203PNG_CFLAGS = @PNG_CFLAGS@
204PNG_LIBS = @PNG_LIBS@
205RANLIB = @RANLIB@
206SDL_CFLAGS = @SDL_CFLAGS@
207SDL_LIBS = @SDL_LIBS@
208SED = @SED@
209SET_MAKE = @SET_MAKE@
210SHELL = @SHELL@
211SHM_OPEN_LINK = @SHM_OPEN_LINK@
212STRIP = @STRIP@
213SVG_CFLAGS = @SVG_CFLAGS@
214SVG_LIBS = @SVG_LIBS@
215VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
216VALGRIND_LIBS = @VALGRIND_LIBS@
217VERSION = @VERSION@
218VMAJ = @VMAJ@
219WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
220WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
221XCB_CFLAGS = @XCB_CFLAGS@
222XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
223XCB_GL_LIBS = @XCB_GL_LIBS@
224XCB_LIBS = @XCB_LIBS@
225XEXT_CFLAGS = @XEXT_CFLAGS@
226XEXT_LIBS = @XEXT_LIBS@
227XMKMF = @XMKMF@
228X_CFLAGS = @X_CFLAGS@
229X_EXTRA_LIBS = @X_EXTRA_LIBS@
230X_LIBS = @X_LIBS@
231X_PRE_LIBS = @X_PRE_LIBS@
232abs_builddir = @abs_builddir@
233abs_srcdir = @abs_srcdir@
234abs_top_builddir = @abs_top_builddir@
235abs_top_srcdir = @abs_top_srcdir@
236ac_ct_CC = @ac_ct_CC@
237ac_ct_CXX = @ac_ct_CXX@
238ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
239ac_ct_OBJC = @ac_ct_OBJC@
240altivec_cflags = @altivec_cflags@
241am__include = @am__include@
242am__leading_dot = @am__leading_dot@
243am__quote = @am__quote@
244am__tar = @am__tar@
245am__untar = @am__untar@
246bindir = @bindir@
247build = @build@
248build_alias = @build_alias@
249build_cpu = @build_cpu@
250build_os = @build_os@
251build_vendor = @build_vendor@
252builddir = @builddir@
253datadir = @datadir@
254datarootdir = @datarootdir@
255dlopen_libs = @dlopen_libs@
256docdir = @docdir@
257dvidir = @dvidir@
258edje_cc = @edje_cc@
259efl_doxygen = @efl_doxygen@
260efl_have_doxygen = @efl_have_doxygen@
261evas_engine_buffer_cflags = @evas_engine_buffer_cflags@
262evas_engine_buffer_libs = @evas_engine_buffer_libs@
263evas_engine_direct3d_cflags = @evas_engine_direct3d_cflags@
264evas_engine_direct3d_libs = @evas_engine_direct3d_libs@
265evas_engine_directfb_cflags = @evas_engine_directfb_cflags@
266evas_engine_directfb_libs = @evas_engine_directfb_libs@
267evas_engine_fb_cflags = @evas_engine_fb_cflags@
268evas_engine_fb_libs = @evas_engine_fb_libs@
269evas_engine_gl_cocoa_cflags = @evas_engine_gl_cocoa_cflags@
270evas_engine_gl_cocoa_libs = @evas_engine_gl_cocoa_libs@
271evas_engine_gl_common_libs = @evas_engine_gl_common_libs@
272evas_engine_gl_sdl_cflags = @evas_engine_gl_sdl_cflags@
273evas_engine_gl_sdl_libs = @evas_engine_gl_sdl_libs@
274evas_engine_gl_xcb_cflags = @evas_engine_gl_xcb_cflags@
275evas_engine_gl_xcb_libs = @evas_engine_gl_xcb_libs@
276evas_engine_gl_xlib_cflags = @evas_engine_gl_xlib_cflags@
277evas_engine_gl_xlib_libs = @evas_engine_gl_xlib_libs@
278evas_engine_psl1ght_cflags = @evas_engine_psl1ght_cflags@
279evas_engine_psl1ght_libs = @evas_engine_psl1ght_libs@
280evas_engine_software_16_ddraw_cflags = @evas_engine_software_16_ddraw_cflags@
281evas_engine_software_16_ddraw_libs = @evas_engine_software_16_ddraw_libs@
282evas_engine_software_16_sdl_cflags = @evas_engine_software_16_sdl_cflags@
283evas_engine_software_16_sdl_libs = @evas_engine_software_16_sdl_libs@
284evas_engine_software_16_wince_cflags = @evas_engine_software_16_wince_cflags@
285evas_engine_software_16_wince_libs = @evas_engine_software_16_wince_libs@
286evas_engine_software_16_x11_cflags = @evas_engine_software_16_x11_cflags@
287evas_engine_software_16_x11_libs = @evas_engine_software_16_x11_libs@
288evas_engine_software_8_x11_cflags = @evas_engine_software_8_x11_cflags@
289evas_engine_software_8_x11_libs = @evas_engine_software_8_x11_libs@
290evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
291evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
292evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
293evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
294evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
295evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
296evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
297evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
298evas_engine_wayland_egl_cflags = @evas_engine_wayland_egl_cflags@
299evas_engine_wayland_egl_libs = @evas_engine_wayland_egl_libs@
300evas_engine_wayland_shm_cflags = @evas_engine_wayland_shm_cflags@
301evas_engine_wayland_shm_libs = @evas_engine_wayland_shm_libs@
302evas_image_loader_bmp_cflags = @evas_image_loader_bmp_cflags@
303evas_image_loader_bmp_libs = @evas_image_loader_bmp_libs@
304evas_image_loader_edb_cflags = @evas_image_loader_edb_cflags@
305evas_image_loader_edb_libs = @evas_image_loader_edb_libs@
306evas_image_loader_eet_cflags = @evas_image_loader_eet_cflags@
307evas_image_loader_eet_libs = @evas_image_loader_eet_libs@
308evas_image_loader_generic_cflags = @evas_image_loader_generic_cflags@
309evas_image_loader_generic_libs = @evas_image_loader_generic_libs@
310evas_image_loader_gif_cflags = @evas_image_loader_gif_cflags@
311evas_image_loader_gif_libs = @evas_image_loader_gif_libs@
312evas_image_loader_ico_cflags = @evas_image_loader_ico_cflags@
313evas_image_loader_ico_libs = @evas_image_loader_ico_libs@
314evas_image_loader_jpeg_cflags = @evas_image_loader_jpeg_cflags@
315evas_image_loader_jpeg_libs = @evas_image_loader_jpeg_libs@
316evas_image_loader_pmaps_cflags = @evas_image_loader_pmaps_cflags@
317evas_image_loader_pmaps_libs = @evas_image_loader_pmaps_libs@
318evas_image_loader_png_cflags = @evas_image_loader_png_cflags@
319evas_image_loader_png_libs = @evas_image_loader_png_libs@
320evas_image_loader_psd_cflags = @evas_image_loader_psd_cflags@
321evas_image_loader_psd_libs = @evas_image_loader_psd_libs@
322evas_image_loader_svg_cflags = @evas_image_loader_svg_cflags@
323evas_image_loader_svg_libs = @evas_image_loader_svg_libs@
324evas_image_loader_tga_cflags = @evas_image_loader_tga_cflags@
325evas_image_loader_tga_libs = @evas_image_loader_tga_libs@
326evas_image_loader_tiff_cflags = @evas_image_loader_tiff_cflags@
327evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
328evas_image_loader_wbmp_cflags = @evas_image_loader_wbmp_cflags@
329evas_image_loader_wbmp_libs = @evas_image_loader_wbmp_libs@
330evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
331evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
332exec_prefix = @exec_prefix@
333have_evas_engine_gl_x11 = @have_evas_engine_gl_x11@
334have_evas_engine_gl_xcb = @have_evas_engine_gl_xcb@
335have_evas_engine_gl_xlib = @have_evas_engine_gl_xlib@
336have_evas_engine_software_x11 = @have_evas_engine_software_x11@
337have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
338have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
339have_lcov = @have_lcov@
340host = @host@
341host_alias = @host_alias@
342host_cpu = @host_cpu@
343host_os = @host_os@
344host_vendor = @host_vendor@
345htmldir = @htmldir@
346includedir = @includedir@
347infodir = @infodir@
348install_sh = @install_sh@
349libdir = @libdir@
350libexecdir = @libexecdir@
351localedir = @localedir@
352localstatedir = @localstatedir@
353lt_ECHO = @lt_ECHO@
354lt_enable_auto_import = @lt_enable_auto_import@
355mandir = @mandir@
356mkdir_p = @mkdir_p@
357oldincludedir = @oldincludedir@
358pdfdir = @pdfdir@
359pkgconfig_requires_private = @pkgconfig_requires_private@
360prefix = @prefix@
361program_transform_name = @program_transform_name@
362psdir = @psdir@
363pthread_cflags = @pthread_cflags@
364pthread_libs = @pthread_libs@
365release_info = @release_info@
366requirement_evas = @requirement_evas@
367sbindir = @sbindir@
368sharedstatedir = @sharedstatedir@
369srcdir = @srcdir@
370sysconfdir = @sysconfdir@
371target_alias = @target_alias@
372top_build_prefix = @top_build_prefix@
373top_builddir = @top_builddir@
374top_srcdir = @top_srcdir@
375version_info = @version_info@
376MAINTAINERCLEANFILES = Makefile.in
377AM_CPPFLAGS = \
378-I. \
379-I$(top_srcdir)/src/lib \
380-I$(top_srcdir)/src/lib/include \
381-DPACKAGE_BIN_DIR=\"$(bindir)\" \
382-DPACKAGE_LIB_DIR=\"$(libdir)\" \
383-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
384@FREETYPE_CFLAGS@ \
385@EINA_CFLAGS@ \
386@EVIL_CFLAGS@ \
387@PIXMAN_CFLAGS@
388
389noinst_LTLIBRARIES = libevas_file.la
390libevas_file_la_SOURCES = \
391evas_path.c \
392evas_module.c
393
394libevas_file_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@
395EXTRA_DIST = evas_module.h evas_path.h
396all: all-am
397
398.SUFFIXES:
399.SUFFIXES: .c .lo .o .obj
400$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
401 @for dep in $?; do \
402 case '$(am__configure_deps)' in \
403 *$$dep*) \
404 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
405 && { if test -f $@; then exit 0; else break; fi; }; \
406 exit 1;; \
407 esac; \
408 done; \
409 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/lib/file/Makefile'; \
410 $(am__cd) $(top_srcdir) && \
411 $(AUTOMAKE) --gnu src/lib/file/Makefile
412.PRECIOUS: Makefile
413Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
414 @case '$?' in \
415 *config.status*) \
416 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
417 *) \
418 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
419 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
420 esac;
421
422$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
423 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
424
425$(top_srcdir)/configure: $(am__configure_deps)
426 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
427$(ACLOCAL_M4): $(am__aclocal_m4_deps)
428 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
429$(am__aclocal_m4_deps):
430
431clean-noinstLTLIBRARIES:
432 -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
433 @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
434 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
435 test "$$dir" != "$$p" || dir=.; \
436 echo "rm -f \"$${dir}/so_locations\""; \
437 rm -f "$${dir}/so_locations"; \
438 done
439libevas_file.la: $(libevas_file_la_OBJECTS) $(libevas_file_la_DEPENDENCIES)
440 $(AM_V_CCLD)$(LINK) $(libevas_file_la_OBJECTS) $(libevas_file_la_LIBADD) $(LIBS)
441
442mostlyclean-compile:
443 -rm -f *.$(OBJEXT)
444
445distclean-compile:
446 -rm -f *.tab.c
447
448@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_module.Plo@am__quote@
449@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_path.Plo@am__quote@
450
451.c.o:
452@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
453@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
454@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
455@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
456@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
457@am__fastdepCC_FALSE@ $(COMPILE) -c $<
458
459.c.obj:
460@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
461@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
462@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
463@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
464@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
465@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
466
467.c.lo:
468@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
469@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
470@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
471@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
472@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
473@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
474
475mostlyclean-libtool:
476 -rm -f *.lo
477
478clean-libtool:
479 -rm -rf .libs _libs
480
481ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
482 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
483 unique=`for i in $$list; do \
484 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
485 done | \
486 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
487 END { if (nonempty) { for (i in files) print i; }; }'`; \
488 mkid -fID $$unique
489tags: TAGS
490
491TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
492 $(TAGS_FILES) $(LISP)
493 set x; \
494 here=`pwd`; \
495 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
496 unique=`for i in $$list; do \
497 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
498 done | \
499 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
500 END { if (nonempty) { for (i in files) print i; }; }'`; \
501 shift; \
502 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
503 test -n "$$unique" || unique=$$empty_fix; \
504 if test $$# -gt 0; then \
505 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
506 "$$@" $$unique; \
507 else \
508 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
509 $$unique; \
510 fi; \
511 fi
512ctags: CTAGS
513CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
514 $(TAGS_FILES) $(LISP)
515 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
516 unique=`for i in $$list; do \
517 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
518 done | \
519 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
520 END { if (nonempty) { for (i in files) print i; }; }'`; \
521 test -z "$(CTAGS_ARGS)$$unique" \
522 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
523 $$unique
524
525GTAGS:
526 here=`$(am__cd) $(top_builddir) && pwd` \
527 && $(am__cd) $(top_srcdir) \
528 && gtags -i $(GTAGS_ARGS) "$$here"
529
530distclean-tags:
531 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
532
533distdir: $(DISTFILES)
534 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
535 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
536 list='$(DISTFILES)'; \
537 dist_files=`for file in $$list; do echo $$file; done | \
538 sed -e "s|^$$srcdirstrip/||;t" \
539 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
540 case $$dist_files in \
541 */*) $(MKDIR_P) `echo "$$dist_files" | \
542 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
543 sort -u` ;; \
544 esac; \
545 for file in $$dist_files; do \
546 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
547 if test -d $$d/$$file; then \
548 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
549 if test -d "$(distdir)/$$file"; then \
550 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
551 fi; \
552 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
553 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
554 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
555 fi; \
556 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
557 else \
558 test -f "$(distdir)/$$file" \
559 || cp -p $$d/$$file "$(distdir)/$$file" \
560 || exit 1; \
561 fi; \
562 done
563check-am: all-am
564check: check-am
565all-am: Makefile $(LTLIBRARIES)
566installdirs:
567install: install-am
568install-exec: install-exec-am
569install-data: install-data-am
570uninstall: uninstall-am
571
572install-am: all-am
573 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
574
575installcheck: installcheck-am
576install-strip:
577 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
578 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
579 `test -z '$(STRIP)' || \
580 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
581mostlyclean-generic:
582
583clean-generic:
584
585distclean-generic:
586 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
587 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
588
589maintainer-clean-generic:
590 @echo "This command is intended for maintainers to use"
591 @echo "it deletes files that may require special tools to rebuild."
592 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
593clean: clean-am
594
595clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
596 mostlyclean-am
597
598distclean: distclean-am
599 -rm -rf ./$(DEPDIR)
600 -rm -f Makefile
601distclean-am: clean-am distclean-compile distclean-generic \
602 distclean-tags
603
604dvi: dvi-am
605
606dvi-am:
607
608html: html-am
609
610html-am:
611
612info: info-am
613
614info-am:
615
616install-data-am:
617
618install-dvi: install-dvi-am
619
620install-dvi-am:
621
622install-exec-am:
623
624install-html: install-html-am
625
626install-html-am:
627
628install-info: install-info-am
629
630install-info-am:
631
632install-man:
633
634install-pdf: install-pdf-am
635
636install-pdf-am:
637
638install-ps: install-ps-am
639
640install-ps-am:
641
642installcheck-am:
643
644maintainer-clean: maintainer-clean-am
645 -rm -rf ./$(DEPDIR)
646 -rm -f Makefile
647maintainer-clean-am: distclean-am maintainer-clean-generic
648
649mostlyclean: mostlyclean-am
650
651mostlyclean-am: mostlyclean-compile mostlyclean-generic \
652 mostlyclean-libtool
653
654pdf: pdf-am
655
656pdf-am:
657
658ps: ps-am
659
660ps-am:
661
662uninstall-am:
663
664.MAKE: install-am install-strip
665
666.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
667 clean-libtool clean-noinstLTLIBRARIES ctags distclean \
668 distclean-compile distclean-generic distclean-libtool \
669 distclean-tags distdir dvi dvi-am html html-am info info-am \
670 install install-am install-data install-data-am install-dvi \
671 install-dvi-am install-exec install-exec-am install-html \
672 install-html-am install-info install-info-am install-man \
673 install-pdf install-pdf-am install-ps install-ps-am \
674 install-strip installcheck installcheck-am installdirs \
675 maintainer-clean maintainer-clean-generic mostlyclean \
676 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
677 pdf pdf-am ps ps-am tags uninstall uninstall-am
678
679
680# Tell versions [3.59,3.63) of GNU make to not export all variables.
681# Otherwise a system limit (for SysV at least) may be exceeded.
682.NOEXPORT:
diff --git a/libraries/evas/src/lib/file/evas_module.c b/libraries/evas/src/lib/file/evas_module.c
deleted file mode 100644
index dc0d26b..0000000
--- a/libraries/evas/src/lib/file/evas_module.c
+++ /dev/null
@@ -1,582 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include <config.h>
3#endif
4
5#include <string.h>
6
7#include <evas_common.h>
8#include <evas_private.h>
9#include <evas_module.h>
10
11
12static Eina_Hash *evas_modules[4] = {
13 NULL,
14 NULL,
15 NULL,
16 NULL
17};
18
19static Eina_List *eina_evas_modules = NULL;
20static Eina_List *evas_module_paths = NULL;
21static Eina_Array *evas_engines = NULL;
22
23static Eina_List *
24_evas_module_append(Eina_List *list, char *path)
25{
26 if (path)
27 {
28 if (evas_file_path_exists(path))
29 list = eina_list_append(list, path);
30 else
31 free(path);
32 }
33 return list;
34}
35
36/* this will alloc a list of paths to search for the modules */
37/* by now these are: */
38/* 1. ~/.evas/modules/ */
39/* 2. $(EVAS_MODULE_DIR)/evas/modules/ */
40/* 3. dladdr/evas/modules/ */
41/* 4. PREFIX/evas/modules/ */
42void
43evas_module_paths_init(void)
44{
45 char *path;
46
47 /* 1. ~/.evas/modules/ */
48 path = eina_module_environment_path_get("HOME", "/.evas/modules");
49 evas_module_paths = _evas_module_append(evas_module_paths, path);
50
51 /* 2. $(EVAS_MODULE_DIR)/evas/modules/ */
52 path = eina_module_environment_path_get("EVAS_MODULES_DIR", "/evas/modules");
53 if (eina_list_search_unsorted(evas_module_paths, (Eina_Compare_Cb) strcmp, path))
54 free(path);
55 else
56 evas_module_paths = _evas_module_append(evas_module_paths, path);
57
58 /* 3. libevas.so/../evas/modules/ */
59 path = eina_module_symbol_path_get(evas_module_paths_init, "/evas/modules");
60 if (eina_list_search_unsorted(evas_module_paths, (Eina_Compare_Cb) strcmp, path))
61 free(path);
62 else
63 evas_module_paths = _evas_module_append(evas_module_paths, path);
64
65 /* 4. PREFIX/evas/modules/ */
66#ifndef _MSC_VER
67 path = PACKAGE_LIB_DIR "/evas/modules";
68 if (!eina_list_search_unsorted(evas_module_paths, (Eina_Compare_Cb) strcmp, path))
69 {
70 path = strdup(path);
71 if (path)
72 evas_module_paths = _evas_module_append(evas_module_paths, path);
73 }
74#endif
75}
76
77#define EVAS_EINA_STATIC_MODULE_DEFINE(Tn, Name) \
78 Eina_Bool evas_##Tn##_##Name##_init(void); \
79 void evas_##Tn##_##Name##_shutdown(void);
80
81#define EVAS_EINA_STATIC_MODULE_USE(Tn, Name) \
82 { evas_##Tn##_##Name##_init, evas_##Tn##_##Name##_shutdown }
83
84EVAS_EINA_STATIC_MODULE_DEFINE(engine, buffer);
85EVAS_EINA_STATIC_MODULE_DEFINE(engine, direct3d);
86EVAS_EINA_STATIC_MODULE_DEFINE(engine, directfb);
87EVAS_EINA_STATIC_MODULE_DEFINE(engine, fb);
88EVAS_EINA_STATIC_MODULE_DEFINE(engine, gl_x11);
89EVAS_EINA_STATIC_MODULE_DEFINE(engine, gl_sdl);
90EVAS_EINA_STATIC_MODULE_DEFINE(engine, psl1ght);
91EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16);
92EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_ddraw);
93EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_sdl);
94EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_wince);
95EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_x11);
96EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_8);
97EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_8_x11);
98EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_ddraw);
99EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_gdi);
100EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_generic);
101EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_x11);
102EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, bmp);
103EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, edb);
104EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, eet);
105EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, generic);
106EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, gif);
107EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, ico);
108EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, jpeg);
109EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, pmaps);
110EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, png);
111EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, psd);
112EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, svg);
113EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, tga);
114EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, tiff);
115EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, wbmp);
116EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, xpm);
117EVAS_EINA_STATIC_MODULE_DEFINE(image_saver, edb);
118EVAS_EINA_STATIC_MODULE_DEFINE(image_saver, eet);
119EVAS_EINA_STATIC_MODULE_DEFINE(image_saver, jpeg);
120EVAS_EINA_STATIC_MODULE_DEFINE(image_saver, png);
121EVAS_EINA_STATIC_MODULE_DEFINE(image_saver, tiff);
122
123static const struct {
124 Eina_Bool (*init)(void);
125 void (*shutdown)(void);
126} evas_static_module[] = {
127#ifdef EVAS_STATIC_BUILD_BUFFER
128 EVAS_EINA_STATIC_MODULE_USE(engine, buffer),
129#endif
130#ifdef EVAS_STATIC_BUILD_DIRECT3D
131 EVAS_EINA_STATIC_MODULE_USE(engine, direct3d),
132#endif
133#ifdef EVAS_STATIC_BUILD_DIRECTFB
134 EVAS_EINA_STATIC_MODULE_USE(engine, directfb),
135#endif
136#ifdef EVAS_STATIC_BUILD_FB
137 EVAS_EINA_STATIC_MODULE_USE(engine, fb),
138#endif
139#ifdef EVAS_STATIC_BUILD_GL_X11
140 EVAS_EINA_STATIC_MODULE_USE(engine, gl_x11),
141#endif
142#ifdef EVAS_STATIC_BUILD_GL_SDL
143 EVAS_EINA_STATIC_MODULE_USE(engine, gl_sdl),
144#endif
145#ifdef EVAS_STATIC_BUILD_PSL1GHT
146 EVAS_EINA_STATIC_MODULE_USE(engine, psl1ght),
147#endif
148#ifdef EVAS_STATIC_BUILD_SOFTWARE_16
149 EVAS_EINA_STATIC_MODULE_USE(engine, software_16),
150#endif
151#ifdef EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW
152 EVAS_EINA_STATIC_MODULE_USE(engine, software_16_ddraw),
153#endif
154#ifdef EVAS_STATIC_BUILD_SOFTWARE_16_SDL
155 EVAS_EINA_STATIC_MODULE_USE(engine, software_16_sdl),
156#endif
157#ifdef EVAS_STATIC_BUILD_SOFTWARE_16_WINCE
158 EVAS_EINA_STATIC_MODULE_USE(engine, software_16_wince),
159#endif
160#ifdef EVAS_STATIC_BUILD_SOFTWARE_16_X11
161 EVAS_EINA_STATIC_MODULE_USE(engine, software_16_x11),
162#endif
163#ifdef EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW
164 EVAS_EINA_STATIC_MODULE_USE(engine, software_ddraw),
165#endif
166#ifdef EVAS_STATIC_BUILD_SOFTWARE_16_GDI
167 EVAS_EINA_STATIC_MODULE_USE(engine, software_gdi),
168#endif
169#ifdef EVAS_STATIC_BUILD_SOFTWARE_8
170 EVAS_EINA_STATIC_MODULE_USE(engine, software_8),
171#endif
172#ifdef EVAS_STATIC_BUILD_SOFTWARE_8_X11
173 EVAS_EINA_STATIC_MODULE_USE(engine, software_8_x11),
174#endif
175#ifdef EVAS_STATIC_BUILD_SOFTWARE_GENERIC
176 EVAS_EINA_STATIC_MODULE_USE(engine, software_generic),
177#endif
178#ifdef EVAS_STATIC_BUILD_SOFTWARE_X11
179 EVAS_EINA_STATIC_MODULE_USE(engine, software_x11),
180#endif
181#ifdef EVAS_STATIC_BUILD_BMP
182 EVAS_EINA_STATIC_MODULE_USE(image_loader, bmp),
183#endif
184#ifdef EVAS_STATIC_BUILD_EDB
185 EVAS_EINA_STATIC_MODULE_USE(image_loader, edb),
186#endif
187#ifdef EVAS_STATIC_BUILD_EET
188 EVAS_EINA_STATIC_MODULE_USE(image_loader, eet),
189#endif
190#ifdef EVAS_STATIC_BUILD_GENERIC
191 EVAS_EINA_STATIC_MODULE_USE(image_loader, generic),
192#endif
193#ifdef EVAS_STATIC_BUILD_GIF
194 EVAS_EINA_STATIC_MODULE_USE(image_loader, gif),
195#endif
196#ifdef EVAS_STATIC_BUILD_ICO
197 EVAS_EINA_STATIC_MODULE_USE(image_loader, ico),
198#endif
199#ifdef EVAS_STATIC_BUILD_JPEG
200 EVAS_EINA_STATIC_MODULE_USE(image_loader, jpeg),
201#endif
202#ifdef EVAS_STATIC_BUILD_PMAPS
203 EVAS_EINA_STATIC_MODULE_USE(image_loader, pmaps),
204#endif
205#ifdef EVAS_STATIC_BUILD_PNG
206 EVAS_EINA_STATIC_MODULE_USE(image_loader, png),
207#endif
208#ifdef EVAS_STATIC_BUILD_PSD
209 EVAS_EINA_STATIC_MODULE_USE(image_loader, psd),
210#endif
211#ifdef EVAS_STATIC_BUILD_SVG
212 EVAS_EINA_STATIC_MODULE_USE(image_loader, svg),
213#endif
214#ifdef EVAS_STATIC_BUILD_TGA
215 EVAS_EINA_STATIC_MODULE_USE(image_loader, tga),
216#endif
217#ifdef EVAS_STATIC_BUILD_TIFF
218 EVAS_EINA_STATIC_MODULE_USE(image_loader, tiff),
219#endif
220#ifdef EVAS_STATIC_BUILD_WBMP
221 EVAS_EINA_STATIC_MODULE_USE(image_loader, wbmp),
222#endif
223#ifdef EVAS_STATIC_BUILD_XPM
224 EVAS_EINA_STATIC_MODULE_USE(image_loader, xpm),
225#endif
226#ifdef EVAS_STATIC_BUILD_EDB
227 EVAS_EINA_STATIC_MODULE_USE(image_saver, edb),
228#endif
229#ifdef EVAS_STATIC_BUILD_EET
230 EVAS_EINA_STATIC_MODULE_USE(image_saver, eet),
231#endif
232#if defined (EVAS_BUILD_SAVER_JPEG) && defined (EVAS_STATIC_BUILD_JPEG)
233 EVAS_EINA_STATIC_MODULE_USE(image_saver, jpeg),
234#endif
235#ifdef EVAS_STATIC_BUILD_PNG
236 EVAS_EINA_STATIC_MODULE_USE(image_saver, png),
237#endif
238#ifdef EVAS_STATIC_BUILD_TIFF
239 EVAS_EINA_STATIC_MODULE_USE(image_saver, tiff),
240#endif
241 { NULL, NULL }
242};
243
244/* this will alloc an Evas_Module struct for each module
245 * it finds on the paths */
246void
247evas_module_init(void)
248{
249 int i;
250
251 evas_module_paths_init();
252
253 evas_modules[EVAS_MODULE_TYPE_ENGINE] = eina_hash_string_small_new(/* FIXME: Add a function to cleanup stuff. */ NULL);
254 evas_modules[EVAS_MODULE_TYPE_IMAGE_LOADER] = eina_hash_string_small_new(/* FIXME: Add a function to cleanup stuff. */ NULL);
255 evas_modules[EVAS_MODULE_TYPE_IMAGE_SAVER] = eina_hash_string_small_new(/* FIXME: Add a function to cleanup stuff. */ NULL);
256 evas_modules[EVAS_MODULE_TYPE_OBJECT] = eina_hash_string_small_new(/* FIXME: Add a function to cleanup stuff. */ NULL);
257
258 evas_engines = eina_array_new(4);
259
260 for (i = 0; evas_static_module[i].init; ++i)
261 evas_static_module[i].init();
262}
263
264Eina_Bool
265evas_module_register(const Evas_Module_Api *module, Evas_Module_Type type)
266{
267 Evas_Module *em;
268
269 if ((unsigned int)type > 3) return EINA_FALSE;
270 if (!module) return EINA_FALSE;
271 if (module->version != EVAS_MODULE_API_VERSION) return EINA_FALSE;
272
273 em = eina_hash_find(evas_modules[type], module->name);
274 if (em) return EINA_FALSE;
275
276 em = calloc(1, sizeof (Evas_Module));
277 if (!em) return EINA_FALSE;
278
279 em->definition = module;
280
281 if (type == EVAS_MODULE_TYPE_ENGINE)
282 {
283 eina_array_push(evas_engines, em);
284 em->id_engine = eina_array_count(evas_engines);
285 }
286
287 eina_hash_direct_add(evas_modules[type], module->name, em);
288
289 return EINA_TRUE;
290}
291
292Eina_List *
293evas_module_engine_list(void)
294{
295 Evas_Module *em;
296 Eina_List *r = NULL;
297 Eina_Array_Iterator iterator;
298 unsigned int i;
299
300 EINA_ARRAY_ITER_NEXT(evas_engines, i, em, iterator)
301 r = eina_list_append(r, em->definition->name);
302
303 return r;
304}
305
306Eina_Bool
307evas_module_unregister(const Evas_Module_Api *module, Evas_Module_Type type)
308{
309 Evas_Module *em;
310
311 if ((unsigned int)type > 3) return EINA_FALSE;
312 if (!module) return EINA_FALSE;
313
314 em = eina_hash_find(evas_modules[type], module->name);
315 if (!em || em->definition != module) return EINA_FALSE;
316
317 if (type == EVAS_MODULE_TYPE_ENGINE)
318 eina_array_data_set(evas_engines, em->id_engine, NULL);
319
320 eina_hash_del(evas_modules[type], module->name, em);
321 free(em);
322
323 return EINA_TRUE;
324}
325
326#if defined(__CEGCC__) || defined(__MINGW32CE__)
327# define EVAS_MODULE_NAME_IMAGE_SAVER "saver_%s.dll"
328# define EVAS_MODULE_NAME_IMAGE_LOADER "loader_%s.dll"
329# define EVAS_MODULE_NAME_ENGINE "engine_%s.dll"
330# define EVAS_MODULE_NAME_OBJECT "object_%s.dll"
331#elif _WIN32
332# define EVAS_MODULE_NAME_IMAGE_SAVER "module.dll"
333# define EVAS_MODULE_NAME_IMAGE_LOADER "module.dll"
334# define EVAS_MODULE_NAME_ENGINE "module.dll"
335# define EVAS_MODULE_NAME_OBJECT "module.dll"
336#else
337# define EVAS_MODULE_NAME_IMAGE_SAVER "module.so"
338# define EVAS_MODULE_NAME_IMAGE_LOADER "module.so"
339# define EVAS_MODULE_NAME_ENGINE "module.so"
340# define EVAS_MODULE_NAME_OBJECT "module.so"
341#endif
342
343Evas_Module *
344evas_module_find_type(Evas_Module_Type type, const char *name)
345{
346 const char *path;
347 const char *format = NULL;
348 char buffer[4096];
349 Evas_Module *em;
350 Eina_Module *en;
351 Eina_List *l;
352
353 if ((unsigned int)type > 3) return NULL;
354
355 em = eina_hash_find(evas_modules[type], name);
356 if (em) return em;
357
358 EINA_LIST_FOREACH(evas_module_paths, l, path)
359 {
360 switch (type)
361 {
362 case EVAS_MODULE_TYPE_ENGINE: format = "%s/engines/%s/%s/" EVAS_MODULE_NAME_ENGINE; break;
363 case EVAS_MODULE_TYPE_IMAGE_LOADER: format = "%s/loaders/%s/%s/" EVAS_MODULE_NAME_IMAGE_LOADER; break;
364 case EVAS_MODULE_TYPE_IMAGE_SAVER: format = "%s/savers/%s/%s/" EVAS_MODULE_NAME_IMAGE_SAVER; break;
365 case EVAS_MODULE_TYPE_OBJECT: format = "%s/object/%s/%s/" EVAS_MODULE_NAME_OBJECT; break;
366 }
367
368 snprintf(buffer, sizeof (buffer), format, path, name, MODULE_ARCH, name);
369 if (!evas_file_path_is_file(buffer)) continue;
370
371 en = eina_module_new(buffer);
372 if (!en) continue;
373
374 if (!eina_module_load(en))
375 {
376 eina_module_free(en);
377 continue;
378 }
379
380 em = eina_hash_find(evas_modules[type], name);
381 if (em)
382 {
383 eina_evas_modules = eina_list_append(eina_evas_modules, en);
384 return em;
385 }
386
387 eina_module_free(en);
388 }
389
390 return NULL;
391}
392
393Evas_Module *
394evas_module_engine_get(int render_method)
395{
396 if ((render_method <= 0) ||
397 ((unsigned int)render_method > eina_array_count(evas_engines)))
398 return NULL;
399 return eina_array_data_get(evas_engines, render_method - 1);
400}
401
402void
403evas_module_foreach_image_loader(Eina_Hash_Foreach cb, const void *fdata)
404{
405 eina_hash_foreach(evas_modules[EVAS_MODULE_TYPE_IMAGE_LOADER], cb, fdata);
406}
407
408int
409evas_module_load(Evas_Module *em)
410{
411 if (em->loaded) return 1;
412 if (!em->definition) return 0;
413
414 if (!em->definition->func.open(em)) return 0;
415 em->loaded = 1;
416
417#ifdef BUILD_ASYNC_PRELOAD
418 LKI(em->lock);
419#endif
420 return 1;
421}
422
423void
424evas_module_unload(Evas_Module *em)
425{
426 if (!em->loaded)
427 return;
428 if (!em->definition)
429 return ;
430
431// for now lets not unload modules - they may still be in use.
432// em->definition->func.close(em);
433// em->loaded = 0;
434
435#ifdef BUILD_ASYNC_PRELOAD
436 LKD(em->lock);
437#endif
438}
439
440void
441evas_module_ref(Evas_Module *em)
442{
443#ifdef BUILD_ASYNC_PRELOAD
444 LKL(em->lock);
445#endif
446 em->ref++;
447#ifdef BUILD_ASYNC_PRELOAD
448 LKU(em->lock);
449#endif
450}
451
452void
453evas_module_unref(Evas_Module *em)
454{
455#ifdef BUILD_ASYNC_PRELOAD
456 LKL(em->lock);
457#endif
458 em->ref--;
459#ifdef BUILD_ASYNC_PRELOAD
460 LKU(em->lock);
461#endif
462}
463
464static int use_count = 0;
465
466void
467evas_module_use(Evas_Module *em)
468{
469 em->last_used = use_count;
470}
471
472void
473evas_module_clean(void)
474{
475 static int call_count = 0;
476/* int ago; */
477 int noclean = -1;
478/* Eina_List *l; */
479/* Evas_Module *em; */
480
481 /* only clean modules every 256 calls */
482 call_count++;
483 if (call_count <= 256) return;
484 call_count = 0;
485
486 if (noclean == -1)
487 {
488 if (getenv("EVAS_NOCLEAN"))
489 noclean = 1;
490 else
491 noclean = 0;
492 }
493 if (noclean == 1) return;
494
495 /* disable module cleaning for now - may cause instability with some modules */
496 return;
497
498 /* FIXME: Don't know what it is supposed to do. */
499/* /\* incriment use counter = 28bits *\/ */
500/* use_count++; */
501/* if (use_count > 0x0fffffff) use_count = 0; */
502
503/* /\* printf("CLEAN!\n"); *\/ */
504/* /\* go through all modules *\/ */
505/* EINA_LIST_FOREACH(evas_modules, l, em) */
506/* { */
507/* /\* printf("M %s %i %i\n", em->name, em->ref, em->loaded); *\/ */
508/* /\* if the module is refernced - skip *\/ */
509/* if ((em->ref > 0) || (!em->loaded)) continue; */
510/* /\* how many clean cycles ago was this module last used *\/ */
511/* ago = use_count - em->last_used; */
512/* if (em->last_used > use_count) ago += 0x10000000; */
513/* /\* if it was used last more than N clean cycles ago - unload *\/ */
514/* if (ago > 5) */
515/* { */
516/* /\* printf(" UNLOAD %s\n", em->name); *\/ */
517/* evas_module_unload(em); */
518/* } */
519/* } */
520}
521
522/* will dlclose all the modules loaded and free all the structs */
523void
524evas_module_shutdown(void)
525{
526 Eina_Module *en;
527 char *path;
528 int i;
529
530 for (i = 0; evas_static_module[i].shutdown; ++i)
531 evas_static_module[i].shutdown();
532
533 EINA_LIST_FREE(eina_evas_modules, en)
534 eina_module_free(en);
535
536 eina_hash_free(evas_modules[EVAS_MODULE_TYPE_ENGINE]);
537 evas_modules[EVAS_MODULE_TYPE_ENGINE] = NULL;
538 eina_hash_free(evas_modules[EVAS_MODULE_TYPE_IMAGE_LOADER]);
539 evas_modules[EVAS_MODULE_TYPE_IMAGE_LOADER] = NULL;
540 eina_hash_free(evas_modules[EVAS_MODULE_TYPE_IMAGE_SAVER]);
541 evas_modules[EVAS_MODULE_TYPE_IMAGE_SAVER] = NULL;
542 eina_hash_free(evas_modules[EVAS_MODULE_TYPE_OBJECT]);
543 evas_modules[EVAS_MODULE_TYPE_OBJECT] = NULL;
544
545 EINA_LIST_FREE(evas_module_paths, path)
546 free(path);
547
548 eina_array_free(evas_engines);
549 evas_engines = NULL;
550}
551
552EAPI int
553_evas_module_engine_inherit(Evas_Func *funcs, char *name)
554{
555 Evas_Module *em;
556
557 em = evas_module_find_type(EVAS_MODULE_TYPE_ENGINE, name);
558 if (em)
559 {
560 if (evas_module_load(em))
561 {
562 /* FIXME: no way to unref */
563 evas_module_ref(em);
564 evas_module_use(em);
565 *funcs = *((Evas_Func *)(em->functions));
566 return 1;
567 }
568 }
569 return 0;
570}
571
572static Eina_Prefix *pfx = NULL;
573
574EAPI const char *
575_evas_module_libdir_get(void)
576{
577 if (!pfx) pfx = eina_prefix_new
578 (NULL, _evas_module_libdir_get, "EVAS", "evas", NULL,
579 PACKAGE_BIN_DIR, PACKAGE_LIB_DIR, PACKAGE_DATA_DIR, PACKAGE_DATA_DIR);
580 if (!pfx) return NULL;
581 return eina_prefix_lib_get(pfx);
582}
diff --git a/libraries/evas/src/lib/file/evas_module.h b/libraries/evas/src/lib/file/evas_module.h
deleted file mode 100644
index 8699b6b..0000000
--- a/libraries/evas/src/lib/file/evas_module.h
+++ /dev/null
@@ -1,94 +0,0 @@
1#ifndef _EVAS_MODULE_H
2#define _EVAS_MODULE_H
3
4
5/* the module api version */
6#define EVAS_MODULE_API_VERSION 2
7
8
9/* the module types */
10typedef enum _Evas_Module_Type
11{
12 EVAS_MODULE_TYPE_ENGINE = 0,
13 EVAS_MODULE_TYPE_IMAGE_LOADER = 1,
14 EVAS_MODULE_TYPE_IMAGE_SAVER = 2,
15 EVAS_MODULE_TYPE_OBJECT = 3
16} Evas_Module_Type;
17
18
19typedef struct _Evas_Module_Api Evas_Module_Api;
20typedef struct _Evas_Module Evas_Module;
21typedef struct _Evas_Module_Path Evas_Module_Path;
22typedef struct _Evas_Module_Engine Evas_Module_Engine;
23typedef struct _Evas_Module_Public Evas_Module_Public;
24
25/* the module api structure, all modules should define this struct */
26struct _Evas_Module_Api
27{
28 int version;
29 const char *name;
30 const char *author;
31
32 struct
33 {
34 int (*open)(Evas_Module *);
35 void (*close)(Evas_Module *);
36 } func;
37};
38
39/* the module structure */
40struct _Evas_Module
41{
42 const Evas_Module_Api *definition;
43
44 void *functions; /* this are the functions exported by the module */
45 int id_engine; /* some internal data for the module i.e the id for engines */
46
47 int ref; /* how many refs */
48 int last_used; /* the cycle count when it was last used */
49
50 LK(lock);
51
52 unsigned char loaded : 1;
53};
54
55
56/* the internals of the module api use this struct to reference a path with a module type
57 * instead of deduce the type from the path.
58 * */
59struct _Evas_Module_Path
60{
61 Evas_Module_Type type;
62 char *path;
63};
64
65void evas_module_paths_init (void);
66void evas_module_init (void);
67Evas_Module *evas_module_find_type (Evas_Module_Type type, const char *name);
68Evas_Module *evas_module_engine_get(int render_method);
69void evas_module_foreach_image_loader(Eina_Hash_Foreach cb, const void *fdata);
70int evas_module_load (Evas_Module *em);
71void evas_module_unload (Evas_Module *em);
72void evas_module_ref (Evas_Module *em);
73void evas_module_unref (Evas_Module *em);
74void evas_module_use (Evas_Module *em);
75void evas_module_clean (void);
76void evas_module_shutdown (void);
77EAPI Eina_Bool evas_module_register (const Evas_Module_Api *module, Evas_Module_Type type);
78EAPI Eina_Bool evas_module_unregister (const Evas_Module_Api *module, Evas_Module_Type type);
79
80#define EVAS_MODULE_DEFINE(Type, Tn, Name) \
81 Eina_Bool evas_##Tn##_##Name##_init(void) \
82 { \
83 return evas_module_register(&evas_modapi, Type); \
84 } \
85 void evas_##Tn##_##Name##_shutdown(void) \
86 { \
87 evas_module_unregister(&evas_modapi, Type); \
88 }
89
90#define EVAS_EINA_MODULE_DEFINE(Tn, Name) \
91 EINA_MODULE_INIT(evas_##Tn##_##Name##_init); \
92 EINA_MODULE_SHUTDOWN(evas_##Tn##_##Name##_shutdown);
93
94#endif /* _EVAS_MODULE_H */
diff --git a/libraries/evas/src/lib/file/evas_path.c b/libraries/evas/src/lib/file/evas_path.c
deleted file mode 100644
index 2ff646d..0000000
--- a/libraries/evas/src/lib/file/evas_path.c
+++ /dev/null
@@ -1,152 +0,0 @@
1/* os dependent file code. for unix-y like fs's only for now */
2/* if your os doesn't use unix-like fs starting with "/" for the root and */
3/* the file path separator isn't "/" then you may need to help out by */
4/* adding in a new set of functions here */
5
6#ifdef HAVE_CONFIG_H
7# include <config.h>
8#endif
9
10#include <limits.h>
11#include <stdlib.h>
12#include <sys/types.h>
13#include <sys/stat.h>
14/* get the casefold feature! */
15#include <fnmatch.h>
16#ifndef _MSC_VER
17# include <unistd.h>
18# include <sys/param.h>
19#endif
20
21#ifdef HAVE_EVIL
22# include <Evil.h>
23#endif
24
25#include "evas_common.h"
26#include "evas_private.h"
27
28#ifdef _WIN32
29# define EVAS_PATH_SEPARATOR "\\"
30#else
31# define EVAS_PATH_SEPARATOR "/"
32#endif
33
34int
35evas_file_path_is_full_path(const char *path)
36{
37 if (!path) return 0;
38#if defined _WIN32_WCE
39 if (path[0] == '\\') return 1;
40#elif defined _WIN32
41 if (evil_path_is_absolute(path)) return 1;
42#else
43 if (path[0] == '/') return 1;
44#endif
45 return 0;
46}
47
48char *
49evas_file_path_join(const char *path, const char *end)
50{
51 char *res = NULL;
52 size_t len;
53
54 if ((!path) && (!end)) return NULL;
55 if (!path) return strdup(end);
56 if (!end) return strdup(path);
57 len = strlen(path);
58 len += strlen(end);
59 len += strlen(EVAS_PATH_SEPARATOR);
60 res = malloc(len + 1);
61 if (!res) return NULL;
62 strcpy(res, path);
63 strcat(res, EVAS_PATH_SEPARATOR);
64 strcat(res, end);
65 return res;
66}
67
68int
69evas_file_path_exists(const char *path)
70{
71 struct stat st;
72
73 if (!stat(path, &st)) return 1;
74 return 0;
75}
76
77int
78evas_file_path_is_file(const char *path)
79{
80 struct stat st;
81
82 if (stat(path, &st) == -1) return 0;
83 if (S_ISREG(st.st_mode)) return 1;
84 return 0;
85}
86
87int
88evas_file_path_is_dir(const char *path)
89{
90 struct stat st;
91
92 if (stat(path, &st) == -1) return 0;
93 if (S_ISDIR(st.st_mode)) return 1;
94 return 0;
95}
96
97Eina_List *
98evas_file_path_list(char *path, const char *match, int match_case)
99{
100 Eina_File_Direct_Info *info;
101 Eina_Iterator *it;
102 Eina_List *files = NULL;
103 int flags;
104
105 flags = FNM_PATHNAME;
106#ifdef FNM_CASEFOLD
107 if (!match_case)
108 flags |= FNM_CASEFOLD;
109#else
110/*#warning "Your libc does not provide case-insensitive matching!"*/
111#endif
112
113 it = eina_file_direct_ls(path);
114 EINA_ITERATOR_FOREACH(it, info)
115 {
116 if (match)
117 {
118 if (fnmatch(match, info->path + info->name_start, flags) == 0)
119 files = eina_list_append(files, strdup(info->path + info->name_start));
120 }
121 else
122 files = eina_list_append(files, strdup(info->path + info->name_start));
123 }
124 if (it) eina_iterator_free(it);
125 return files;
126}
127
128DATA64
129evas_file_modified_time(const char *file)
130{
131 struct stat st;
132
133 if (stat(file, &st) < 0) return 0;
134 if (st.st_ctime > st.st_mtime) return (DATA64)st.st_ctime;
135 else return (DATA64)st.st_mtime;
136 return 0;
137}
138
139char *
140evas_file_path_resolve(const char *file)
141{
142#if 0
143 char buf[PATH_MAX], *buf2;
144#endif
145
146 return strdup(file);
147#if 0
148 if (!realpath(file, buf)) return NULL;
149 buf2 = strdup(buf);
150 return buf2;
151#endif
152}
diff --git a/libraries/evas/src/lib/file/evas_path.h b/libraries/evas/src/lib/file/evas_path.h
deleted file mode 100644
index e0aa6bb..0000000
--- a/libraries/evas/src/lib/file/evas_path.h
+++ /dev/null
@@ -1,15 +0,0 @@
1#ifndef _EVAS_PATH_H
2#define _EVAS_PATH_H
3
4
5int evas_file_path_is_full_path (const char *path);
6char *evas_file_path_join (const char *path, const char *end);
7int evas_file_path_exists (const char *path);
8int evas_file_path_is_file (const char *path);
9int evas_file_path_is_dir (const char *path);
10Eina_List *evas_file_path_list (char *path, const char *match, int match_case);
11DATA64 evas_file_modified_time (const char *file);
12char *evas_file_path_resolve (const char *file);
13
14
15#endif /* _EVAS_PATH_H */