From 07274513e984f0b5544586c74508ccd16e7dcafa Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sun, 13 Jan 2013 17:29:19 +1000 Subject: Remove EFL, since it's been released now. --- libraries/evas/src/bin/Makefile.am | 41 - libraries/evas/src/bin/Makefile.in | 753 ------------- libraries/evas/src/bin/evas_cserve_main.c | 1683 ----------------------------- libraries/evas/src/bin/evas_cserve_tool.c | 160 --- 4 files changed, 2637 deletions(-) delete mode 100644 libraries/evas/src/bin/Makefile.am delete mode 100644 libraries/evas/src/bin/Makefile.in delete mode 100644 libraries/evas/src/bin/evas_cserve_main.c delete mode 100644 libraries/evas/src/bin/evas_cserve_tool.c (limited to 'libraries/evas/src/bin') diff --git a/libraries/evas/src/bin/Makefile.am b/libraries/evas/src/bin/Makefile.am deleted file mode 100644 index 7159eaa..0000000 --- a/libraries/evas/src/bin/Makefile.am +++ /dev/null @@ -1,41 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in - -if EVAS_CSERVE - -AM_CPPFLAGS = \ --I. \ --I$(top_srcdir)/src/lib \ --I$(top_srcdir)/src/lib/include \ --I$(top_srcdir)/src/lib/cserve \ --DPACKAGE_BIN_DIR=\"$(bindir)\" \ --DPACKAGE_LIB_DIR=\"$(libdir)\" \ --DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ -@EINA_CFLAGS@ \ -@FREETYPE_CFLAGS@ \ -@FRIBIDI_CFLAGS@ \ -@EET_CFLAGS@ \ -@FONTCONFIG_CFLAGS@ \ -@pthread_cflags@ \ -@PIXMAN_CFLAGS@ - -bin_PROGRAMS = evas_cserve evas_cserve_tool - -evas_cserve_SOURCES = \ -evas_cserve_main.c - -evas_cserve_LDADD = \ -$(top_builddir)/src/lib/libevas.la \ -@pthread_libs@ \ -@EINA_LIBS@ - -evas_cserve_tool_LDFLAGS = - -evas_cserve_tool_SOURCES = \ -evas_cserve_tool.c - -evas_cserve_tool_LDADD = \ -$(top_builddir)/src/lib/libevas.la \ -@pthread_libs@ \ -@EINA_LIBS@ - -endif diff --git a/libraries/evas/src/bin/Makefile.in b/libraries/evas/src/bin/Makefile.in deleted file mode 100644 index 1a23abe..0000000 --- a/libraries/evas/src/bin/Makefile.in +++ /dev/null @@ -1,753 +0,0 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@EVAS_CSERVE_TRUE@bin_PROGRAMS = evas_cserve$(EXEEXT) \ -@EVAS_CSERVE_TRUE@ evas_cserve_tool$(EXEEXT) -subdir = src/bin -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ - $(top_srcdir)/m4/efl_coverage.m4 \ - $(top_srcdir)/m4/efl_doxygen.m4 \ - $(top_srcdir)/m4/efl_fnmatch.m4 \ - $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ - $(top_srcdir)/m4/evas_check_engine.m4 \ - $(top_srcdir)/m4/evas_check_loader.m4 \ - $(top_srcdir)/m4/evas_converter.m4 \ - $(top_srcdir)/m4/evas_dither.m4 \ - $(top_srcdir)/m4/evas_scaler.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am__evas_cserve_SOURCES_DIST = evas_cserve_main.c -@EVAS_CSERVE_TRUE@am_evas_cserve_OBJECTS = evas_cserve_main.$(OBJEXT) -evas_cserve_OBJECTS = $(am_evas_cserve_OBJECTS) -@EVAS_CSERVE_TRUE@evas_cserve_DEPENDENCIES = \ -@EVAS_CSERVE_TRUE@ $(top_builddir)/src/lib/libevas.la -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__evas_cserve_tool_SOURCES_DIST = evas_cserve_tool.c -@EVAS_CSERVE_TRUE@am_evas_cserve_tool_OBJECTS = \ -@EVAS_CSERVE_TRUE@ evas_cserve_tool.$(OBJEXT) -evas_cserve_tool_OBJECTS = $(am_evas_cserve_tool_OBJECTS) -@EVAS_CSERVE_TRUE@evas_cserve_tool_DEPENDENCIES = \ -@EVAS_CSERVE_TRUE@ $(top_builddir)/src/lib/libevas.la -evas_cserve_tool_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(evas_cserve_tool_LDFLAGS) $(LDFLAGS) \ - -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(evas_cserve_SOURCES) $(evas_cserve_tool_SOURCES) -DIST_SOURCES = $(am__evas_cserve_SOURCES_DIST) \ - $(am__evas_cserve_tool_SOURCES_DIST) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CHECK_CFLAGS = @CHECK_CFLAGS@ -CHECK_LIBS = @CHECK_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@ -DIRECTFB_LIBS = @DIRECTFB_LIBS@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -ECORE_EVAS_CFLAGS = @ECORE_EVAS_CFLAGS@ -ECORE_EVAS_LIBS = @ECORE_EVAS_LIBS@ -EDB_CFLAGS = @EDB_CFLAGS@ -EDB_LIBS = @EDB_LIBS@ -EDJE_CFLAGS = @EDJE_CFLAGS@ -EDJE_LIBS = @EDJE_LIBS@ -EET_CFLAGS = @EET_CFLAGS@ -EET_LIBS = @EET_LIBS@ -EFL_COVERAGE_CFLAGS = @EFL_COVERAGE_CFLAGS@ -EFL_COVERAGE_LIBS = @EFL_COVERAGE_LIBS@ -EFL_FNMATCH_LIBS = @EFL_FNMATCH_LIBS@ -EGREP = @EGREP@ -EINA_CFLAGS = @EINA_CFLAGS@ -EINA_LIBS = @EINA_LIBS@ -EVAS_CFLAGS = @EVAS_CFLAGS@ -EVAS_LIBS = @EVAS_LIBS@ -EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@ -EVIL_CFLAGS = @EVIL_CFLAGS@ -EVIL_LIBS = @EVIL_LIBS@ -EXEEXT = @EXEEXT@ -EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ -EXOTIC_LIBS = @EXOTIC_LIBS@ -FGREP = @FGREP@ -FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ -FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ -FRIBIDI_CFLAGS = @FRIBIDI_CFLAGS@ -FRIBIDI_LIBS = @FRIBIDI_LIBS@ -GL_EET_CFLAGS = @GL_EET_CFLAGS@ -GL_EET_LIBS = @GL_EET_LIBS@ -GREP = @GREP@ -HARFBUZZ_CFLAGS = @HARFBUZZ_CFLAGS@ -HARFBUZZ_LIBS = @HARFBUZZ_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LINEBREAK_CFLAGS = @LINEBREAK_CFLAGS@ -LINEBREAK_LIBS = @LINEBREAK_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MODULE_ARCH = @MODULE_ARCH@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ -PIXMAN_LIBS = @PIXMAN_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PNG_CFLAGS = @PNG_CFLAGS@ -PNG_LIBS = @PNG_LIBS@ -RANLIB = @RANLIB@ -SDL_CFLAGS = @SDL_CFLAGS@ -SDL_LIBS = @SDL_LIBS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SHM_OPEN_LINK = @SHM_OPEN_LINK@ -STRIP = @STRIP@ -SVG_CFLAGS = @SVG_CFLAGS@ -SVG_LIBS = @SVG_LIBS@ -VALGRIND_CFLAGS = @VALGRIND_CFLAGS@ -VALGRIND_LIBS = @VALGRIND_LIBS@ -VERSION = @VERSION@ -VMAJ = @VMAJ@ -WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ -WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -XCB_CFLAGS = @XCB_CFLAGS@ -XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ -XCB_GL_LIBS = @XCB_GL_LIBS@ -XCB_LIBS = @XCB_LIBS@ -XEXT_CFLAGS = @XEXT_CFLAGS@ -XEXT_LIBS = @XEXT_LIBS@ -XMKMF = @XMKMF@ -X_CFLAGS = @X_CFLAGS@ -X_EXTRA_LIBS = @X_EXTRA_LIBS@ -X_LIBS = @X_LIBS@ -X_PRE_LIBS = @X_PRE_LIBS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -ac_ct_OBJC = @ac_ct_OBJC@ -altivec_cflags = @altivec_cflags@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -dlopen_libs = @dlopen_libs@ -docdir = @docdir@ -dvidir = @dvidir@ -edje_cc = @edje_cc@ -efl_doxygen = @efl_doxygen@ -efl_have_doxygen = @efl_have_doxygen@ -evas_engine_buffer_cflags = @evas_engine_buffer_cflags@ -evas_engine_buffer_libs = @evas_engine_buffer_libs@ -evas_engine_direct3d_cflags = @evas_engine_direct3d_cflags@ -evas_engine_direct3d_libs = @evas_engine_direct3d_libs@ -evas_engine_directfb_cflags = @evas_engine_directfb_cflags@ -evas_engine_directfb_libs = @evas_engine_directfb_libs@ -evas_engine_fb_cflags = @evas_engine_fb_cflags@ -evas_engine_fb_libs = @evas_engine_fb_libs@ -evas_engine_gl_cocoa_cflags = @evas_engine_gl_cocoa_cflags@ -evas_engine_gl_cocoa_libs = @evas_engine_gl_cocoa_libs@ -evas_engine_gl_common_libs = @evas_engine_gl_common_libs@ -evas_engine_gl_sdl_cflags = @evas_engine_gl_sdl_cflags@ -evas_engine_gl_sdl_libs = @evas_engine_gl_sdl_libs@ -evas_engine_gl_xcb_cflags = @evas_engine_gl_xcb_cflags@ -evas_engine_gl_xcb_libs = @evas_engine_gl_xcb_libs@ -evas_engine_gl_xlib_cflags = @evas_engine_gl_xlib_cflags@ -evas_engine_gl_xlib_libs = @evas_engine_gl_xlib_libs@ -evas_engine_psl1ght_cflags = @evas_engine_psl1ght_cflags@ -evas_engine_psl1ght_libs = @evas_engine_psl1ght_libs@ -evas_engine_software_16_ddraw_cflags = @evas_engine_software_16_ddraw_cflags@ -evas_engine_software_16_ddraw_libs = @evas_engine_software_16_ddraw_libs@ -evas_engine_software_16_sdl_cflags = @evas_engine_software_16_sdl_cflags@ -evas_engine_software_16_sdl_libs = @evas_engine_software_16_sdl_libs@ -evas_engine_software_16_wince_cflags = @evas_engine_software_16_wince_cflags@ -evas_engine_software_16_wince_libs = @evas_engine_software_16_wince_libs@ -evas_engine_software_16_x11_cflags = @evas_engine_software_16_x11_cflags@ -evas_engine_software_16_x11_libs = @evas_engine_software_16_x11_libs@ -evas_engine_software_8_x11_cflags = @evas_engine_software_8_x11_cflags@ -evas_engine_software_8_x11_libs = @evas_engine_software_8_x11_libs@ -evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ -evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ -evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ -evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ -evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ -evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ -evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@ -evas_engine_wayland_egl_cflags = @evas_engine_wayland_egl_cflags@ -evas_engine_wayland_egl_libs = @evas_engine_wayland_egl_libs@ -evas_engine_wayland_shm_cflags = @evas_engine_wayland_shm_cflags@ -evas_engine_wayland_shm_libs = @evas_engine_wayland_shm_libs@ -evas_image_loader_bmp_cflags = @evas_image_loader_bmp_cflags@ -evas_image_loader_bmp_libs = @evas_image_loader_bmp_libs@ -evas_image_loader_edb_cflags = @evas_image_loader_edb_cflags@ -evas_image_loader_edb_libs = @evas_image_loader_edb_libs@ -evas_image_loader_eet_cflags = @evas_image_loader_eet_cflags@ -evas_image_loader_eet_libs = @evas_image_loader_eet_libs@ -evas_image_loader_generic_cflags = @evas_image_loader_generic_cflags@ -evas_image_loader_generic_libs = @evas_image_loader_generic_libs@ -evas_image_loader_gif_cflags = @evas_image_loader_gif_cflags@ -evas_image_loader_gif_libs = @evas_image_loader_gif_libs@ -evas_image_loader_ico_cflags = @evas_image_loader_ico_cflags@ -evas_image_loader_ico_libs = @evas_image_loader_ico_libs@ -evas_image_loader_jpeg_cflags = @evas_image_loader_jpeg_cflags@ -evas_image_loader_jpeg_libs = @evas_image_loader_jpeg_libs@ -evas_image_loader_pmaps_cflags = @evas_image_loader_pmaps_cflags@ -evas_image_loader_pmaps_libs = @evas_image_loader_pmaps_libs@ -evas_image_loader_png_cflags = @evas_image_loader_png_cflags@ -evas_image_loader_png_libs = @evas_image_loader_png_libs@ -evas_image_loader_psd_cflags = @evas_image_loader_psd_cflags@ -evas_image_loader_psd_libs = @evas_image_loader_psd_libs@ -evas_image_loader_svg_cflags = @evas_image_loader_svg_cflags@ -evas_image_loader_svg_libs = @evas_image_loader_svg_libs@ -evas_image_loader_tga_cflags = @evas_image_loader_tga_cflags@ -evas_image_loader_tga_libs = @evas_image_loader_tga_libs@ -evas_image_loader_tiff_cflags = @evas_image_loader_tiff_cflags@ -evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@ -evas_image_loader_wbmp_cflags = @evas_image_loader_wbmp_cflags@ -evas_image_loader_wbmp_libs = @evas_image_loader_wbmp_libs@ -evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@ -evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@ -exec_prefix = @exec_prefix@ -have_evas_engine_gl_x11 = @have_evas_engine_gl_x11@ -have_evas_engine_gl_xcb = @have_evas_engine_gl_xcb@ -have_evas_engine_gl_xlib = @have_evas_engine_gl_xlib@ -have_evas_engine_software_x11 = @have_evas_engine_software_x11@ -have_evas_engine_software_xcb = @have_evas_engine_software_xcb@ -have_evas_engine_software_xlib = @have_evas_engine_software_xlib@ -have_lcov = @have_lcov@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -lt_enable_auto_import = @lt_enable_auto_import@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -pkgconfig_requires_private = @pkgconfig_requires_private@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -pthread_cflags = @pthread_cflags@ -pthread_libs = @pthread_libs@ -release_info = @release_info@ -requirement_evas = @requirement_evas@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -version_info = @version_info@ -MAINTAINERCLEANFILES = Makefile.in -@EVAS_CSERVE_TRUE@AM_CPPFLAGS = \ -@EVAS_CSERVE_TRUE@-I. \ -@EVAS_CSERVE_TRUE@-I$(top_srcdir)/src/lib \ -@EVAS_CSERVE_TRUE@-I$(top_srcdir)/src/lib/include \ -@EVAS_CSERVE_TRUE@-I$(top_srcdir)/src/lib/cserve \ -@EVAS_CSERVE_TRUE@-DPACKAGE_BIN_DIR=\"$(bindir)\" \ -@EVAS_CSERVE_TRUE@-DPACKAGE_LIB_DIR=\"$(libdir)\" \ -@EVAS_CSERVE_TRUE@-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ -@EVAS_CSERVE_TRUE@@EINA_CFLAGS@ \ -@EVAS_CSERVE_TRUE@@FREETYPE_CFLAGS@ \ -@EVAS_CSERVE_TRUE@@FRIBIDI_CFLAGS@ \ -@EVAS_CSERVE_TRUE@@EET_CFLAGS@ \ -@EVAS_CSERVE_TRUE@@FONTCONFIG_CFLAGS@ \ -@EVAS_CSERVE_TRUE@@pthread_cflags@ \ -@EVAS_CSERVE_TRUE@@PIXMAN_CFLAGS@ - -@EVAS_CSERVE_TRUE@evas_cserve_SOURCES = \ -@EVAS_CSERVE_TRUE@evas_cserve_main.c - -@EVAS_CSERVE_TRUE@evas_cserve_LDADD = \ -@EVAS_CSERVE_TRUE@$(top_builddir)/src/lib/libevas.la \ -@EVAS_CSERVE_TRUE@@pthread_libs@ \ -@EVAS_CSERVE_TRUE@@EINA_LIBS@ - -@EVAS_CSERVE_TRUE@evas_cserve_tool_LDFLAGS = -@EVAS_CSERVE_TRUE@evas_cserve_tool_SOURCES = \ -@EVAS_CSERVE_TRUE@evas_cserve_tool.c - -@EVAS_CSERVE_TRUE@evas_cserve_tool_LDADD = \ -@EVAS_CSERVE_TRUE@$(top_builddir)/src/lib/libevas.la \ -@EVAS_CSERVE_TRUE@@pthread_libs@ \ -@EVAS_CSERVE_TRUE@@EINA_LIBS@ - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/bin/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/bin/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p || test -f $$p1; \ - then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -evas_cserve$(EXEEXT): $(evas_cserve_OBJECTS) $(evas_cserve_DEPENDENCIES) - @rm -f evas_cserve$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(evas_cserve_OBJECTS) $(evas_cserve_LDADD) $(LIBS) -evas_cserve_tool$(EXEEXT): $(evas_cserve_tool_OBJECTS) $(evas_cserve_tool_DEPENDENCIES) - @rm -f evas_cserve_tool$(EXEEXT) - $(AM_V_CCLD)$(evas_cserve_tool_LINK) $(evas_cserve_tool_OBJECTS) $(evas_cserve_tool_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_cserve_main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evas_cserve_tool.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ - clean-generic clean-libtool ctags distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-binPROGRAMS install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-binPROGRAMS - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libraries/evas/src/bin/evas_cserve_main.c b/libraries/evas/src/bin/evas_cserve_main.c deleted file mode 100644 index 92718da..0000000 --- a/libraries/evas/src/bin/evas_cserve_main.c +++ /dev/null @@ -1,1683 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include -#include -#ifdef _WIN32 -# include -#endif - -#ifdef BUILD_PTHREAD -#include -#endif - -#include "Evas.h" -#include "evas_cs.h" - -#define D(...) EINA_LOG_DOM_DBG(_evas_cserve_bin_log_dom, __VA_ARGS__) -#ifdef ERR -#undef ERR -#endif -#define ERR(...) EINA_LOG_DOM_ERR(_evas_cserve_bin_log_dom, __VA_ARGS__) -#ifdef DBG -#undef DBG -#endif -#define DBG(...) EINA_LOG_DOM_DBG(_evas_cserve_bin_log_dom, __VA_ARGS__) -#ifdef WRN -#undef WRN -#endif -#define WRN(...) EINA_LOG_DOM_WARN(_evas_cserve_bin_log_dom, __VA_ARGS__) - -#ifdef CSERVE_BIN_DEFAULT_COLOR -#undef CSERVE_BIN_DEFAULT_COLOR -#endif -#define CSERVE_BIN_DEFAULT_COLOR EINA_COLOR_BLUE -// fixme:'s -// -// preload - make it work (both) - -// -// pants! - -typedef struct _Img Img; -typedef struct _Lopt Lopt; -typedef struct _Load_Inf Load_Inf; - -struct _Lopt -{ - int scale_down_by; // if > 1 then use this - double dpi; // if > 0.0 use this - int w, h; // if > 0 use this - struct { - int x, y, w, h; - } region; -}; - -struct _Img -{ - Image_Entry ie; - int ref; - int dref; - int usage; - Mem *mem; - const char *key; - time_t cached; - struct { - const char *file; - const char *key; - time_t modtime; - time_t last_stat; - } file; - struct { - int load1saved, load2saved; - double load1, load2; - } stats; - Lopt load_opts; - struct { - int w, h; - void *data; - Eina_Bool alpha : 1; - } image; - int incache; - LK(lock); - Eina_Bool dead : 1; - Eina_Bool active : 1; - Eina_Bool useless : 1; - Eina_Bool killme : 1; -}; - -struct _Load_Inf -{ - Img *img; - Client *c; -}; - -// config -static int stat_res_interval = 2; - -static time_t t_now = 0; - -static int server_id = 0; - -LK(strshr_freeme_lock); -static int strshr_freeme_count = 0; -static int strshr_freeme_alloc = 0; -static const char **strshr_freeme = NULL; - -static int cache_cleanme = 0; -static Evas_Cache_Image *cache = NULL; - -static Eina_Hash *active_images = NULL; -LK(cache_lock); -static Eina_List *cache_images = NULL; -static int cache_usage = 0; -static int cache_max_usage = 1 * 1024; -static int cache_max_adjust = 0; -static int cache_item_timeout = -1; -static int cache_item_timeout_check = -1; -static Mem *stat_mem = NULL; -static int _evas_cserve_bin_log_dom = -1; -static Eina_List *stat_mems = NULL; - -static void cache_clean(void); - -#ifndef _WIN32 -static double -get_time(void) -{ - struct timeval timev; - - gettimeofday(&timev, NULL); - return (double)timev.tv_sec + (((double)timev.tv_usec) / 1000000); -} -#else -static double -get_time(void) -{ - return (double)GetTickCount()/1000.0; -} -#endif - -static int mem_total = 0; -static int mem_free = 0; -static int mem_buffers = 0; -static int mem_cached = 0; - -static void -meminfo_check(void) -{ - FILE *f; - char buf[1024]; - int v; - - f = fopen("/proc/meminfo", "r"); - if (!f) return; - if (!fgets(buf, sizeof(buf), f)) goto done; - v = 0; if (sscanf(buf, "%*s %i %*s", &v) != 1) goto done; - mem_total = v; - if (!fgets(buf, sizeof(buf), f)) goto done; - v = 0; if (sscanf(buf, "%*s %i %*s", &v) != 1) goto done; - mem_free = v; - if (!fgets(buf, sizeof(buf), f)) goto done; - v = 0; if (sscanf(buf, "%*s %i %*s", &v) != 1) goto done; - mem_buffers = v; - if (!fgets(buf, sizeof(buf), f)) goto done; - v = 0; if (sscanf(buf, "%*s %i %*s", &v) != 1) goto done; - mem_cached = v; - done: - fclose(f); -} - -static int stats_dirty = 0; -static int saved_loads = 0; -static double saved_load_time = 0; -static double saved_load_lifetime = 0; - -static int saved_loaddatas = 0; -static double saved_loaddata_time = 0; -static double saved_loaddata_lifetime = 0; - -static int saved_memory = 0; -static int saved_memory_peak = 0; -static int alloced_memory = 0; -static int alloced_memory_peak = 0; -static int real_memory = 0; -static int real_memory_peak = 0; - -static Eina_Bool -stats_hash_image_cb(const Eina_Hash *hash __UNUSED__, - const void *key __UNUSED__, - void *data, void *fdata __UNUSED__) -{ - Img *img = data; - - - saved_load_time += img->stats.load1 * img->stats.load1saved; - saved_loaddata_time += img->stats.load2 * img->stats.load2saved; - if (img->ref > 1) - saved_memory += img->image.w * img->image.h * sizeof(DATA32) * (img->ref - 1); - if (img->mem) - { - alloced_memory += img->image.w * img->image.h * sizeof(DATA32); - real_memory += (((img->image.w * img->image.h * sizeof(DATA32)) + 4095) >> 12) << 12; - } - return 1; -} - -static void -stats_calc(void) -{ - Img *img; - Eina_List *l; - - if (!stats_dirty) return; - stats_dirty = 0; - saved_loads = 0; - saved_load_time = 0; - saved_loaddatas = 0; - saved_loaddata_time = 0; - saved_memory = 0; - alloced_memory = 0; - real_memory = 0; - - if (active_images) - eina_hash_foreach(active_images, stats_hash_image_cb, NULL); - LKL(cache_lock); - EINA_LIST_FOREACH(cache_images, l, img) - { - saved_loads += img->stats.load1saved; - saved_load_time += img->stats.load1 * img->stats.load1saved; - saved_loaddatas += img->stats.load2saved; - saved_loaddata_time += img->stats.load2 * img->stats.load2saved; - if (img->mem) - { - alloced_memory += img->image.w * img->image.h * sizeof(DATA32); - real_memory += (((img->image.w * img->image.h * sizeof(DATA32)) + 4095) >> 12) << 12; - } - } - LKU(cache_lock); - if (saved_memory > saved_memory_peak) - saved_memory_peak = saved_memory; - if (real_memory > real_memory_peak) - real_memory_peak = real_memory; - if (alloced_memory > alloced_memory_peak) - alloced_memory_peak = alloced_memory; -} - -static void -stats_update(void) -{ - stats_dirty = 1; -} - -static void -stats_lifetime_update(Img *img) -{ - saved_load_lifetime += img->stats.load1 * img->stats.load1saved; - saved_loaddata_lifetime += img->stats.load2 * img->stats.load2saved; -} - -static void -stat_clean(Mem *m) -{ - int *ints; - int size, pid, *ids, count, i; - - ints = (int *)m->data; - size = ints[0]; - if (!evas_cserve_mem_resize(m, size)) return; - ints = (int *)m->data; - pid = ints[1]; - count = (size - (2 * sizeof(int))) / sizeof(int); - ids = ints + 2; - for (i = 0; i < count; i++) - evas_cserve_mem_del(pid, ids[i]); -} - -static int -stat_init(Mem *m) -{ - int *ints; - - ints = (int *)m->data; - - if (!evas_cserve_mem_resize(m, 2 * sizeof(int))) return 0; - ints[0] = 2 * sizeof(int); - ints[1] = getpid(); - msync(m->data, 2 * sizeof(int), MS_SYNC | MS_INVALIDATE); - return 1; -} - -static int -stat_update(Mem *m) -{ - Eina_List *l; - Mem *m2; - int *ints, *ids, i; - - ints = (int *)m->data; - ints[0] = (2 * sizeof(int)) + (eina_list_count(stat_mems) * sizeof(int)); - if (!evas_cserve_mem_resize(m, ints[0])) return 0; - ints = (int *)m->data; - ids = ints + 2; - i = 0; - EINA_LIST_FOREACH(stat_mems, l, m2) - { - ids[i] = m2->id; - i++; - } - msync(m->data, ints[0], MS_SYNC | MS_INVALIDATE); - return 1; -} - -static Image_Entry * -_img_alloc(void) -{ - Img *img; - - img = calloc(1, sizeof(Img)); - LKI(img->lock); - return (Image_Entry *)img; -} - -static void -_img_dealloc(Image_Entry *ie) -{ - Img *img = (Img *)ie; - LKD(img->lock); - free(img); -} - -static int -_img_surface_alloc(Image_Entry *ie, unsigned int w, unsigned int h) -{ - Img *img = (Img *)ie; - - img->mem = evas_cserve_mem_new(w * h * sizeof(DATA32), NULL); - if (!img->mem) return -1; - img->image.data = img->mem->data + img->mem->offset; - - stat_mems = eina_list_append(stat_mems, img->mem); - stat_update(stat_mem); - return 0; -} - -static void -_img_surface_delete(Image_Entry *ie) -{ - Img *img = (Img *)ie; - - if (!img->mem) return; - - stat_mems = eina_list_remove(stat_mems, img->mem); - stat_update(stat_mem); - - evas_cserve_mem_free(img->mem); - img->mem = NULL; - img->image.data = NULL; -} - -static DATA32 * -_img_surface_pixels(Image_Entry *ie) -{ - Img *img = (Img *)ie; - - return img->image.data; -} - -static int -_img_load(Image_Entry *ie) -{ - return evas_common_load_rgba_image_module_from_file(ie); -} - -static void -_img_unload(Image_Entry *ie __UNUSED__) -{ -} - -static void -_img_dirty_region(Image_Entry *ie __UNUSED__, unsigned int x __UNUSED__, unsigned int y __UNUSED__, unsigned int w __UNUSED__, unsigned int h __UNUSED__) -{ -} - -static int -_img_dirty(Image_Entry *dst __UNUSED__, const Image_Entry *src __UNUSED__) -{ - return 0; -} - -static int -_img_size_set(Image_Entry *dst __UNUSED__, const Image_Entry *src __UNUSED__, unsigned int w __UNUSED__, unsigned int h __UNUSED__) -{ - return 0; -} - -static int -_img_copied_data(Image_Entry *ie __UNUSED__, unsigned int w __UNUSED__, unsigned int h __UNUSED__, DATA32 *image_data __UNUSED__, int alpha __UNUSED__, int cspace __UNUSED__) -{ - return 0; -} - -static int -_img_data(Image_Entry *ie __UNUSED__, unsigned int w __UNUSED__, unsigned int h __UNUSED__, DATA32 *image_data __UNUSED__, int alpha __UNUSED__, int cspace __UNUSED__) -{ - return 0; -} - -static int -_img_color_space(Image_Entry *ie __UNUSED__, int cspace __UNUSED__) -{ - return 0; -} - -static int -_img_load_data(Image_Entry *ie) -{ - return evas_common_load_rgba_image_data_from_file(ie); -} - -static int -_img_mem_size_get(Image_Entry *ie __UNUSED__) -{ - return 1; -} - -static void -img_init(void) -{ - const Evas_Cache_Image_Func cache_funcs = - { - _img_alloc,//Image_Entry *(*alloc)(void); - _img_dealloc,//void (*dealloc)(Image_Entry *im); - /* The cache provide some helpers for surface manipulation. */ - _img_surface_alloc,//int (*surface_alloc)(Image_Entry *im, unsigned int w, unsigned int h); - _img_surface_delete,//void (*surface_delete)(Image_Entry *im); - _img_surface_pixels,//DATA32 *(*surface_pixels)(Image_Entry *im); - /* The cache is doing the allocation and deallocation, you must just do the rest. */ - _img_load,//int (*constructor)(Image_Entry *im); - _img_unload,//void (*destructor)(Image_Entry *im); - _img_dirty_region,//void (*dirty_region)(Image_Entry *im, unisnged int x, unisnged int y, unisnged int w, unsigned int h); - /* Only called when references > 0. Need to provide a fresh copie of im. */ - /* The destination surface does have a surface, but no allocated pixel data. */ - _img_dirty,//int (*dirty)(Image_Entry *dst, const Image_Entry *src); - /* Only called when references == 1. We will call drop on im'. */ - /* The destination surface does not have any surface. */ - _img_size_set,//int (*size_set)(Image_Entry *dst, const Image_Entry *src, unisnged int w, unisnged int h); - /* The destination surface does not have any surface. */ - _img_copied_data,//int (*copied_data)(Image_Entry *dst, unisnged int w, unisnged int h, DATA32 *image_data, int alpha, int cspace); - /* The destination surface does not have any surface. */ - _img_data,//int (*data)(Image_Entry *dst, unsigned int w, unisgned int h, DATA32 *image_data, int alpha, int cspace); - _img_color_space,//int (*color_space)(Image_Entry *dst, int cspace); - /* This function need to update im->w and im->h. */ - _img_load_data,//int (*load)(Image_Entry *im); - _img_mem_size_get,//int (*mem_size_get)(Image_Entry *im); - NULL,//void (*debug)(const char *context, Image_Entry *im); - }; - - active_images = eina_hash_string_superfast_new(NULL); - cache = evas_cache_image_init(&cache_funcs); - LKI(cache_lock); - LKI(strshr_freeme_lock); -} - -static void -img_shutdown(void) -{ - evas_cache_image_shutdown(cache); - cache = NULL; - // FIXME: shutdown properly - LKD(strshr_freeme_lock); - LKI(cache_lock); -} - -static Img * -img_new(const char *file, const char *key, RGBA_Image_Loadopts *load_opts, const char *bufkey) -{ - Img *img; - struct stat st; - int ret; - Image_Entry *ie; - int err = 0; - double t; - - DBG("... stat %s", file); - ret = stat(file, &st); - if (ret < 0) return NULL; - DBG("... load header"); - t = get_time(); - ie = evas_cache_image_request(cache, file, key, load_opts, &err); - t = get_time() - t; - DBG("... header done"); - if (!ie) return NULL; - DBG("... ie->cache = %p", ie->cache); - img = (Img *)ie; - img->stats.load1 = t; - img->key = eina_stringshare_add(bufkey); - img->file.modtime = st.st_mtime; - img->file.last_stat = t_now; - img->file.file = eina_stringshare_add(file); - if (key) img->file.key = eina_stringshare_add(key); - img->load_opts.scale_down_by = load_opts->scale_down_by; - img->load_opts.dpi = load_opts->dpi; - img->load_opts.w = load_opts->w; - img->load_opts.h = load_opts->h; - img->image.w = ie->w; - img->image.h = ie->h; - img->image.alpha = ie->flags.alpha; - img->ref = 1; - img->active = 1; - img->usage = sizeof(Img) + strlen(img->key) + 1 + - strlen(img->file.file) + 1; - if (img->file.key) img->usage += strlen(img->file.key) + 1; - eina_hash_direct_add(active_images, img->key, img); - return img; -} - -static void -img_loaddata(Img *img) -{ - double t; - - if (img->mem) return; - t = get_time(); - LKL(cache_lock); - evas_cache_image_load_data((Image_Entry *)img); - t = get_time() - t; - img->stats.load2 = t; - if (img->image.data) - msync(img->image.data, img->image.w * img->image.h * sizeof(DATA32), MS_SYNC | MS_INVALIDATE); - if (!img->active) cache_usage -= img->usage; - img->usage += - (4096 * (((img->image.w * img->image.h * sizeof(DATA32)) + 4095) / 4096)) + - sizeof(Mem); - if (!img->active) cache_usage += img->usage; - LKU(cache_lock); - cache_clean(); -} - -static void -img_free(Img *img) -{ - if (img->incache > 0) - { - ERR("EEEEEEEEEEEEEEEEK!"); - ERR("EEEEEEEEEEEEEEEEK! %p '%s' still in cache", - img, img->file.file); - ERR("EEEEEEEEEEEEEEEEK!"); - return; - } - stats_lifetime_update(img); - stats_update(); - - LKL(strshr_freeme_lock); - strshr_freeme_count += 3; - if (strshr_freeme_count > strshr_freeme_alloc) - { - const char **tmp; - - strshr_freeme_alloc += 32; - tmp = realloc(strshr_freeme, strshr_freeme_alloc * sizeof(const char **)); - if (tmp) strshr_freeme = tmp; - else - { - ERR("realloc of strshr_freeme failed for %i items", - strshr_freeme_alloc); - strshr_freeme_alloc -= 32; - strshr_freeme_count -= 3; - return; - } - } - strshr_freeme[strshr_freeme_count - 3] = img->key; - strshr_freeme[strshr_freeme_count - 2] = img->file.file; - strshr_freeme[strshr_freeme_count - 1] = img->file.key; - LKU(strshr_freeme_lock); - - evas_cache_image_drop((Image_Entry *)img); -} - -static void -cache_clean(void) -{ - DBG("... cache clean!!! do"); - LKL(cache_lock); - while ((cache_usage > ((cache_max_usage + cache_max_adjust) * 1024)) && - (cache_images)) - { - Img *img; - Eina_List *l; - - DBG("... clean loop %i > %i", cache_usage, (cache_max_usage + cache_max_adjust) * 1024); - l = eina_list_last(cache_images); // THREAD: called from thread. happens to be safe as it uses no unlocked shared resources - if (!l) break; - img = l->data; - if (!img) break; - LKL(img->lock); - DBG("... REMOVE %p '%s'", img, img->file.file); -#ifdef BUILD_PTHREAD - img->killme = 1; - img->useless = 1; - img->dead = 1; - cache_cleanme++; - LKU(img->lock); -#else - cache_images = eina_list_remove_list(cache_images, l); // FIXME: called from thread - img->incache--; - cache_usage -= img->usage; - DBG("... IMG FREE %p", img); - img_free(img); -#endif - } - LKU(cache_lock); -} - -static void -cache_timeout(time_t t) -{ - Eina_List *l, *l_next; - Img *img; - - if (cache_item_timeout < 0) return; - LKL(cache_lock); - EINA_LIST_FOREACH_SAFE(cache_images, l, l_next, img) - { - LKL(img->lock); - if ((t - img->cached) > cache_item_timeout) - { - cache_images = eina_list_remove_list(cache_images, l); - img->incache--; - cache_usage -= img->usage; - img_free(img); - } - else - LKU(img->lock); - } - LKU(cache_lock); -} - -static void -mem_cache_adjust(void) -{ - int pval = cache_max_adjust; - int max = 0; - - if (mem_total <= 0) return; - //int mem_used = mem_total - mem_free - mem_cached - mem_buffers; -#if 0 // this lets the image cache to grow to fill all real free ram, if - // there is any (ie ram unused by disk cache) - if (mem_free < mem_total) - { - cache_max_adjust = mem_free; - return; - } -#endif - - max = ((mem_free + mem_cached + mem_buffers) / 8) - cache_max_usage; - if (max < 0) max = 0; - if (max > cache_max_usage) max = cache_max_usage; - cache_max_adjust = max - cache_max_usage; - - if (cache_max_adjust < -cache_max_usage) - cache_max_adjust = -cache_max_usage; - DBG("... cache_max_adjust = %i", cache_max_adjust); - if (pval != cache_max_adjust) - { - DBG("... cache clean"); - // FIXME lock problem - cache_clean(); - } -} - -static void -img_cache(Img *img) -{ - eina_hash_del(active_images, img->key, img); - if (img->dead) - { - DBG("... img %p '%s' dead", img , img->file.file); - img_free(img); - return; - } - if ((cache_usage + img->usage) > ((cache_max_usage + cache_max_adjust) * 1024)) - { - DBG("... img %p '%s' too big for cache", img , img->file.file); - img_free(img); - return; - } - DBG("... img %p '%s' cached += %i", img , img->file.file, img->usage); - if (img->incache > 0) - { - ERR("EEEEEEEEEEEEEEEEK!"); - ERR("EEEEEEEEEEEEEEEEK! %p '%s' already in cache", - img, img->file.file); - ERR("EEEEEEEEEEEEEEEEK!"); - return; - } - LKL(cache_lock); - cache_images = eina_list_prepend(cache_images, img); - LKU(cache_lock); - img->incache++; - cache_usage += img->usage; - img->active = 0; - img->cached = t_now; - // FIXME: lock problem - if (cache_usage > ((cache_max_usage + cache_max_adjust) * 1024)) - cache_clean(); -} - -static void -img_dead(Img *img) -{ - if (img->active) return; - LKL(cache_lock); - cache_images = eina_list_remove(cache_images, img); - LKU(cache_lock); - img->incache--; - cache_usage -= img->usage; - img_free(img); -} - -static Eina_Bool -img_ok(Img *img) -{ - struct stat st; - int ret; - - if (img->dead) return 0; - if ((t_now > img->file.last_stat) && - ((t_now - img->file.last_stat) < stat_res_interval)) return 1; - img->file.last_stat = t_now; - ret = stat(img->file.file, &st); - img->file.last_stat = t_now; - if (ret < 0) - { - img->dead = 1; - img_dead(img); - return 0; - } - if (st.st_mtime != img->file.modtime) - { - img->dead = 1; - img_dead(img); - return 0; - } - return 1; -} - -static Img * -img_load(const char *file, const char *key, RGBA_Image_Loadopts *load_opts) -{ - Img *img; - char buf[8192]; - Eina_List *l, *l_next; - - if (!file) return NULL; - DBG("... img_load '%s'", file); - if (key) DBG("... ... key '%s'", key); - if (key) - snprintf(buf, sizeof(buf), "%s///::/%s/\001/%i/%1.8f/%ix%i", - file, key, - load_opts->scale_down_by, - load_opts->dpi, - load_opts->w, load_opts->h); - else - snprintf(buf, sizeof(buf), "%s///\001/%i/%1.8f/%ix%i", - file, - load_opts->scale_down_by, - load_opts->dpi, - load_opts->w, load_opts->h); - DBG("... find '%s'", buf); - img = eina_hash_find(active_images, buf); - if ((img) && (img_ok(img))) - { - DBG("... found!"); - img->stats.load1saved++; - img->ref++; - DBG("... stats update"); - stats_update(); - DBG("... return %p", img); - return img; - } - - // FIXME: keep hash of cached images too - LKL(cache_lock); - EINA_LIST_FOREACH_SAFE(cache_images, l, l_next, img) - { - if (!strcmp(img->key, buf)) - { - LKL(img->lock); - if (img_ok(img)) - { - DBG("... found cached"); - cache_images = eina_list_remove_list(cache_images, l); - img->incache--; - cache_usage -= img->usage; - img->active = 1; - img->stats.load1saved++; - img->ref++; - eina_hash_direct_add(active_images, img->key, img); - DBG("... sats update"); - stats_update(); - DBG("... return %p", img); - LKU(img->lock); - LKU(cache_lock); - return img; - } - LKU(img->lock); - } - } - LKU(cache_lock); - DBG("... ned new img"); - return img_new(file, key, load_opts, buf); -} - -static void -img_unload(Img *img) -{ - if (img->ref == 0) - { - ERR("EEEEEEEEEEEEEEEEK!"); - ERR("EEEEEEEEEEEEEEEEK! %p '%s' already @ ref 0", - img, img->file.file); - ERR("EEEEEEEEEEEEEEEEK!"); - return; - } - img->ref--; - DBG("... img ref-- = %i", img->ref); - if (img->ref == 0) - { - DBG("... img cache %p '%s'", img, img->file.file); - img_cache(img); - } -} - -static void -img_unloaddata(Img *img) -{ - DBG("img_unloaddata() %p '%s'", img, img->file.file); - if ((img->dref <= 0) && (img->useless) && (img->mem)) - { - Image_Entry *ie = (Image_Entry *)img; - - DBG("... really do forced unload"); - if (!img->active) cache_usage -= img->usage; - img->usage -= - (4096 * (((img->image.w * img->image.h * sizeof(DATA32)) + 4095) / 4096)) + - sizeof(Mem); - if (!img->active) cache_usage += img->usage; - evas_cserve_mem_free(img->mem); - stat_mems = eina_list_remove(stat_mems, img->mem); - img->mem = NULL; - img->image.data = NULL; - img->dref = 0; - DBG("... done"); - - ie->flags.loaded = 0; - ie->allocated.w = 0; - ie->allocated.h = 0; - } -} - -static void -img_useless(Img *img) -{ - DBG("img_useless() %p", img); - img->useless = 1; - if (img->dref <= 0) img_unloaddata(img); -} - -static void -img_forcedunload(Img *img) -{ - DBG("img_forcedunload() %p", img); - img->dead = 1; - img_unload(img); -} - -static void -img_preload(Img *img) -{ - DBG("img_preload() %p", img); -} - -static void -client_del(void *data, Client *c) -{ - Eina_List *images; - Img *img; - - images = data; - DBG("... CLIENT DEL %i", c->pid); - EINA_LIST_FREE(images, img) - { - DBG("... unloaddata img %p", img); - img_unloaddata(img); - DBG("... unload img %p", img); - img_unload(img); - } -} - -static Eina_Bool -getinfo_hash_image_cb(const Eina_Hash *hash __UNUSED__, - const void *key __UNUSED__, - void *data, void *fdata __UNUSED__) -{ - Img *img = data; - Eina_List **list = fdata; - - *list = eina_list_append(*list, img); - return 1; -} - -#ifdef BUILD_PTHREAD -static void * -load_data_thread(void *data) -{ - Load_Inf *li = data; - Img *img = li->img; - Client *c = li->c; - Op_Loaddata_Reply msg; - - free(li); - LKL(img->lock); - if (img->mem) - { - memset(&msg, 0, sizeof(msg)); - msg.mem.id = img->mem->id; - msg.mem.offset = img->mem->offset; - msg.mem.size = img->mem->size; - DBG("... reply"); - evas_cserve_client_send(c, OP_LOADDATA, sizeof(msg), (unsigned char *)(&msg)); - LKU(c->lock); - return NULL; - } - img_loaddata(img); - memset(&msg, 0, sizeof(msg)); - if (img->mem) - { - msg.mem.id = img->mem->id; - msg.mem.offset = img->mem->offset; - msg.mem.size = img->mem->size; - } - else - msg.mem.id = msg.mem.offset = msg.mem.size = 0; - LKU(img->lock); - DBG("... reply"); - evas_cserve_client_send(c, OP_LOADDATA, sizeof(msg), (unsigned char *)(&msg)); - LKU(c->lock); - return NULL; -} -#endif - -static int -message(void *fdata __UNUSED__, Server *s __UNUSED__, Client *c, int opcode, int size, unsigned char *data) -{ - // copy data into local aligned buffer... in case. - unsigned char *tdata = alloca(size + 16); - memcpy(tdata, data, size); - - t_now = time(NULL); - DBG("message @ %i...", (int)t_now); - switch (opcode) - { - case OP_INIT: - { - Op_Init *rep; - Op_Init msg; - - memset(&msg, 0, sizeof(msg)); - msg.pid = getpid(); - msg.server_id = server_id; - msg.handle = c; - rep = (Op_Init *)tdata; - c->pid = rep->pid; - if (rep->server_id == 1) // 2nd channel conn - { - c->client_main = rep->handle; - } - c->func = client_del; - c->data = NULL; - DBG("OP_INIT %i", c->pid); - DBG("... reply"); - evas_cserve_client_send(c, OP_INIT, sizeof(msg), (unsigned char *)(&msg)); - } - break; - case OP_LOAD: - { - Op_Load *rep; - Op_Load_Reply msg; - Img *img; - RGBA_Image_Loadopts lopt; - char *file = NULL, *key = NULL; - - memset(&lopt, 0, sizeof lopt); - DBG("OP_LOAD %i", c->pid); - rep = (Op_Load *)tdata; - file = (char*) (data + sizeof(Op_Load)); - key = file + strlen(file) + 1; - if (key[0] == 0) key = NULL; - lopt.scale_down_by = rep->lopt.scale_down_by; - lopt.dpi = rep->lopt.dpi; - lopt.w = rep->lopt.w; - lopt.h = rep->lopt.h; - lopt.region.x = rep->lopt.region.x; - lopt.region.y = rep->lopt.region.y; - lopt.region.w = rep->lopt.region.w; - lopt.region.h = rep->lopt.region.h; - DBG("... img_load '%s'", file); - if (key) DBG("'%s'", (char *)key); - else DBG(" '%s'", ""); - DBG(" lopt { %i %1.1f %i %i { %i %i %i %i}}", - lopt.scale_down_by, lopt.dpi, lopt.w, lopt.h, - lopt.region.x, lopt.region.y, lopt.region.w, lopt.region.h); - img = img_load(file, key, &lopt); - DBG("... img_load = %p", img); - if (img) - { - DBG("... add image to client list"); - if (c->client_main) - c->client_main->data = eina_list_append(c->client_main->data, img); - else - c->data = eina_list_append(c->data, img); - } - memset(&msg, 0, sizeof(msg)); - msg.handle = img; - if ((img) && (img->mem)) - { - msg.mem.id = img->mem->id; - msg.mem.offset = img->mem->offset; - msg.mem.size = img->mem->size; - img->stats.load2saved++; - stats_update(); - } - else - msg.mem.id = msg.mem.offset = msg.mem.size = 0; - if (img) - { - msg.image.w = img->image.w; - msg.image.h = img->image.h; - msg.image.alpha = img->image.alpha; - } - DBG("... reply"); - evas_cserve_client_send(c, OP_LOAD, sizeof(msg), (unsigned char *)(&msg)); - } - break; - case OP_UNLOAD: - { - Op_Unload *rep; - Img *img; - - DBG("OP_UNLOAD %i", c->pid); - rep = (Op_Unload *)tdata; - img = rep->handle; - if ((img) && (rep->server_id == server_id)) - { - Eina_Bool doflush = 0; - - DBG("... remove %p from list", img); - if (c->client_main) - c->client_main->data = eina_list_remove(c->client_main->data, img); - else - c->data = eina_list_remove(c->data, img); - DBG("... unload %p", img); - LKL(img->lock); - img->ref++; - img_unload(img); - img->ref--; - if (img->ref == 0) doflush = 1; - LKU(img->lock); - if (doflush) - img_cache(img); - cache_clean(); - } - } - break; - case OP_LOADDATA: - { - Op_Loaddata *rep; - Op_Loaddata_Reply msg; - Img *img; - - DBG("OP_LOADDATA %i", c->pid); - rep = (Op_Loaddata *)tdata; - img = rep->handle; - if ((img) && (rep->server_id == server_id)) - { - if (img->mem) - { - DBG("... load saved - cached %p", img); - img->stats.load2saved++; - stats_update(); - memset(&msg, 0, sizeof(msg)); - if (img->mem) - { - msg.mem.id = img->mem->id; - msg.mem.offset = img->mem->offset; - msg.mem.size = img->mem->size; - } - else - msg.mem.id = msg.mem.offset = msg.mem.size = 0; - DBG("... reply"); - evas_cserve_client_send(c, OP_LOADDATA, sizeof(msg), (unsigned char *)(&msg)); - } - else - { -#ifdef BUILD_PTHREAD - pthread_t tid; - pthread_attr_t attr; - Load_Inf *li; - - DBG("... load data %p", img); - pthread_attr_init(&attr); - li = calloc(1, sizeof(Load_Inf)); - if (li) - { - li->img= img; - li->c = c; - LKL(c->lock); - if (pthread_create(&tid, &attr, load_data_thread, li)) - { - perror("pthread_create()"); - } - else - pthread_detach(tid); - } - pthread_attr_destroy(&attr); -#else - img_loaddata(img); - memset(&msg, 0, sizeof(msg)); - if (img->mem) - { - msg.mem.id = img->mem->id; - msg.mem.offset = img->mem->offset; - msg.mem.size = img->mem->size; - } - else - msg.mem.id = msg.mem.offset = msg.mem.size = 0; - DBG("... reply"); - evas_cserve_client_send(c, OP_LOADDATA, sizeof(msg), (unsigned char *)(&msg)); -#endif - } - } - else - { - msg.mem.id = msg.mem.offset = msg.mem.size = 0; - evas_cserve_client_send(c, OP_LOADDATA, sizeof(msg), (unsigned char *)(&msg)); - } - } - break; - case OP_UNLOADDATA: - { - Op_Unloaddata *rep; - Img *img; - - DBG("OP_UNLOADDATA %i", c->pid); - rep = (Op_Unloaddata *)tdata; - img = rep->handle; - if ((img) && (rep->server_id == server_id)) - { - DBG("... dref--"); - LKL(img->lock); - img->dref--; - if (img->dref < 0) img->dref = 0; - DBG("... unload data %p '%s'", img, img->file.file); - img_unloaddata(img); - LKU(img->lock); - } - } - break; - case OP_USELESSDATA: - { - Op_Unloaddata *rep; - Img *img; - - DBG("OP_USELESSDATA %i", c->pid); - rep = (Op_Unloaddata *)tdata; - img = rep->handle; - if ((img) && (rep->server_id == server_id)) - { - DBG("... dref--"); - LKL(img->lock); - img->dref--; - if (img->dref < 0) img->dref = 0; - DBG("... useless %p", img); - img_useless(img); - LKU(img->lock); - } - } - break; - case OP_PRELOAD: - { - Op_Preload *rep; - Img *img; - - DBG("OP_PRELOAD %i", c->pid); - rep = (Op_Preload *)tdata; - img = rep->handle; - if ((img) && (rep->server_id == server_id)) - { - LKL(img->lock); - if (c->client_main) - c->client_main->data = eina_list_remove(c->client_main->data, img); - else - c->data = eina_list_remove(c->data, img); - // FIXME: preload doesn't work async - img_preload(img); - LKU(img->lock); - } - } - case OP_FORCEDUNLOAD: - { - Op_Forcedunload *rep; - Img *img; - - DBG("OP_FORCEDUNLOAD %i", c->pid); - rep = (Op_Forcedunload *)tdata; - img = rep->handle; - if ((img) && (rep->server_id == server_id)) - { - Eina_Bool doflush = 0; - - LKL(img->lock); - DBG("remove %p from list", img); - if (c->client_main) - c->client_main->data = eina_list_remove(c->client_main->data, img); - else - c->data = eina_list_remove(c->data, img); - DBG("... forced unload now"); - img->ref++; - img_forcedunload(img); - img->ref--; - if (img->ref == 0) doflush = 1; - LKU(img->lock); - if (doflush) - img_cache(img); - cache_clean(); - } - } - break; - case OP_GETCONFIG: - { - Op_Getconfig_Reply msg; - - DBG("OP_GETCONFIG %i", c->pid); - msg.cache_max_usage = cache_max_usage; - msg.cache_item_timeout = cache_item_timeout; - msg.cache_item_timeout_check = cache_item_timeout_check; - DBG("... reply"); - evas_cserve_client_send(c, OP_GETCONFIG, sizeof(msg), (unsigned char *)(&msg)); - } - break; - case OP_SETCONFIG: - { - Op_Setconfig *rep; - - DBG("OP_SETCONFIG %i", c->pid); - rep = (Op_Setconfig *)tdata; - cache_max_usage = rep->cache_max_usage; - cache_item_timeout = rep->cache_item_timeout; - cache_item_timeout_check = rep->cache_item_timeout_check; - DBG("... cache timeout"); - cache_timeout(t_now); - DBG("... cache clean"); - cache_clean(); - } - break; - case OP_GETSTATS: - { - Op_Getstats_Reply msg; - - DBG("OP_GETSTATS %i", c->pid); - stats_calc(); - msg.saved_memory = saved_memory; - msg.wasted_memory = (real_memory - alloced_memory); - msg.saved_memory_peak = saved_memory_peak; - msg.wasted_memory_peak = (real_memory_peak - alloced_memory_peak); - msg.saved_time_image_header_load = saved_load_lifetime + saved_load_time; - msg.saved_time_image_data_load = saved_loaddata_lifetime + saved_loaddata_time; - DBG("... reply"); - evas_cserve_client_send(c, OP_GETSTATS, sizeof(msg), (unsigned char *)(&msg)); - } - break; - case OP_GETINFO: - { - Op_Getinfo_Reply *msg; - int len; - Eina_List *imgs = NULL, *l; - Img *img; - - DBG("OP_GETINFO %i", c->pid); - len = sizeof(Op_Getinfo_Reply); - DBG("... foreach"); - if (active_images) - eina_hash_foreach(active_images, getinfo_hash_image_cb, &imgs); - DBG("... walk foreach list output"); - LKL(cache_lock); - EINA_LIST_FOREACH(cache_images, l, img) - { - imgs = eina_list_append(imgs, img); - } - LKU(cache_lock); - DBG("... walk image cache"); - EINA_LIST_FOREACH(imgs, l, img) - { - len += sizeof(Op_Getinfo_Item); - if (img->file.file) len += strlen(img->file.file); - len++; - if (img->file.key) len += strlen(img->file.key); - len++; - } - DBG("... malloc msg"); - msg = calloc(1, len); - if (msg) - { - unsigned char *p; - - DBG("... init msg"); - p = (unsigned char *)msg; - msg->active.mem_total = 0; - msg->active.count = 0; - msg->cached.mem_total = 0; - msg->cached.count = 0; - p += sizeof(Op_Getinfo_Reply); - DBG("... walk all imgs"); - EINA_LIST_FOREACH(imgs, l, img) - { - Op_Getinfo_Item it; - - LKL(img->lock); - DBG("... img %p", img); - memset(&it, 0, sizeof(Op_Getinfo_Item)); - it.file_key_size = 0; - if (img->file.file) - { - strcpy((char *)p + sizeof(Op_Getinfo_Item) + it.file_key_size, img->file.file); - it.file_key_size += strlen(img->file.file); - } - p[sizeof(Op_Getinfo_Item) + it.file_key_size] = 0; - it.file_key_size += 1; - if (img->file.key) - { - strcpy((char *)p + sizeof(Op_Getinfo_Item) + it.file_key_size, img->file.key); - it.file_key_size += strlen(img->file.key); - } - p[sizeof(Op_Getinfo_Item) + it.file_key_size] = 0; - it.file_key_size += 1; - - it.w = img->image.w; - it.h = img->image.h; - it.file_mod_time = img->file.modtime; - it.file_checked_time = img->file.last_stat; - if (!img->active) - it.cached_time = img->cached; - else - it.cached_time = 0; - it.refcount = img->ref; - it.data_refcount = img->dref; - it.memory_footprint = img->usage; - it.head_load_time = img->stats.load1; - it.data_load_time = img->stats.load2; - it.alpha = img->image.alpha; - if (img->image.data) - it.data_loaded = 1; - else - it.data_loaded = 0; - it.active = img->active; - if (it.active) - { - msg->active.count++; - msg->active.mem_total += img->usage; - } - else - { - msg->cached.count++; - msg->cached.mem_total += img->usage; - } - it.dead = img->dead; - it.useless = img->useless; - DBG("... memcpy %p %p %zu ", - p, &it, sizeof(Op_Getinfo_Item)); - memcpy(p, &it, sizeof(Op_Getinfo_Item)); - DBG("... memcpy done %p", img); - p += sizeof(Op_Getinfo_Item) + it.file_key_size; - LKU(img->lock); - } - DBG("... walk all imgs done"); - msg->active.mem_total = - (msg->active.mem_total + 1023) / 1024; - msg->cached.mem_total = - (msg->cached.mem_total + 1023) / 1024; - DBG("... reply"); - evas_cserve_client_send(c, OP_GETINFO, len, (unsigned char *)msg); - free(msg); - } - else - { - DBG("... reply empty"); - evas_cserve_client_send(c, OP_GETINFO, 0, NULL); - } - DBG("... free imgs list"); - if (imgs) eina_list_free(imgs); - } - break; - default: - DBG("OP_... UNKNOWN??? %i opcode: %i", c->pid, opcode); - break; - } - return 0; -} - -static void -parse_args(int argc, char **argv) -{ - int i; - - for (i = 1; i < argc; i++) - { - if ((!strcmp(argv[i], "-h")) || - (!strcmp(argv[i], "-help")) || - (!strcmp(argv[i], "--help"))) - { - printf("Options:\n" - "\t-h This help\n" - "\t-csize Size of speculative cache (Kb)\n" - "\t-ctime Maximum life of a cached image (seconds)\n" - "\t-ctimecheck Time between checking the cache for timeouts (seconds)\n" - "\t-debug Enable debug logging\n" - "\n"); - exit(0); - } - else if ((!strcmp(argv[i], "-csize")) && (i < (argc - 1))) - { - i++; - cache_max_usage = atoi(argv[i]); - } - else if ((!strcmp(argv[i], "-ctime")) && (i < (argc - 1))) - { - i++; - cache_item_timeout = atoi(argv[i]); - } - else if ((!strcmp(argv[i], "-ctimecheck")) && (i < (argc - 1))) - { - i++; - cache_item_timeout_check = atoi(argv[i]); - } - else if (!strcmp(argv[i], "-debug")) - { - eina_log_level_set(EINA_LOG_LEVEL_DBG); - } - } -} - -static int exit_flag = 0; - -static void -exit_handler(int x __UNUSED__, siginfo_t *info __UNUSED__, void *data __UNUSED__) -{ - exit_flag = 1; -} - -static void -pipe_handler(int x __UNUSED__, siginfo_t *info __UNUSED__, void *data __UNUSED__) -{ -} - -static void -signal_init(void) -{ - struct sigaction action, old_action; - - action.sa_handler = NULL; - action.sa_sigaction = exit_handler; - action.sa_flags = SA_RESTART | SA_SIGINFO; - sigemptyset(&action.sa_mask); - sigaction(SIGINT, &action, &old_action); - - action.sa_handler = NULL; - action.sa_sigaction = exit_handler; - action.sa_flags = SA_RESTART | SA_SIGINFO; - sigemptyset(&action.sa_mask); - sigaction(SIGTERM, &action, &old_action); - - action.sa_handler = NULL; - action.sa_sigaction = exit_handler; - action.sa_flags = SA_RESTART | SA_SIGINFO; - sigemptyset(&action.sa_mask); - sigaction(SIGQUIT, &action, &old_action); - - action.sa_handler = NULL; - action.sa_sigaction = pipe_handler; - action.sa_flags = SA_RESTART | SA_SIGINFO; - sigemptyset(&action.sa_mask); - sigaction(SIGPIPE, &action, &old_action); - - // SIGUSR1 - // SIGUSR2 - // SIGHUP - - // SIGCHLD - - // SIGSEGV - // SIGILL - // SIGBUS - // SIGFPE - // SIGABRT -} - -static void -signal_shutdown(void) -{ -} - -int -main(int argc, char **argv) -{ - Server *s; - time_t last_check, t, t_next; - pid_t pid; - - t = time(NULL); - pid = getpid(); - t ^= (pid << 24) | (pid << 16) | (pid << 8) | (pid); - srand(t); - server_id = rand(); - - parse_args(argc, argv); - - unsetenv("EVAS_CSERVE"); - - eina_init(); - _evas_cserve_bin_log_dom = eina_log_domain_register - ("evas_cserve_bin", CSERVE_BIN_DEFAULT_COLOR); - if (_evas_cserve_bin_log_dom < 0) - { - EINA_LOG_ERR("impossible to create a log domain."); - eina_shutdown(); - exit(1); - } - - DBG("evas init..."); - evas_init(); - DBG("img init..."); - img_init(); - DBG("signal init..."); - signal_init(); - DBG("cserve add..."); - s = evas_cserve_server_add(); - if (!s) - { - ERR("ERROR: server socket init fail. abort."); - goto error; - } - DBG("mem open (status)..."); - stat_mem = evas_cserve_mem_open(0, 0, "status", sizeof(int), 0); - if (stat_mem) - { - WRN("WARNING: previous evas_cserve left garbage. cleaning up."); - stat_clean(stat_mem); - evas_cserve_mem_close(stat_mem); - stat_mem = NULL; - } - DBG("mem new (status)..."); - stat_mem = evas_cserve_mem_new(sizeof(int), "status"); - if (!stat_mem) - { - ERR("ERROR: cannot create status shmseg. abort."); - goto error; - } - DBG("init status..."); - if (!stat_init(stat_mem)) - { - ERR("cannot init status shmseg. abort."); - evas_cserve_mem_free(stat_mem); - stat_mem = NULL; - goto error; - } - - DBG("cset server message handler..."); - evas_cserve_server_message_handler_set(s, message, NULL); - last_check = time(NULL); - t_next = 0; - if (cache_item_timeout_check > 0) t_next = cache_item_timeout_check; - DBG("LOOP!!! ..."); - for (;;) - { - /* fixme: timeout 0 only her - future use timeouts for timed - * housekeping */ - if (exit_flag) break; - DBG("wait for messages..."); - evas_cserve_server_wait(s, t_next * 1000000); - if (exit_flag) break; - t = time(NULL); - t_next = t - last_check; - if ((cache_item_timeout_check > 0) && - ((t_next) >= cache_item_timeout_check)) - { - DBG("check timeout of items..."); - t_next = cache_item_timeout_check; - - last_check = t; - DBG("cache timeout..."); - cache_timeout(t); - DBG("meminfo check..."); - meminfo_check(); - DBG("mem cache adjust..."); - mem_cache_adjust(); - } - if ((t_next <= 0) && (cache_item_timeout_check > 0)) - t_next = 1; - DBG("sleep for %isec...", (int)t_next); - - LKL(strshr_freeme_lock); - if (strshr_freeme_count > 0) - { - int i; - - for (i = 0; i < strshr_freeme_count; i++) - eina_stringshare_del(strshr_freeme[i]); - strshr_freeme_count = 0; - } - LKU(strshr_freeme_lock); - - LKL(cache_lock); - if (cache_cleanme) - { - Eina_List *l; - Img *img; - Eina_List *kills = NULL; - - EINA_LIST_FOREACH(cache_images, l, img) - { - LKL(img->lock); - if (img->killme) - kills = eina_list_append(kills, img); - LKU(img->lock); - } - while (kills) - { - img = kills->data; - kills = eina_list_remove_list(kills, kills); - LKL(img->lock); - cache_images = eina_list_remove(cache_images, img); - img->incache--; - cache_usage -= img->usage; - DBG("... IMG FREE %p", img); - img_free(img); - } - cache_cleanme = 0; - } - LKU(cache_lock); - } - DBG("end loop..."); - error: - DBG("cleanup..."); - if (stat_mem) - { - DBG("clean mem stat..."); - stat_clean(stat_mem); - } - DBG("signal shutdown..."); - signal_shutdown(); - DBG("img shutdown..."); - img_shutdown(); - if (stat_mem) - { - DBG("free stat mem..."); - evas_cserve_mem_free(stat_mem); - stat_mem = NULL; - } - if (s) - { - DBG("del server..."); - evas_cserve_server_del(s); - } - DBG("evas shutdown..."); - evas_shutdown(); - eina_log_domain_unregister(_evas_cserve_bin_log_dom); - DBG("eina shutdown..."); - eina_shutdown(); - DBG("exit.."); - return 0; -} diff --git a/libraries/evas/src/bin/evas_cserve_tool.c b/libraries/evas/src/bin/evas_cserve_tool.c deleted file mode 100644 index acaa703..0000000 --- a/libraries/evas/src/bin/evas_cserve_tool.c +++ /dev/null @@ -1,160 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include "evas_cs.h" - -int _cserve_tool_log_dom = -1; - -int -main(int argc, char **argv) -{ - int i; - - evas_init(); - if (!evas_cserve_init()) - { - printf("ERROR: Cannot connect to cserve. abort\n"); - exit(-1); - } - - for (i = 1; i < argc; i++) - { - if ((!strcmp(argv[i], "-h")) || - (!strcmp(argv[i], "-help")) || - (!strcmp(argv[i], "--help"))) - { - printf("Options:\n" - "\t-h This help\n" - "\tgetconfig Get configuration values\n" - "\tsetconfig CSIZE CTIME CTIMECHECK Set the config values\n" - "\tgetstats Get current cache statistics\n" - "\tgetinfo Get current cache content info\n" - ); - exit(0); - } - else if ((!strcmp(argv[i], "getconfig"))) - { - Op_Getconfig_Reply config; - - if (!evas_cserve_raw_config_get(&config)) - { - printf("ERROR: cannot fetch config.\n"); - exit(-1); - } - printf("-REPLY-\n"); - printf("csize: %i\n", config.cache_max_usage); - printf("ctime: %i\n", config.cache_item_timeout); - printf("ctimecheck: %i\n", config.cache_item_timeout_check); - printf("-OK-\n"); - } - else if ((!strcmp(argv[i], "setconfig")) && (i < (argc - 3))) - { - Op_Setconfig config; - - i++; - config.cache_max_usage = atoi(argv[i]); - i++; - config.cache_item_timeout = atoi(argv[i]); - i++; - config.cache_item_timeout_check = atoi(argv[i]); - if (!evas_cserve_raw_config_set(&config)) - { - printf("ERROR: cannot set config.\n"); - exit(-1); - } - } - else if ((!strcmp(argv[i], "getstats"))) - { - Op_Getstats_Reply stats; - - if (!evas_cserve_raw_stats_get(&stats)) - { - printf("ERROR: cannot fetch stats.\n"); - exit(-1); - } - printf("-REPLY-\n"); - printf("saved_memory: %i Kb\n", stats.saved_memory / 1024); - printf("wasted_memory: %i Kb\n", stats.wasted_memory / 1024); - printf("saved_memory_peak: %i Kb\n", stats.saved_memory_peak / 1024); - printf("wasted_memory_peak: %i Kb\n", stats.wasted_memory_peak / 1024); - printf("saved_time_image_header_load: %1.3f sec\n", stats.saved_time_image_header_load); - printf("saved_time_image_data_load: %1.3f sec\n", stats.saved_time_image_data_load); - printf("-OK-\n"); - } - else if ((!strcmp(argv[i], "getinfo"))) - { - Op_Getinfo_Reply *info; - unsigned char *p; - int h, j; - - info = evas_cserve_raw_info_get(); - if (!info) - { - printf("ERROR: cannot fetch info.\n"); - exit(-1); - } - j = info->active.count + info->cached.count; - printf("-REPLY-\n"); - printf("active_count: %i\n", info->active.count); - printf("active_memory: %i Kb\n", info->active.mem_total); - printf("cache_count: %i\n", info->cached.count); - printf("cache_memory: %i Kb\n", info->cached.mem_total); - p = (unsigned char *)info; - p += sizeof(Op_Getinfo_Reply); - for (h = 0; h < j; h++) - { - Op_Getinfo_Item it; - char *file, *key, buf[512]; - struct tm *ltm; - - memcpy(&it, p, sizeof(Op_Getinfo_Item)); - file = (char*) (p + sizeof(Op_Getinfo_Item)); - key = file + strlen(file) + 1; - printf("-IMAGE- [#%i]\n", h); - printf(" file : %s\n", file); - printf(" key : %s\n", key); - printf(" size : %i x %i\n", it.w, it.h); - printf(" active : %i\n", (int)it.active); - printf(" memory used: %i bytes (%i Kb)\n", it.memory_footprint, (it.memory_footprint + 1023) / 1024); - printf(" has alpha : %i\n", (int)it.alpha); - printf(" data loaded: %i\n", (int)it.data_loaded); - printf(" dead : %i\n", (int)it.dead); - printf(" useless : %i\n", (int)it.useless); - printf(" image refs : %i\n", it.refcount); - printf(" data refs : %i\n", it.data_refcount); - printf(" header load: %1.5f sec\n", it.head_load_time); - printf(" data load : %1.5f sec\n", it.data_load_time); - if (it.cached_time == 0) - printf(" cached at : N/A\n"); - else - { - ltm = localtime(&(it.cached_time)); - if (ltm) - { - strftime(buf, sizeof(buf), "%Y.%m.%d %T", ltm); - printf(" cached at : %s\n", buf); - } - } - ltm = localtime(&(it.file_mod_time)); - if (ltm) - { - strftime(buf, sizeof(buf), "%Y.%m.%d %T", ltm); - printf(" file mod at: %s\n", buf); - } - ltm = localtime(&(it.file_checked_time)); - if (ltm) - { - strftime(buf, sizeof(buf), "%Y.%m.%d %T", ltm); - printf(" file check : %s\n", buf); - } - p += sizeof(Op_Getinfo_Item) + it.file_key_size; - } - free(info); - printf("-OK-\n"); - } - } - evas_cserve_shutdown(); - evas_shutdown(); - return 0; -} -- cgit v1.1