From 09e6baa5a422e988dbcd7af1466d91e5b825f47b Mon Sep 17 00:00:00 2001 From: Gustavo Sverzut Barbieri Date: Thu, 10 Jan 2013 06:08:41 +0000 Subject: [PATCH] emotion moved into efl SVN revision: 82513 --- legacy/emotion/.gitignore | 98 -- legacy/emotion/AUTHORS | 11 - legacy/emotion/INSTALL | 14 - legacy/emotion/Makefile.am | 52 - legacy/emotion/TODO | 27 - legacy/emotion/autogen.sh | 39 - legacy/emotion/configure.ac | 370 ------- legacy/emotion/data/Makefile.am | 57 -- legacy/emotion/doc/Doxyfile.in | 137 --- legacy/emotion/doc/Makefile.am | 33 - legacy/emotion/doc/e.css | 273 ------ legacy/emotion/doc/emotion.css | 178 ---- legacy/emotion/doc/foot.html | 18 - legacy/emotion/doc/head.html | 68 -- legacy/emotion/doc/img/e.png | Bin 30052 -> 0 bytes legacy/emotion/doc/img/edoxy.css | 486 ---------- legacy/emotion/doc/img/foot_bg.png | Bin 173 -> 0 bytes legacy/emotion/doc/img/head_bg.png | Bin 214 -> 0 bytes .../doc/img/header_menu_background.png | Bin 192 -> 0 bytes .../doc/img/header_menu_background_last.png | Bin 637 -> 0 bytes .../img/header_menu_current_background.png | Bin 1200 -> 0 bytes .../img/header_menu_unselected_background.png | Bin 1596 -> 0 bytes legacy/emotion/doc/img/logo.png | Bin 3825 -> 0 bytes legacy/emotion/emotion.spec.in | 88 -- legacy/emotion/m4/ac_attribute.m4 | 46 - legacy/emotion/m4/efl_binary.m4 | 44 - legacy/emotion/m4/efl_doxygen.m4 | 94 -- legacy/emotion/m4/efl_edje_external.m4 | 56 -- legacy/emotion/m4/efl_examples.m4 | 63 -- legacy/emotion/m4/efl_shm_open.m4 | 69 -- legacy/emotion/m4/emotion_check.m4 | 216 ----- legacy/emotion/m4/gst-element-check.m4 | 23 - legacy/emotion/src/Makefile.am | 12 - legacy/emotion/src/bin/Makefile.am | 26 - legacy/emotion/src/edje_external/Makefile.am | 18 - legacy/emotion/src/examples/Makefile.am | 41 - .../emotion/src/generic_players/Makefile.am | 8 - .../src/generic_players/vlc/Makefile.am | 18 - .../generic_players/vlc/emotion_generic_vlc.c | 916 ------------------ legacy/emotion/src/lib/Makefile.am | 59 -- legacy/emotion/src/modules/Makefile.am | 4 - .../emotion/src/modules/generic/Makefile.am | 31 - .../emotion/src/modules/gstreamer/Makefile.am | 37 - legacy/emotion/src/modules/xine/Makefile.am | 31 - 44 files changed, 3761 deletions(-) delete mode 100644 legacy/emotion/.gitignore delete mode 100644 legacy/emotion/AUTHORS delete mode 100644 legacy/emotion/INSTALL delete mode 100644 legacy/emotion/Makefile.am delete mode 100644 legacy/emotion/TODO delete mode 100755 legacy/emotion/autogen.sh delete mode 100644 legacy/emotion/configure.ac delete mode 100644 legacy/emotion/data/Makefile.am delete mode 100644 legacy/emotion/doc/Doxyfile.in delete mode 100644 legacy/emotion/doc/Makefile.am delete mode 100644 legacy/emotion/doc/e.css delete mode 100644 legacy/emotion/doc/emotion.css delete mode 100644 legacy/emotion/doc/foot.html delete mode 100644 legacy/emotion/doc/head.html delete mode 100644 legacy/emotion/doc/img/e.png delete mode 100644 legacy/emotion/doc/img/edoxy.css delete mode 100644 legacy/emotion/doc/img/foot_bg.png delete mode 100644 legacy/emotion/doc/img/head_bg.png delete mode 100644 legacy/emotion/doc/img/header_menu_background.png delete mode 100644 legacy/emotion/doc/img/header_menu_background_last.png delete mode 100644 legacy/emotion/doc/img/header_menu_current_background.png delete mode 100644 legacy/emotion/doc/img/header_menu_unselected_background.png delete mode 100644 legacy/emotion/doc/img/logo.png delete mode 100644 legacy/emotion/emotion.spec.in delete mode 100644 legacy/emotion/m4/ac_attribute.m4 delete mode 100644 legacy/emotion/m4/efl_binary.m4 delete mode 100644 legacy/emotion/m4/efl_doxygen.m4 delete mode 100644 legacy/emotion/m4/efl_edje_external.m4 delete mode 100644 legacy/emotion/m4/efl_examples.m4 delete mode 100644 legacy/emotion/m4/efl_shm_open.m4 delete mode 100644 legacy/emotion/m4/emotion_check.m4 delete mode 100644 legacy/emotion/m4/gst-element-check.m4 delete mode 100644 legacy/emotion/src/Makefile.am delete mode 100644 legacy/emotion/src/bin/Makefile.am delete mode 100644 legacy/emotion/src/edje_external/Makefile.am delete mode 100644 legacy/emotion/src/examples/Makefile.am delete mode 100644 legacy/emotion/src/generic_players/Makefile.am delete mode 100644 legacy/emotion/src/generic_players/vlc/Makefile.am delete mode 100644 legacy/emotion/src/generic_players/vlc/emotion_generic_vlc.c delete mode 100644 legacy/emotion/src/lib/Makefile.am delete mode 100644 legacy/emotion/src/modules/Makefile.am delete mode 100644 legacy/emotion/src/modules/generic/Makefile.am delete mode 100644 legacy/emotion/src/modules/gstreamer/Makefile.am delete mode 100644 legacy/emotion/src/modules/xine/Makefile.am diff --git a/legacy/emotion/.gitignore b/legacy/emotion/.gitignore deleted file mode 100644 index 70e8e3c54d..0000000000 --- a/legacy/emotion/.gitignore +++ /dev/null @@ -1,98 +0,0 @@ -*.o -*.swp -*.swo -*~ -ABOUT-NLS -Makefile -Makefile.in -aclocal.m4 -autom4te.cache/ -config.cache -config.cache-env -config.guess -config.h -config.h.in -config.log -config.status -config.sub -configure -data/Makefile -data/Makefile.in -data/icon.edj -data/theme.edj -depcomp -doc/Doxyfile -doc/Makefile -doc/Makefile.in -emotion.pc -emotion.spec -install-sh -libtool -ltmain.sh -m4/libtool.m4 -m4/ltoptions.m4 -m4/ltsugar.m4 -m4/ltversion.m4 -m4/lt~obsolete.m4 -missing -src/Makefile -src/Makefile.in -src/bin/.deps/ -src/bin/.libs/ -src/bin/Makefile -src/bin/Makefile.in -src/bin/emotion_test -src/edje_external/.deps/ -src/edje_external/.libs/ -src/edje_external/Makefile -src/edje_external/Makefile.in -src/edje_external/module.la -src/edje_external/module_la-emotion.lo -src/examples/.deps/ -src/examples/.libs/ -src/examples/Makefile -src/examples/Makefile.in -src/examples/emotion_basic_example -src/examples/emotion_border_example -src/examples/emotion_generic_example -src/examples/emotion_generic_subtitle_example -src/examples/emotion_signals_example -src/generic_players/Makefile -src/generic_players/Makefile.in -src/generic_players/vlc/.deps/ -src/generic_players/vlc/Makefile -src/generic_players/vlc/Makefile.in -src/generic_players/vlc/em_generic_vlc -src/lib/.deps/ -src/lib/.libs/ -src/lib/Makefile -src/lib/Makefile.in -src/lib/emotion_main.lo -src/lib/emotion_smart.lo -src/lib/libemotion.la -src/modules/Makefile -src/modules/Makefile.in -src/modules/generic/.deps/ -src/modules/generic/.libs/ -src/modules/generic/Makefile -src/modules/generic/Makefile.in -src/modules/generic/em_generic.la -src/modules/generic/em_generic_la-emotion_generic.lo -src/modules/gstreamer/.deps/ -src/modules/gstreamer/.libs/ -src/modules/gstreamer/Makefile -src/modules/gstreamer/Makefile.in -src/modules/gstreamer/gstreamer.la -src/modules/gstreamer/gstreamer_la-emotion_alloc.lo -src/modules/gstreamer/gstreamer_la-emotion_convert.lo -src/modules/gstreamer/gstreamer_la-emotion_fakeeos.lo -src/modules/gstreamer/gstreamer_la-emotion_gstreamer.lo -src/modules/gstreamer/gstreamer_la-emotion_sink.lo -src/modules/xine/.deps/ -src/modules/xine/.libs/ -src/modules/xine/Makefile -src/modules/xine/Makefile.in -src/modules/xine/xine.la -src/modules/xine/xine_la-emotion_xine.lo -src/modules/xine/xine_la-emotion_xine_vo_out.lo -stamp-h1 diff --git a/legacy/emotion/AUTHORS b/legacy/emotion/AUTHORS deleted file mode 100644 index 0cfd8c62f2..0000000000 --- a/legacy/emotion/AUTHORS +++ /dev/null @@ -1,11 +0,0 @@ -Carsten Haitzler -Vincent Torri -Nicolas Aguirre -Sebastian Dransfeld -Cedric Bail -Rafael Antognolli -Jérôme Pinot -Pierre Le Magourou -Hugo Camboulive -Sohyun Kim -Leandro Dorileo \ No newline at end of file diff --git a/legacy/emotion/INSTALL b/legacy/emotion/INSTALL deleted file mode 100644 index 374b488bd9..0000000000 --- a/legacy/emotion/INSTALL +++ /dev/null @@ -1,14 +0,0 @@ -COMPILING and INSTALLING: - -If you got a official release tar archive do: - ./configure - -( otherwise if you got this from enlightenment cvs do: ./autogen.sh ) - -Then to compile: - make - -To install (run this as root, or the user who handles installs): - make install - -NOTE: You MUST make install Emotion for it to run properly. diff --git a/legacy/emotion/Makefile.am b/legacy/emotion/Makefile.am deleted file mode 100644 index 248f9bdf35..0000000000 --- a/legacy/emotion/Makefile.am +++ /dev/null @@ -1,52 +0,0 @@ -## Process this file with automake to produce Makefile.in - -ACLOCAL_AMFLAGS = -I m4 - -SUBDIRS = src data doc - -MAINTAINERCLEANFILES = \ -Makefile.in \ -aclocal.m4 \ -config.guess \ -config.h.in \ -config.sub \ -configure \ -depcomp \ -install-sh \ -ltconfig \ -ltmain.sh \ -missing \ -mkinstalldirs \ -stamp-h.in \ -$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz \ -$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2 \ -$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc.tar.bz2 - -EXTRA_DIST = \ -README \ -AUTHORS \ -COPYING \ -autogen.sh \ -emotion.spec \ -emotion.spec.in \ -emotion.pc.in \ -m4/ac_attribute.m4 \ -m4/efl_binary.m4 \ -m4/efl_doxygen.m4 \ -m4/efl_edje_external.m4 \ -m4/efl_examples.m4 \ -m4/efl_shm_open.m4 \ -m4/emotion_check.m4 \ -m4/gst-element-check.m4 - - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = emotion.pc - -.PHONY: doc - -# Documentation - -doc: - @echo "entering doc/" - make -C doc doc diff --git a/legacy/emotion/TODO b/legacy/emotion/TODO deleted file mode 100644 index cfe45c2166..0000000000 --- a/legacy/emotion/TODO +++ /dev/null @@ -1,27 +0,0 @@ - -Emotion smart object --------------------- - - -Xine module ------------ - -* Fix seek and get_pos threads delete bugs (infinite loop) -* Add support of visualizations for audio files (Goom...) - - -Gstreamer module ----------------- - -* Add gststreamselector to support multiple video and audio streams. -* Add API for visualisation plugins -* Add http source (N. Aguirre) -* Add mms source -* Add rtsp source -* Add dvb source -* Add v4l2 source (no v4l1 source) (N. Aguirre) -* Add dvd source (waiting for the dvdnav gstreamer source plugin, though...) -* Add daap source -* Add upnp source -* Implement time shifting -* Add evas sink to gstreamer (in progress: V. Torri) diff --git a/legacy/emotion/autogen.sh b/legacy/emotion/autogen.sh deleted file mode 100755 index 00116eaf80..0000000000 --- a/legacy/emotion/autogen.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -rm -rf autom4te.cache -rm -f aclocal.m4 ltmain.sh - -touch README -touch ABOUT-NLS - -echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS -I m4 || exit 1 -echo "Running autoheader..." ; autoheader || exit 1 -echo "Running autoconf..." ; autoconf || exit 1 -echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1 -echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1 - -W=0 - -rm -f config.cache-env.tmp -echo "OLD_PARM=\"$@\"" >> config.cache-env.tmp -echo "OLD_CFLAGS=\"$CFLAGS\"" >> config.cache-env.tmp -echo "OLD_PATH=\"$PATH\"" >> config.cache-env.tmp -echo "OLD_PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\"" >> config.cache-env.tmp -echo "OLD_LDFLAGS=\"$LDFLAGS\"" >> config.cache-env.tmp - -cmp config.cache-env.tmp config.cache-env >> /dev/null -if [ $? -ne 0 ]; then - W=1; -fi - -if [ $W -ne 0 ]; then - echo "Cleaning configure cache..."; - rm -f config.cache config.cache-env - mv config.cache-env.tmp config.cache-env -else - rm -f config.cache-env.tmp -fi - -if [ -z "$NOCONFIGURE" ]; then - ./configure -C "$@" -fi diff --git a/legacy/emotion/configure.ac b/legacy/emotion/configure.ac deleted file mode 100644 index 25dc6f4d91..0000000000 --- a/legacy/emotion/configure.ac +++ /dev/null @@ -1,370 +0,0 @@ -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -m4_define([v_maj], [1]) -m4_define([v_min], [7]) -m4_define([v_mic], [99]) -m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n'])) -m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))]) -##-- When released, remove the dnl on the below line -dnl m4_undefine([v_rev]) -##-- When doing snapshots - change soname. remove dnl on below line -m4_define([relname], [ver-pre-svn-07]) -m4_define([v_rel], [-release relname]) -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], -[m4_define([v_ver], [v_maj.v_min.v_mic])]) -m4_define([lt_rev], m4_eval(v_maj + v_min)) -m4_define([lt_cur], v_mic) -m4_define([lt_age], v_min) -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## - -AC_INIT([emotion], [v_ver], [enlightenment-devel@lists.sourceforge.net]) -AC_PREREQ([2.60]) -AC_CONFIG_SRCDIR([configure.ac]) -AC_CONFIG_MACRO_DIR([m4]) -AC_CANONICAL_BUILD -AC_CANONICAL_HOST -AC_ISC_POSIX - -AM_INIT_AUTOMAKE([1.6 dist-bzip2]) -AC_CONFIG_HEADERS([config.h]) -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -AC_LIBTOOL_WIN32_DLL -define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl -define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl -AC_PROG_LIBTOOL - -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -m4_ifdef([v_rev], , [m4_define([v_rev], [0])]) -m4_ifdef([v_rel], , [m4_define([v_rel], [])]) -AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version]) -AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version]) -AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version]) -AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison]) -version_info="lt_rev:lt_cur:lt_age" -release_info="v_rel" -AC_SUBST(version_info) -AC_SUBST(release_info) -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -VMAJ=v_maj -AC_SUBST(VMAJ) - -want_generic="yes" -case "$host_os" in - mingw*) - want_xine="no" - want_gstreamer="yes" - want_generic="no" - want_generic_vlc="no" - ;; - *) - want_xine="yes" - want_gstreamer="yes" - want_generic_vlc="yes" - ;; -esac - -requirement_emotion="" - -### Additional options to configure - -EFL_ENABLE_BIN([emotion-test]) - -# edje_cc - -AC_ARG_WITH([edje-cc], - [AC_HELP_STRING([--with-edje-cc=PATH], [specify a specific path to edje_cc])], - [ - v=$withval; - edje_cc=$v - echo " Enlightenment edje_cc explicitly set to "$edje_cc; - ], - [edje_cc=$(pkg-config --variable=prefix edje)/bin/edje_cc]) -AC_SUBST(edje_cc) - - -### Checks for programs -AC_PROG_CC - -# pkg-config -PKG_PROG_PKG_CONFIG - -# Check whether pkg-config supports Requires.private -if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then - pkgconfig_requires_private="Requires.private" -else - pkgconfig_requires_private="Requires" -fi -AC_SUBST(pkgconfig_requires_private) - -# doxygen program for documentation building - -EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"]) - - -### Checks for libraries - -requirement_emotion="ecore >= 1.6.99 evas >= 1.6.99 eet >= 1.6.99 eina >= 1.6.99" -PKG_CHECK_MODULES(EMOTION, [${requirement_emotion}]) - - -if test "x${have_emotion_test}" = "xyes" ; then - PKG_CHECK_MODULES(EMOTION_BIN, [eina >= 1.6.99 evas >= 1.6.99 ecore >= 1.6.99 ecore-evas >= 1.6.99 edje >= 1.6.99]) -fi - -PKG_CHECK_MODULES(ECORE_X, [ecore-x >= 1.6.99 ecore-evas >= 1.6.99], [have_ecore_x="yes"], [have_ecore_x="no"]) - -PKG_CHECK_MODULES(ECORE_FB, [ecore-fb >= 1.6.99], [have_ecore_fb="yes"], [have_ecore_fb="no"]) - -if test "x${have_ecore_x}" = "xyes" ; then - AC_DEFINE(EMOTION_HAVE_ECORE_X, 1, [Define to 1 if Ecore_X is enabled]) -fi - -if test "x${have_ecore_fb}" = "xyes" ; then - AC_DEFINE(EMOTION_HAVE_ECORE_FB, 1, [Define to 1 if Ecore_Fb is enabled]) -fi - -PKG_CHECK_EXISTS([evas-software-x11 >= 1.6.99], [AC_DEFINE(HAVE_EVAS_SOFWARE_X11, 1, [Evas Software Xlib Engine Support])]) - -PKG_CHECK_EXISTS([evas-xrender-x11 >= 1.6.99], [AC_DEFINE(HAVE_EVAS_XRENDER_X11, 1, [Evas Software Xlib Engine Support])]) - -PKG_CHECK_EXISTS([evas-opengl-x11 >= 1.6.99], [AC_DEFINE(HAVE_EVAS_OPENGL_X11, 1, [Evas OpenGL Xlib Engine Support])]) - -PKG_CHECK_EXISTS([evas-fb >= 1.6.99], [AC_DEFINE(HAVE_EVAS_FB, 1, [Evas Framebuffer Engine Support])]) - -EFL_EDJE_EXTERNAL([have_edje_external="yes"], [have_edje_external="no"]) - -PKG_CHECK_MODULES(EEZE, [eeze >= 1.6.99], [have_eeze="yes"], [have_eeze="no"]) - -if test "x${have_eeze}" = "xyes"; then - AC_DEFINE(EMOTION_HAVE_EEZE, 1, [Define to 1 if Eeze is available]) - requirement_emotion="${requirement_emotion} eeze >= 1.6.99" -fi - -PKG_CHECK_MODULES([EIO], [eio >= 1.6.99], [have_eio="yes"], [have_eio="no"]) -if test "x${have_eio}" = "xyes"; then - AC_DEFINE(HAVE_EIO, 1, [Use EIO for asynchronous file access]) - requirement_emotion="eio >= 1.6.99 ${requirement_emotion}" -fi - -AM_CONDITIONAL([HAVE_EIO], [test "x${have_eio}" = "xyes"]) - -# ecore-x availability, used for XV, VAAPI, VDPAU output. - -have_ecore_x="no" -AC_ARG_ENABLE([ecore-x], - [AC_HELP_STRING([--disable-ecore-x], [disable ecore-x support. @<:@default=detect@:>@])], - [ - if test "x${enableval}" = "xyes" || test "x${enableval}" = "xauto" ; then - want_ecore_x=${enableval} - else - want_ecore_x="no" - fi - ], - [want_ecore_x="auto"]) - -if ! test "x$want_ecore_x" = "xno" ; then - PKG_CHECK_MODULES([ECORE_X], - [ecore-x >= 1.6.99], - [ - AC_DEFINE(HAVE_ECORE_X, 1, [X11 support for Ecore]) - have_ecore_x="yes" - requirement_elm="ecore-x >= 1.6.99 ${requirement_elm}" - ], - [have_ecore_x="no"] - ) -else - have_ecore_x="no" -fi - -if test "x$want_ecore_x" = "xyes" && test "x$have_ecore_x" = "xno" ; then - AC_MSG_ERROR([ecore-x support requested, but not found by pkg-config.]) -fi - -### Checks for header files - -AC_CHECK_HEADERS([unistd.h]) - -# Check for video4linux - -AC_MSG_CHECKING([for V4L2]) -AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include - ]], - [[ -fprintf(stdout, "%i\n", V4L2_CAP_VIDEO_CAPTURE); - ]])], - [ - AC_DEFINE(HAVE_V4L2, 1, [Define to 1 if you have Video4Linux 2 available]) - have_v4l2="yes" - ], - [have_v4l2="no"]) -AC_MSG_RESULT([${have_v4l2}]) - -### Checks for types - - -### Checks for structures - - -### Checks for compiler characteristics -AC_C_BIGENDIAN -AC_C___ATTRIBUTE__ - -EFL_EMOTION_BUILD="" -case "$host_os" in - mingw32ce*) - EMOTION_CPPFLAGS="-D_WIN32_WCE=0x0420" - EFL_EMOTION_BUILD="-DEFL_EMOTION_BUILD" - ;; - mingw*) - EMOTION_CPPFLAGS="-D_WIN32_WINNT=0x0501" - EFL_EMOTION_BUILD="-DEFL_EMOTION_BUILD" - ;; -esac -AC_SUBST(EFL_EMOTION_BUILD) -AC_SUBST(EMOTION_CPPFLAGS) - - -### Checks for linker characteristics - -# use --enable-auto-import on Windows - -lt_enable_auto_import="" -case "$host_os" in - mingw*) - lt_enable_auto_import="-Wl,--enable-auto-import" - ;; -esac -AC_SUBST(lt_enable_auto_import) - - -### Checks for library functions -AC_FUNC_ALLOCA - - -### Modules - -EMOTION_CHECK_MODULE([Xine], [${want_xine}]) -EMOTION_CHECK_MODULE([Gstreamer], [${want_gstreamer}]) -EMOTION_CHECK_MODULE([Generic], [${want_generic}]) - -EMOTION_CHECK_GENERIC_PLAYER([VLC], [${want_generic_vlc}]) - -if test "x${enable_xine}" = "xno" && test "x${enable_gstreamer}" = "xno" && test "x${enable_generic}" = "xno" ; then - AC_MSG_ERROR([Xine, Gstreamer or Generic backends must be selected to build Emotion]) -fi - -# Check if gstreamer X Overlay is available -build_xoverlay="no" -if test "x${enable_gstreamer}" = "xyes" ; then - PKG_CHECK_MODULES([GSTREAMER_INTERFACE], - [gstreamer-interfaces-0.10 >= 0.10.34], - [build_xoverlay="yes"], - [build_xoverlay="no"]) - if test "x${build_xoverlay}" = "xyes" ; then - save_CPPFLAGS=$CPPFLAGS - CPPFLAGS="$CPPFLAGS ${GSTREAMER_CFLAGS} ${GSTREAMER_INTERFACE_CFLAGS}" - AC_CHECK_HEADER([gst/interfaces/xoverlay.h], - [ - AC_DEFINE(HAVE_XOVERLAY_H, 1, [Build with Gstreamer Xoverlay support]) - build_xoverlay="yes" - ], - [build_xoverlay="no"]) - CPPFLAGS=$save_CPPFLAGS - - save_LDFLAGS=${LDFLAGS} - LDFLAGS="${LDFLAGS} ${GSTREAMER_INTERFACES}" - AC_CHECK_LIB([gstinterfaces-0.10], - [gst_x_overlay_set_window_handle], - [AC_DEFINE([HAVE_X_OVERLAY_SET], [1], [Use gst_x_overlay_set_window_handle instead of old deprecated gst_x_overlay_set_xwindow_id])]) - LDFLAGS=$sava_LDFLAGS - fi -fi - -### install and build examples - -EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"]) -EFL_CHECK_INSTALL_EXAMPLES([enable_install_examples="yes"], [enable_install_examples="no"]) - -AC_SUBST(requirement_emotion) - -AC_OUTPUT([ -Makefile -emotion.pc -emotion.spec -src/Makefile -src/lib/Makefile -src/modules/Makefile -src/modules/xine/Makefile -src/modules/gstreamer/Makefile -src/modules/generic/Makefile -src/edje_external/Makefile -src/generic_players/Makefile -src/generic_players/vlc/Makefile -src/bin/Makefile -src/examples/Makefile -doc/Makefile -doc/Doxyfile -data/Makefile -]) - - -##################################################################### -## Info - -echo -echo -echo -echo "------------------------------------------------------------------------" -echo "$PACKAGE $VERSION" -echo "------------------------------------------------------------------------" -echo -echo "Configuration Options Summary:" -echo -echo " Modules:" -echo " Xine...............: ${enable_xine}" -echo " Gstreamer..........: ${enable_gstreamer} (X: ${have_ecore_x}/${build_xoverlay})" -echo " Generic............: ${enable_generic}" - -if test "x${enable_generic}" = "xyes" || test "x${enable_generic}" = "xstatic"; then -echo -echo " Generic Players:" -echo " VLC................: ${enable_generic_vlc}" -fi - -echo -echo " Build emotion_test...: $have_emotion_test" -echo " edje_cc..............: ${edje_cc}" -echo -echo " Edje EXTERNAL support: ${have_edje_external}" -echo -echo " Eio..................: ${have_eio}" -echo " V4L2.................: ${have_v4l2}" -echo -echo "Documentation..........: ${build_doc}" -echo "Examples.............: ${enable_build_examples}" -echo "Examples installed...: ${enable_install_examples}" -echo -echo "Compilation............: make (or gmake)" -echo " CPPFLAGS.............: $CPPFLAGS" -echo " CFLAGS...............: $CFLAGS" -echo " LDFLAGS..............: $LDFLAGS" -echo -echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')" -echo " prefix...............: $prefix" -echo -if test "x${have_static_module}" = "xyes" ; then -echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Emotion." -echo " You must know what you are doing, or else you will have a lot of problems." -echo " And asparagus will disappear from the earth." -echo " Think about that." -echo -fi diff --git a/legacy/emotion/data/Makefile.am b/legacy/emotion/data/Makefile.am deleted file mode 100644 index 4640eff627..0000000000 --- a/legacy/emotion/data/Makefile.am +++ /dev/null @@ -1,57 +0,0 @@ - -MAINTAINERCLEANFILES = Makefile.in - -EDJE_CC = @edje_cc@ -EDJE_FLAGS = -id $(top_srcdir)/data -fd $(top_srcdir)/data - -filesdir = $(datadir)/$(PACKAGE)/data - -files_DATA = - -if BUILD_EMOTION_TEST -files_DATA += theme.edj -endif - -if ENABLE_EDJE_EXTERNAL -files_DATA += icon.edj -endif - -EXTRA_DIST = \ -bpause.png \ -bplay.png \ -bstop.png \ -e_logo.png \ -fr1.png \ -fr2.png \ -fr3.png \ -fr4.png \ -fr5.png \ -fr6.png \ -fr7.png \ -h_slider.png \ -knob.png \ -orb.png \ -pnl.png \ -sl.png \ -tiles.png \ -video_frame_bottom.png \ -video_frame_left.png \ -video_frame_right.png \ -video_frame_top.png \ -whb.png \ -window_inner_shadow.png \ -theme.edc \ -icon.edc - -theme.edj: Makefile theme.edc - $(EDJE_CC) $(EDJE_FLAGS) \ - $(top_srcdir)/data/theme.edc \ - $(top_builddir)/data/theme.edj - -icon.edj: Makefile icon.edc - $(EDJE_CC) $(EDJE_FLAGS) \ - $(top_srcdir)/data/icon.edc \ - $(top_builddir)/data/icon.edj - -clean-local: - rm -f *.edj diff --git a/legacy/emotion/doc/Doxyfile.in b/legacy/emotion/doc/Doxyfile.in deleted file mode 100644 index 823cec8064..0000000000 --- a/legacy/emotion/doc/Doxyfile.in +++ /dev/null @@ -1,137 +0,0 @@ -PROJECT_NAME = Emotion -PROJECT_NUMBER = @PACKAGE_VERSION@ -OUTPUT_DIRECTORY = . -INPUT = @top_srcdir@/src/lib \ - @srcdir@/examples.dox -IMAGE_PATH = @srcdir@/img -OUTPUT_LANGUAGE = English -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = @srcdir@/head.html -HTML_FOOTER = @srcdir@/foot.html -HTML_STYLESHEET = @srcdir@/e.css -ENUM_VALUES_PER_LINE = 1 -GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -BINARY_TOC = NO -TOC_EXPAND = NO -DISABLE_INDEX = YES -EXTRACT_ALL = NO -EXTRACT_PRIVATE = NO -EXTRACT_STATIC = NO -EXTRACT_LOCAL_CLASSES = NO -HIDE_UNDOC_MEMBERS = YES -HIDE_UNDOC_CLASSES = YES -HIDE_FRIEND_COMPOUNDS = YES -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = NO -STRIP_FROM_PATH = -INTERNAL_DOCS = NO -STRIP_CODE_COMMENTS = YES -CASE_SENSE_NAMES = YES -SHORT_NAMES = NO -HIDE_SCOPE_NAMES = NO -VERBATIM_HEADERS = NO -SHOW_INCLUDE_FILES = NO -JAVADOC_AUTOBRIEF = YES -MULTILINE_CPP_IS_BRIEF = NO -INHERIT_DOCS = YES -INLINE_INFO = YES -SORT_MEMBER_DOCS = YES -DISTRIBUTE_GROUP_DOC = NO -TAB_SIZE = 2 -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ALIASES = -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = NO -SHOW_USED_FILES = NO -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = -FILE_PATTERNS = -RECURSIVE = NO -EXCLUDE = -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXAMPLE_PATH = @top_srcdir@/src/examples @top_srcdir@/src/bin -EXAMPLE_PATTERNS = -EXAMPLE_RECURSIVE = NO -INPUT_FILTER = -FILTER_SOURCE_FILES = NO -SOURCE_BROWSER = NO -INLINE_SOURCES = NO -REFERENCED_BY_RELATION = YES -REFERENCES_RELATION = YES -ALPHABETICAL_INDEX = YES -COLS_IN_ALPHA_INDEX = 2 -IGNORE_PREFIX = emotion_ _emotion_ Emotion_ _Emotion_ EMOTION_ _EMOTION_ -GENERATE_TREEVIEW = NO -TREEVIEW_WIDTH = 250 -GENERATE_LATEX = YES -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = YES -USE_PDFLATEX = YES -LATEX_BATCHMODE = NO -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -GENERATE_MAN = YES -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = YES -GENERATE_XML = NO -XML_SCHEMA = -XML_DTD = -GENERATE_AUTOGEN_DEF = NO -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = NO -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = NO -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -CLASS_DIAGRAMS = NO -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = NO -CLASS_GRAPH = NO -COLLABORATION_GRAPH = NO -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = NO -INCLUDED_BY_GRAPH = NO -GRAPHICAL_HIERARCHY = NO -DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = -DOT_GRAPH_MAX_NODES = 50 -GENERATE_LEGEND = YES -DOT_CLEANUP = YES -SEARCHENGINE = NO diff --git a/legacy/emotion/doc/Makefile.am b/legacy/emotion/doc/Makefile.am deleted file mode 100644 index f5cdc41160..0000000000 --- a/legacy/emotion/doc/Makefile.am +++ /dev/null @@ -1,33 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in - -.PHONY: doc - -PACKAGE_DOCNAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc - -if EFL_BUILD_DOC - -doc-clean: - rm -rf html/ latex/ man/ xml/ $(top_builddir)/$(PACKAGE_DOCNAME).tar* - -doc: all doc-clean - $(efl_doxygen) - cp $(srcdir)/img/* html/ - cp $(srcdir)/img/* latex/ - rm -rf $(PACKAGE_DOCNAME).tar* - mkdir -p $(PACKAGE_DOCNAME)/doc - cp -R html/ latex/ man/ $(PACKAGE_DOCNAME)/doc - tar cf $(PACKAGE_DOCNAME).tar $(PACKAGE_DOCNAME)/ - bzip2 -9 $(PACKAGE_DOCNAME).tar - rm -rf $(PACKAGE_DOCNAME)/ - mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir) - -clean-local: doc-clean - -else - -doc: - @echo "Documentation not built. Run ./configure --help" - -endif - -EXTRA_DIST = Doxyfile.in $(wildcard img/*.*) e.css head.html foot.html examples.dox diff --git a/legacy/emotion/doc/e.css b/legacy/emotion/doc/e.css deleted file mode 100644 index 2dd6b44798..0000000000 --- a/legacy/emotion/doc/e.css +++ /dev/null @@ -1,273 +0,0 @@ -/* - Author: - Andres Blanc - DaveMDS Andreoli - - Supported Browsers: - ie7, opera9, konqueror4 and firefox3 - - Please use a different file for ie6, ie5, etc. hacks. -*/ - - -/* Necessary to place the footer at the bottom of the page */ -html, body { - height: 100%; - margin: 0px; - padding: 0px; -} - -#container { - min-height: 100%; - height: auto !important; - height: 100%; - margin: 0 auto -53px; -} - -#footer, #push { - height: 53px; -} - - -* html #container { - height: 100%; -} - -/* Prevent floating elements overflowing containers */ -.clear { - clear: both; - width: 0px; - height: 0px; -} - -/* Flexible & centered layout from 750 to 960 pixels */ -.layout { - max-width: 960px; - min-width: 760px; - margin-left: auto; - margin-right: auto; -} - -body { - /*font-family: Lucida Grande, Helvetica, sans-serif;*/ - font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif -} - -/* Prevent design overflowing the viewport in small resolutions */ -#container { - padding-right: 17px; - padding-left: 17px; - background-image: url(head_bg.png); - background-repeat: repeat-x; -} - -/****************************/ -/* Top main menu */ -/****************************/ -#header_logo { - background-image : url(logo.png); - width : 61px; -} - -#header_logo a { - position : absolute; - border : 0px; - background-color : transparent; - top : 0px; - width : 60px; - height : 60px; -} - -#header_menu { - background-image : url(header_menu_background.png); - font : normal 10pt verdana,'Bitstream Vera Sans',helvetica,arial,sans-serif; - text-align : right; -} - -#header_last { - background-image : url(header_menu_background_last.png); - width : 15px; -} - -td.nav_passive { - background : url(header_menu_unselected_background.png) 0 0 no-repeat; - height : 63px; - font-family : "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif; - font-size : 11px; - padding : 20px 10px 20px 10px; - vertical-align : middle; -} - -td.nav_active { - background : url(header_menu_current_background.png) 0 0 no-repeat; - height : 63px; - color : #646464; - font-family : "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif; - font-size : 11px; - font-weight : bold; - padding : 20px 10px 20px 10px; - vertical-align : middle; -} - -#header_menu a { - display : block; - text-decoration : none; - cursor : pointer; - color : #cdcdcd; -} - - - -#header { - width: 100%; - height: 102px; -} - -#header h1 { - width: 63px; - height: 63px; - position: absolute; - margin: 0px; -} - -#header h1 span { - display: none; -} - -#header h2 { - display: none; -} - -/* .menu-container is used to set properties common to .menu and .submenu */ -#header .menu-container { -} - -#header .menu-container ul { - list-style-type: none; - list-style-position: inside; - margin: 0; -} - -#header .menu-container li { - display: block; - float: right; -} - -#header .menu { - height: 63px; - display: block; - background-image: url(menu_bg.png); - background-repeat: repeat-x; -} - -#header .menu ul { - height: 100%; - display: block; - background-image: url(menu_bg_last.png); - background-repeat: no-repeat; - background-position: top right; - padding-right: 17px; -} - -#header .menu li { - height: 100%; - text-align: center; - background-image: url(menu_bg_unsel.png); - background-repeat: no-repeat; -} - -#header .menu a { - height: 100%; - display: block; - color: #cdcdcd; - text-decoration: none; - font-size: 10pt; - line-height: 59px; - text-align: center; - padding: 0px 15px 0px 15px; -} - -#header .menu li:hover { - background-image: url(menu_bg_hover.png); - background-repeat: no-repeat; -} - -#header .menu li:hover a { - color: #FFFFFF; -} - -#header .menu li.current { - background-image: url(menu_bg_current.png); - background-repeat: no-repeat; -} - -#header .menu li.current a { - color: #646464; -} - - -/* Hide all the submenus but the current */ -#header .submenu ul { - display: none; -} - -#header .submenu .current { - display: block; -} - -#header .submenu { - font: bold 10px verdana,'Bitstream Vera Sans',helvetica,arial,sans-serif; - margin-top: 10px; -} - -#header .submenu a { - color: #888888; - text-decoration: none; - font-size: 0.9em; - line-height: 15px; - padding:0px 5px 0px 5px; -} - -#header .submenu a:hover { - color: #444444; -} - -#header .submenu li { - border-left: 1px solid #DDDDDD; -} - -#header .submenu li:last-child { - border-left: 0; -} - -#header .doxytitle { - position: absolute; - font-size: 1.8em; - font-weight: bold; - color: #444444; - line-height: 35px; -} - -#header small { - font-size: 0.4em; -} - -#footer { - background-image: url(foot_bg.png); - width: 100%; -} - -#footer table { - width: 100%; - text-align: center; - white-space: nowrap; - padding: 5px 30px 5px 30px; - font-size: 0.8em; - font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif; - color: #888888; -} - -#footer td.copyright { - width: 100%; -} - diff --git a/legacy/emotion/doc/emotion.css b/legacy/emotion/doc/emotion.css deleted file mode 100644 index 6117b397ba..0000000000 --- a/legacy/emotion/doc/emotion.css +++ /dev/null @@ -1,178 +0,0 @@ -td.md { - background-color: #ffffff; - font-family: monospace; - text-align: left; - vertical-align: center; - font-size: 10; - padding-right : 1px; - padding-top : 1px; - padding-left : 1px; - padding-bottom : 1px; - margin-left : 1px; - margin-right : 1px; - margin-top : 1px; - margin-bottom : 1px -} -td.mdname { - font-family: monospace; - text-align: left; - vertical-align: center; - font-size: 10; - padding-right : 1px; - padding-top : 1px; - padding-left : 1px; - padding-bottom : 1px; - margin-left : 1px; - margin-right : 1px; - margin-top : 1px; - margin-bottom : 1px -} -h1 -{ - text-align: center; - color: #333333 -} -h2 -{ - text-align: left; - color: #333333 -} -h3 -{ - text-align: left; - color: #333333 -} -a:link -{ - text-decoration: none; - color: #444444; - font-weight: bold; -} -a:visited -{ - text-decoration: none; - color: #666666; - font-weight: bold; -} -a:hover -{ - text-decoration: none; - color: #000000; - font-weight: bold; -} -a.nav:link -{ - text-decoration: none; - color: #444444; - font-weight: normal; -} -a.nav:visited -{ - text-decoration: none; - color: #666666; - font-weight: normal; -} -a.nav:hover -{ - text-decoration: none; - color: #000000; - font-weight: normal; -} -a.qindex:link -{ - text-decoration: none; - color: #444444; - font-weight: normal; -} -a.qindex:visited -{ - text-decoration: none; - color: #666666; - font-weight: normal; -} -a.qindex:hover -{ - text-decoration: none; - color: #000000; - font-weight: normal; -} -p -{ - color: #000000; - font-family: sans-serif; - font-size: 10; -} -body { - background-image: url("hilite.png"); - background-repeat: no-repeat; - background-position: left top; - background-color: #dddddd; - color: #000000; - font-family: sans-serif; - padding: 8px; - margin: 0; -} -div.fragment -{ - background-image: url("hilite.png"); - background-repeat: no-repeat; - background-position: left top; - border: thin solid #888888; - background-color: #eeeeee; - padding: 4px; - text-align: left; - vertical-align: center; - font-size: 12; -} -hr -{ - border: 0; - background-color: #000000; - width: 80%; - height: 1; -} -dl -{ - background-image: url("hilite.png"); - background-repeat: no-repeat; - background-position: left top; - border: thin solid #aaaaaa; - background-color: #eeeeee; - padding: 4px; - text-align: left; - vertical-align: center; - font-size: 12; -} -em -{ - color: #334466; - font-family: courier; - font-size: 10; - font-style: normal; -} - -div.nav -{ - border: thin solid #000000; - background-color: #ffffff; - padding: 1px; - text-align: center; - vertical-align: center; - font-size: 12; -} -div.body -{ - border: thin solid #000000; - background-color: #ffffff; - padding: 4px; - text-align: left; - font-size: 10; -} -div.diag -{ - border: thin solid #888888; - background-color: #eeeeee; - padding: 4px; - text-align: center; - font-size: 8; -} diff --git a/legacy/emotion/doc/foot.html b/legacy/emotion/doc/foot.html deleted file mode 100644 index d43cf8fcc0..0000000000 --- a/legacy/emotion/doc/foot.html +++ /dev/null @@ -1,18 +0,0 @@ - -
- - - - - - - - - - - diff --git a/legacy/emotion/doc/head.html b/legacy/emotion/doc/head.html deleted file mode 100644 index 16696c4a7d..0000000000 --- a/legacy/emotion/doc/head.html +++ /dev/null @@ -1,68 +0,0 @@ - - - $title - - - - - - - - - - - - - - -
- - - -
-
diff --git a/legacy/emotion/doc/img/e.png b/legacy/emotion/doc/img/e.png deleted file mode 100644 index d42aeb420098578b19a3eab3d6d1e6e73e3277bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30052 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 EKVH2_NB{r; diff --git a/legacy/emotion/doc/img/edoxy.css b/legacy/emotion/doc/img/edoxy.css deleted file mode 100644 index 311ca23d46..0000000000 --- a/legacy/emotion/doc/img/edoxy.css +++ /dev/null @@ -1,486 +0,0 @@ -/* - * This file contain a custom doxygen style to match e.org graphics - */ - - - -/* BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { - font-family: Geneva, Arial, Helvetica, sans-serif; -}*/ -BODY, TD { - font-size: 12px; -} -H1 { - text-align: center; - font-size: 160%; -} -H2 { - font-size: 120%; -} -H3 { - font-size: 100%; -} -CAPTION { - font-weight: bold -} -DIV.qindex { - width: 100%; - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; -} -DIV.navpath { - width: 100%; - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; -} -DIV.navtab { - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} -TD.navtab { - font-size: 70%; -} -A.qindex { - text-decoration: none; - font-weight: bold; - color: #1A419D; -} -A.qindex:visited { - text-decoration: none; - font-weight: bold; - color: #1A419D -} -A.qindex:hover { - text-decoration: none; - background-color: #ddddff; -} -A.qindexHL { - text-decoration: none; - font-weight: bold; - background-color: #6666cc; - color: #ffffff; - border: 1px double #9295C2; -} -A.qindexHL:hover { - text-decoration: none; - background-color: #6666cc; - color: #ffffff; -} -A.qindexHL:visited { - text-decoration: none; - background-color: #6666cc; - color: #ffffff -} -A.el { - text-decoration: none; - font-weight: bold -} -A.elRef { - font-weight: bold -} -A.code:link { - text-decoration: none; - font-weight: normal; - color: #0000FF -} -A.code:visited { - text-decoration: none; - font-weight: normal; - color: #0000FF -} -A.codeRef:link { - font-weight: normal; - color: #0000FF -} -A.codeRef:visited { - font-weight: normal; - color: #0000FF -} -A:hover, A:visited:hover { - text-decoration: none; - /* background-color: #f2f2ff; */ - color: #000055; -} -A.anchor { - color: #000; -} -DL.el { - margin-left: -1cm -} -.fragment { - font-family: monospace, fixed; - font-size: 95%; -} -PRE.fragment { - border: 1px solid #CCCCCC; - background-color: #f5f5f5; - margin-top: 4px; - margin-bottom: 4px; - margin-left: 2px; - margin-right: 8px; - padding-left: 6px; - padding-right: 6px; - padding-top: 4px; - padding-bottom: 4px; -} -DIV.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px -} - -DIV.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: bold; -} -DIV.groupText { - margin-left: 16px; - font-style: italic; - font-size: 90% -} -/*BODY { - background: white; - color: black; - margin-right: 20px; - margin-left: 20px; -}*/ -TD.indexkey { - background-color: #e8eef2; - font-weight: bold; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TD.indexvalue { - background-color: #e8eef2; - font-style: italic; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TR.memlist { - background-color: #f0f0f0; -} -P.formulaDsp { - text-align: center; -} -IMG.formulaDsp { -} -IMG.formulaInl { - vertical-align: middle; -} -SPAN.keyword { color: #008000 } -SPAN.keywordtype { color: #604020 } -SPAN.keywordflow { color: #e08000 } -SPAN.comment { color: #800000 } -SPAN.preprocessor { color: #806020 } -SPAN.stringliteral { color: #002080 } -SPAN.charliteral { color: #008080 } -SPAN.vhdldigit { color: #ff00ff } -SPAN.vhdlchar { color: #000000 } -SPAN.vhdlkeyword { color: #700070 } -SPAN.vhdllogic { color: #ff0000 } - -.mdescLeft { - padding: 0px 8px 4px 8px; - font-size: 80%; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.mdescRight { - padding: 0px 8px 4px 8px; - font-size: 80%; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.memItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplParams { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - color: #606060; - background-color: #FAFAFA; - font-size: 80%; -} -.search { - color: #003399; - font-weight: bold; -} -FORM.search { - margin-bottom: 0px; - margin-top: 0px; -} -INPUT.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -TD.tiny { - font-size: 75%; -} -a { - color: #1A41A8; -} -a:visited { - color: #2A3798; -} -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #84b0c7; -} -TH.dirtab { - background: #e8eef2; - font-weight: bold; -} -HR { - height: 1px; - border: none; - border-top: 1px solid black; -} - -/* Style for detailed member documentation */ -.memtemplate { - font-size: 80%; - color: #606060; - font-weight: normal; - margin-left: 3px; -} -.memnav { - background-color: #eeeeee; - border: 1px solid #dddddd; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} -.memitem { - padding: 4px; - background-color: #eeeeee; - border-width: 1px; - border-style: solid; - border-color: #dddddd; - -moz-border-radius: 4px 4px 4px 4px; -} -.memname { - white-space: nowrap; - font-weight: bold; - color: #ffffff; -} -.memdoc{ - padding-left: 10px; -} -.memproto { - background-color: #111111; - width: 100%; - border-width: 1px; - border-style: solid; - border-color: #000000; - font-weight: bold; - -moz-border-radius: 4px 4px 4px 4px; -} -.paramkey { - text-align: right; - color: #ffffff; -} -.paramtype { - white-space: nowrap; - color: #aaaaaa; -} -.paramname { - color: #ff0000; - font-style: italic; - white-space: nowrap; -} -/* End Styling for detailed member documentation */ - -/* for the tree view */ -.ftvtree { - font-family: sans-serif; - margin:0.5em; -} -/* these are for tree view when used as main index */ -.directory { - font-size: 9pt; - font-weight: bold; -} -.directory h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} - -/* The following two styles can be used to replace the root node title */ -/* with an image of your choice. Simply uncomment the next two styles, */ -/* specify the name of your image and be sure to set 'height' to the */ -/* proper pixel height of your image. */ - -/* .directory h3.swap { */ -/* height: 61px; */ -/* background-repeat: no-repeat; */ -/* background-image: url("yourimage.gif"); */ -/* } */ -/* .directory h3.swap span { */ -/* display: none; */ -/* } */ - -.directory > h3 { - margin-top: 0; -} -.directory p { - margin: 0px; - white-space: nowrap; -} -.directory div { - display: none; - margin: 0px; -} -.directory img { - vertical-align: -30%; -} -/* these are for tree view when not used as main index */ -.directory-alt { - font-size: 100%; - font-weight: bold; -} -.directory-alt h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} -.directory-alt > h3 { - margin-top: 0; -} -.directory-alt p { - margin: 0px; - white-space: nowrap; -} -.directory-alt div { - display: none; - margin: 0px; -} -.directory-alt img { - vertical-align: -30%; -} - diff --git a/legacy/emotion/doc/img/foot_bg.png b/legacy/emotion/doc/img/foot_bg.png deleted file mode 100644 index b24f3a48b4e076b88cf1e802b46087ffbb3fabd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^j6iJ9!3HE1Qx}DR1d4;)ofy`glX(f`uqAoByD;nl zL8a%*b^=8>3p^r=85p>QL70(Y)*K0-AbW|YuPgga7CvEi%SZD}LFVdux;TbNTu#2R zIsJTn+kYTPulo1Ll3AD;2!xfDmD#wLvj}>v&@k-CVP=T_%(cphxuXQAk-^i|&t;uc GLK6Ub>Mc;VkfoEM{Qf z76xHPhFNnYfP(BLp1!W^H+WcuRXD>A=l%i;Wq7(chG?8W+i%Esz<`6f_y7NWHH!5o z63R1{^0cb0vMSkFaE_%x<+7O{*?Xs&Ff%xKT5jO&GtAqcqoa~}b>qg&H07ky z617wnX2HUfTT*8{kPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iOZ8 z6%`IG`XD&~00I3;L_t(o!^Kz8j>8}fODg_+AF{uksuh}hxC0rJP`W$mkkHl^jB%XM z>f`Y+`Dtd>`gxwMmr`2KIk$cshdiH8N#}XW6$o}5WA?p%5)sKc%eHO9fR!#HlFUqU z&XQ6Z1~3DUmCHm#rjx?$lu|lm24QA+Eh4g2CJ}X<;QbGo;J_$CohD|s1Tu}z3KIrH zRtpQ8-Z|UyQP4caCB~&Z3QG0mMzcQLYIcQ!(sFW-xf9knF@|(?iY~XAOhHzd%#8OD2m>x}XSSsVf@;^obfpX48<@ZgFF$M4@xtjbM#B=Ojp!9yfFNKXj22K7STvD?00000NkvXXu0mjfB76)l diff --git a/legacy/emotion/doc/img/header_menu_current_background.png b/legacy/emotion/doc/img/header_menu_current_background.png deleted file mode 100644 index de97c9268e4ac68310c8b92d6ab6bd8a245611da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1200 zcmV;h1W)^kP)002J-1^@s6XaB>y00001b5ch_0Itp) z=>Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RT3Fc5TrKj#zpOzs?z2=A0p@aw&u*pMn|G)ug+?Vh;0+zHe5dVLoF=!DBW&zJ?E zp99|S_j0@4%Io#|xG+sqdB5NP{rn5Cj%O+78UIn|DpKcsK9>`B2V6JsOB3oD&r;4a z{-e%Sw9ela{A&{jdu5*U-Tgr1~ zQc-ZvZCmQQrCnTG+COg8zWQ3Lv1sjNIKQPlR|Xsq_}(oT0MbDS91lPg3>xeBFKokrh3I+f~!N36>5GNtP zFb=56FWNP#oK=?bNEQ~!rtXW9X1GX=k~FL`OjOeF$R)LGB-wAZi(5xddgID^{pUl5 z$!2zVWE!iC5c%CAFL=jfl{TW1M$7Wjcr9z}SyPKmlC20r0B}G6Q80PClsJ^eQ9Rdb zuHflIJ5saoBdvW)J5o7`LrQ$sb0li*FS@pt^@$vLe#kJ^<1ntHwKLacEE8!V_VYY{ z^jk0Fa-9o0ILfhhgnDcg*`~%yk#UNgFLkMLQ1xp&>oHLMt>=krgKLZ9aoj&)eVyWk z+VI9yb#%knV zBgOT1iW^1q->g9a$6utrxv^4Ql-s5#yS%xS5>LwpJyaYZ1w-06F426k%%gi2p;YTL zn*Zi$*TU&q<}Gq{z5F%GPa}Dt9$}k233)sorIb>h&nNZ+VE-)`LNtIN1b_p=0f8Pk zSwvore6GJZg3A%uh&UU`%8A$z3ApNcvGym`^9BW5y;mkO7OVYaI#wj=im2;bzSt*w z8j*3rXhhk-tiA%ik?Y6P7yM_$}>d^Cl%aa8a!%A!J=gv)gqCjA%RAmjShY zk&jin$jBj)wrhPzE#o_v^@kLW;DnK~k;Uxogc+{8mlL+=3tKP%4hR4$2Lynj z95C}RO)LJ$<@I?2i7h|tH#%lcU&}tk-(ol0<1_foFDdWsgqjV%=7cRA;M<%KLNw4f z2!R6vT{&RuTk7799C>JZ4;!>{ThW;;ZOYD_SA%VO2ZR&C3B68;Eg1NXEf@e0gaF^` zfS#=57JO;X{zkCF($|*uL^8|wn48N;fkQ7R9I3CpA0+QRH%LYRy5b)R!`g7p731Il O0000002J-1^@s6XaB>y00001b5ch_0Itp) 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 -Vendor: %{?_vendorinfo:%{_vendorinfo}}%{!?_vendorinfo:The Enlightenment Project (http://www.enlightenment.org/)} -Distribution: %{?_distribution:%{_distribution}}%{!?_distribution:%{_vendor}} -#BuildSuggests: xorg-x11-devel XFree86-devel libX11-devel libxine1-devel xine-lib-devel -#BuildSuggests: gstreamer-devel gstreamer-plugins-devel gstreamer-plugins-base-devel gstreamer-ffmpeg -BuildRequires: eina-devel, evas-devel, ecore-devel, edje-devel, edje-bin -BuildRequires: /usr/bin/xine-config gstreamer-plugins-base-devel -BuildRoot: %{_tmppath}/%{name}-%{version}-root - -%description -Emotion is a Media Library - - -%package devel -Summary: Emotion headers, static libraries, documentation and test programs -Group: System Environment/Libraries -Requires: %{name} = %{version} -Requires: efl-devel edje-devel - -%description devel -Headers, static libraries, test programs and documentation for Emotion - - -%prep -%setup -q - - -%build -%{configure} --prefix=%{_prefix} --enable-static --enable-shared -%{__make} %{?_smp_mflags} %{?mflags} - - -%install -%{__make} %{?mflags_install} DESTDIR=$RPM_BUILD_ROOT install -test -x `which doxygen` && sh gendoc || : - -# Remove useless static modules -%{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/*a - - -%post -/sbin/ldconfig || : - - -%postun -/sbin/ldconfig || : - - -%clean -test "x$RPM_BUILD_ROOT" != "x/" && rm -rf $RPM_BUILD_ROOT - - -%files -%defattr(-, root, root) -%doc AUTHORS COPYING* README -%dir %{_libdir}/%{name} -%{_bindir}/%{name}_* -%{_libdir}/libemotion.so.* -%{_libdir}/%{name}/*.so -#%{_libdir}/xine/plugins/*/xineplug_vo_out_emotion.so -%{_datadir}/%{name} - -%files devel -%defattr(-, root, root) -%doc doc/html -%{_includedir}/emotion-1/*.h -%{_libdir}/libemotion.a -%{_libdir}/libemotion.la -%{_libdir}/libemotion.so -%{_libdir}/edje/modules/emotion/*/module.la -%{_libdir}/edje/modules/emotion/*/module.so -#%{_libdir}/xine/plugins/*/xineplug_vo_out_emotion.a -#%{_libdir}/xine/plugins/*/xineplug_vo_out_emotion.la -%{_libdir}/pkgconfig/%{name}.pc - - -%changelog diff --git a/legacy/emotion/m4/ac_attribute.m4 b/legacy/emotion/m4/ac_attribute.m4 deleted file mode 100644 index 3926d23d56..0000000000 --- a/legacy/emotion/m4/ac_attribute.m4 +++ /dev/null @@ -1,46 +0,0 @@ -dnl Copyright (C) 2004-2008 Kim Woelders -dnl Copyright (C) 2008 Vincent Torri -dnl That code is public domain and can be freely used or copied. -dnl Originally snatched from somewhere... - -dnl Macro for checking if the compiler supports __attribute__ - -dnl Usage: AC_C___ATTRIBUTE__ -dnl call AC_DEFINE for HAVE___ATTRIBUTE__ and __UNUSED__ -dnl if the compiler supports __attribute__, HAVE___ATTRIBUTE__ is -dnl defined to 1 and __UNUSED__ is defined to __attribute__((unused)) -dnl otherwise, HAVE___ATTRIBUTE__ is not defined and __UNUSED__ is -dnl defined to nothing. - -AC_DEFUN([AC_C___ATTRIBUTE__], -[ - -AC_MSG_CHECKING([for __attribute__]) - -AC_CACHE_VAL([ac_cv___attribute__], - [AC_TRY_COMPILE( - [ -#include - -int func(int x); -int foo(int x __attribute__ ((unused))) -{ - exit(1); -} - ], - [], - [ac_cv___attribute__="yes"], - [ac_cv___attribute__="no"] - )] -) - -AC_MSG_RESULT($ac_cv___attribute__) - -if test "x${ac_cv___attribute__}" = "xyes" ; then - AC_DEFINE([HAVE___ATTRIBUTE__], [1], [Define to 1 if your compiler has __attribute__]) - AC_DEFINE([__UNUSED__], [__attribute__((unused))], [Macro declaring a function argument to be unused]) - else - AC_DEFINE([__UNUSED__], [], [Macro declaring a function argument to be unused]) -fi - -]) diff --git a/legacy/emotion/m4/efl_binary.m4 b/legacy/emotion/m4/efl_binary.m4 deleted file mode 100644 index b9c9fd16c5..0000000000 --- a/legacy/emotion/m4/efl_binary.m4 +++ /dev/null @@ -1,44 +0,0 @@ -dnl Copyright (C) 2010 Vincent Torri -dnl That code is public domain and can be freely used or copied. - -dnl Macro that check if a binary is built or not - -dnl Usage: EFL_ENABLE_BIN(binary[, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) -dnl Call AC_SUBST(BINARY_PRG) (BINARY is the uppercase of binary, - being transformed into _) -dnl Define have_binary (- is transformed into _) -dnl Define conditional BUILD_BINARY (BINARY is the uppercase of binary, - being transformed into _) - -AC_DEFUN([EFL_ENABLE_BIN], -[ - -m4_pushdef([UP], m4_translit([[$1]], [-a-z], [_A-Z]))dnl -m4_pushdef([DOWN], m4_translit([[$1]], [-A-Z], [_a-z]))dnl - -have_[]m4_defn([DOWN])="yes" - -dnl configure option - -AC_ARG_ENABLE([$1], - [AC_HELP_STRING([--disable-$1], [disable building of ]DOWN)], - [ - if test "x${enableval}" = "xyes" ; then - have_[]m4_defn([DOWN])="yes" - else - have_[]m4_defn([DOWN])="no" - fi - ]) - -AC_MSG_CHECKING([whether to build ]DOWN[ binary]) -AC_MSG_RESULT([$have_[]m4_defn([DOWN])]) - -if test "x$have_[]m4_defn([DOWN])" = "xyes"; then - UP[]_PRG=DOWN[${EXEEXT}] -fi - -AC_SUBST(UP[]_PRG) - -AM_CONDITIONAL(BUILD_[]UP, test "x$have_[]m4_defn([DOWN])" = "xyes") - -AS_IF([test "x$have_[]m4_defn([DOWN])" = "xyes"], [$2], [$3]) - -]) diff --git a/legacy/emotion/m4/efl_doxygen.m4 b/legacy/emotion/m4/efl_doxygen.m4 deleted file mode 100644 index 7324af3e42..0000000000 --- a/legacy/emotion/m4/efl_doxygen.m4 +++ /dev/null @@ -1,94 +0,0 @@ -dnl Copyright (C) 2008 Vincent Torri -dnl That code is public domain and can be freely used or copied. - -dnl Macro that check if doxygen is available or not. - -dnl EFL_CHECK_DOXYGEN([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) -dnl Test for the doxygen program -dnl Defines efl_doxygen -dnl Defines the automake conditionnal EFL_BUILD_DOC -dnl -AC_DEFUN([EFL_CHECK_DOXYGEN], -[ - -dnl -dnl Disable the build of the documentation -dnl -AC_ARG_ENABLE([doc], - [AC_HELP_STRING( - [--disable-doc], - [Disable documentation build @<:@default=enabled@:>@])], - [ - if test "x${enableval}" = "xyes" ; then - efl_enable_doc="yes" - else - efl_enable_doc="no" - fi - ], - [efl_enable_doc="yes"]) - -AC_MSG_CHECKING([whether to build documentation]) -AC_MSG_RESULT([${efl_enable_doc}]) - -if test "x${efl_enable_doc}" = "xyes" ; then - -dnl Specify the file name, without path - - efl_doxygen="doxygen" - - AC_ARG_WITH([doxygen], - [AC_HELP_STRING( - [--with-doxygen=FILE], - [doxygen program to use @<:@default=doxygen@:>@])], - -dnl Check the given doxygen program. - - [efl_doxygen=${withval} - AC_CHECK_PROG([efl_have_doxygen], - [${efl_doxygen}], - [yes], - [no]) - if test "x${efl_have_doxygen}" = "xno" ; then - echo "WARNING:" - echo "The doxygen program you specified:" - echo "${efl_doxygen}" - echo "was not found. Please check the path and make sure " - echo "the program exists and is executable." - AC_MSG_WARN([no doxygen detected. Documentation will not be built]) - fi - ], - [AC_CHECK_PROG([efl_have_doxygen], - [${efl_doxygen}], - [yes], - [no]) - if test "x${efl_have_doxygen}" = "xno" ; then - echo "WARNING:" - echo "The doxygen program was not found in your execute path." - echo "You may have doxygen installed somewhere not covered by your path." - echo "" - echo "If this is the case make sure you have the packages installed, AND" - echo "that the doxygen program is in your execute path (see your" - echo "shell manual page on setting the \$PATH environment variable), OR" - echo "alternatively, specify the program to use with --with-doxygen." - AC_MSG_WARN([no doxygen detected. Documentation will not be built]) - fi - ]) -else - efl_have_doxygen="no" -fi - -dnl -dnl Substitution -dnl -AC_SUBST([efl_doxygen]) - -if ! test "x${efl_have_doxygen}" = "xyes" ; then - efl_enable_doc="no" -fi - -AM_CONDITIONAL(EFL_BUILD_DOC, test "x${efl_have_doxygen}" = "xyes") - -AS_IF([test "x$efl_have_doxygen" = "xyes"], [$1], [$2]) -]) - -dnl End of efl_doxygen.m4 diff --git a/legacy/emotion/m4/efl_edje_external.m4 b/legacy/emotion/m4/efl_edje_external.m4 deleted file mode 100644 index 53f8d4b072..0000000000 --- a/legacy/emotion/m4/efl_edje_external.m4 +++ /dev/null @@ -1,56 +0,0 @@ -dnl Copyright (C) 2010-2011 Vincent Torri -dnl That code is public domain and can be freely used or copied. - -dnl Macro that check if edje external should be enabled or not - -dnl Usage: EFL_EDJE_EXTERNAL([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) -dnl Call AC_SUBST(EDJE_EXTERNAL_CFLAGS) -dnl Call AC_SUBST(EDJE_EXTERNAL_LIBS) -dnl Define conditional ENABLE_EDJE_EXTERNAL - -AC_DEFUN([EFL_EDJE_EXTERNAL], -[ - -AC_ARG_ENABLE([edje-external], - [AC_HELP_STRING([--disable-edje-external], - [disable providing Edje EXTERNAL support. @<:@default=enabled@:>@])], - [ - if test "x${enableval}" = "xyes" ; then - _efl_want_edje_external="yes" - else - _efl_want_edje_external="no" - fi - ], - [_efl_want_edje_external="auto"]) - -AC_MSG_CHECKING([if should provide Edje EXTERNAL support...]) -AC_MSG_RESULT([${_efl_want_edje_external}]) - -_efl_enable_edje_external="no" -if ! test "x${_efl_want_edje_external}" = "xno" ; then - PKG_CHECK_MODULES([EDJE_EXTERNAL], - [edje >= 1.0.0], - [_efl_enable_edje_external="yes"], - [_efl_enable_edje_external="no"]) -fi - -AC_SUBST(EDJE_EXTERNAL_CFLAGS) -AC_SUBST(EDJE_EXTERNAL_LIBS) - -if test "x${_efl_want_edje_external}" = "xyes" && test "x${_efl_enable_edje_external}" = "xno" ; then - AC_MSG_ERROR([Edje EXTERNAL support requested, but Edje not found by pkg-config.]) -fi - -if test "x${_efl_enable_edje_external}" = "xyes" ; then - EDJE_VERSION=`${PKG_CONFIG} edje --modversion | awk -F . '{printf("%s.%s.%s", $[]1, $[]2, $[]3);}'` - MODULE_EDJE="$host_os-$host_cpu-${EDJE_VERSION}" - AC_DEFINE_UNQUOTED(MODULE_EDJE, "$MODULE_EDJE", "Edje module architecture") -fi - -AC_SUBST(MODULE_EDJE) - -AM_CONDITIONAL([ENABLE_EDJE_EXTERNAL], [test "x${_efl_enable_edje_external}" = "xyes"]) - -AS_IF([test "x${_efl_enable_edje_external}" = "xyes"], [$1], [$2]) - -]) diff --git a/legacy/emotion/m4/efl_examples.m4 b/legacy/emotion/m4/efl_examples.m4 deleted file mode 100644 index 2a809adff5..0000000000 --- a/legacy/emotion/m4/efl_examples.m4 +++ /dev/null @@ -1,63 +0,0 @@ -dnl Copyright (C) 2008 Vincent Torri -dnl That code is public domain and can be freely used or copied. - -dnl Macro that check if building examples is wanted. - -dnl Usage: EFL_CHECK_BUILD_EXAMPLES([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) -dnl Defines the automake conditionnal EFL_ENABLE_BUILD_EXAMPLES - -AC_DEFUN([EFL_CHECK_BUILD_EXAMPLES], -[ - -dnl configure option - -AC_ARG_ENABLE([build-examples], - [AC_HELP_STRING([--enable-build-examples], [enable building examples @<:@default=disabled@:>@])], - [ - if test "x${enableval}" = "xyes" ; then - _efl_enable_build_examples="yes" - else - _efl_enable_build_examples="no" - fi - ], - [_efl_enable_build_examples="no"]) - -AC_MSG_CHECKING([whether examples are built]) -AC_MSG_RESULT([${_efl_enable_build_examples}]) - -AM_CONDITIONAL(EFL_BUILD_EXAMPLES, test "x${_efl_enable_build_examples}" = "xyes") - -AS_IF([test "x$_efl_enable_build_examples" = "xyes"], [$1], [$2]) -]) - - -dnl Macro that check if installing examples is wanted. - -dnl Usage: EFL_CHECK_INSTALL_EXAMPLES([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) -dnl Defines the automake conditionnal EFL_ENABLE_INSTALL_EXAMPLES - -AC_DEFUN([EFL_CHECK_INSTALL_EXAMPLES], -[ - -dnl configure option - -AC_ARG_ENABLE([install-examples], - [AC_HELP_STRING([--enable-install-examples], [enable installing example source files @<:@default=disabled@:>@])], - [ - if test "x${enableval}" = "xyes" ; then - _efl_enable_install_examples="yes" - else - _efl_enable_install_examples="no" - fi - ], - [_efl_enable_install_examples="no"]) - -AC_MSG_CHECKING([whether examples are installed]) -AC_MSG_RESULT([${_efl_enable_install_examples}]) - -AM_CONDITIONAL(EFL_INSTALL_EXAMPLES, test "x${_efl_enable_install_examples}" = "xyes") - -AS_IF([test "x$_efl_enable_install_examples" = "xyes"], [$1], [$2]) -]) - -dnl End of efl_examples.m4 diff --git a/legacy/emotion/m4/efl_shm_open.m4 b/legacy/emotion/m4/efl_shm_open.m4 deleted file mode 100644 index 0bf1b0b7ae..0000000000 --- a/legacy/emotion/m4/efl_shm_open.m4 +++ /dev/null @@ -1,69 +0,0 @@ -dnl Copyright (C) 2010 Vincent Torri -dnl That code is public domain and can be freely used or copied. - -dnl Macro that check if shm_open function is available or not. - -dnl Usage: EFL_CHECK_SHM_OPEN([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) -dnl Call AC_SUBST(EFL_SHM_OPEN_LIBS) -dnl Define HAVE_SHM_OPEN to 1if shm_open is available - -AC_DEFUN([EFL_CHECK_SHM_OPEN], -[ -_efl_have_shm_open="no" - -dnl Check is shm_open is in libc - -AC_MSG_CHECKING([for shm_open in libc]) -AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include /* For mode constants */ -#include /* For O_* constants */ - ]], - [[ -int fd; - -fd = shm_open("/dev/null", O_RDONLY, S_IRWXU | S_IRWXG | S_IRWXO); - ]])], - [_efl_have_shm_open="yes"], - [_efl_have_shm_open="no"]) - -AC_MSG_RESULT([${_efl_have_shm_open}]) - -if test "x$_efl_have_shm_open" = "xno" ; then - AC_MSG_CHECKING([for shm_open in librt]) - - LIBS_save="${LIBS}" - LIBS="${LIBS} -lrt" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include /* For mode constants */ -#include /* For O_* constants */ - ]], - [[ -int fd; - -fd = shm_open("/dev/null", O_RDONLY, S_IRWXU | S_IRWXG | S_IRWXO); - ]])], - [ - EFL_SHM_OPEN_LIBS="-lrt" - _efl_have_shm_open="yes"], - [_efl_have_shm_open="no"]) - - LIBS="${LIBS_save}" - - AC_MSG_RESULT([${_efl_have_shm_open}]) -fi - -AC_SUBST([EFL_SHM_OPEN_LIBS]) - -if test "x$_efl_have_shm_open" = "xyes" ; then - AC_DEFINE([HAVE_SHM_OPEN], [1], [Define to 1 if you have the `shm_open' function.]) -fi - -AS_IF([test "x$_efl_have_shm_open" = "xyes"], [$1], [$2]) - -]) diff --git a/legacy/emotion/m4/emotion_check.m4 b/legacy/emotion/m4/emotion_check.m4 deleted file mode 100644 index 043ae4415a..0000000000 --- a/legacy/emotion/m4/emotion_check.m4 +++ /dev/null @@ -1,216 +0,0 @@ - -dnl use: EMOTION_CHECK_DEP_XINE(want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) - -AC_DEFUN([EMOTION_CHECK_DEP_XINE], -[ - -requirement="" - -PKG_CHECK_MODULES([XINE], - [libxine >= 1.1.1 evas >= 1.0.0], - [ - have_dep="yes" - requirement="libxine" - ], - [have_dep="no"]) - -if test "x$1" = "xstatic" ; then - requirement_emotion="${requirement} ${requirement_emotion}" -fi - -AS_IF([test "x$have_dep" = "xyes"], [$2], [$3]) - -]) - -dnl use: EMOTION_CHECK_DEP_GSTREAMER(want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) - -AC_DEFUN([EMOTION_CHECK_DEP_GSTREAMER], -[ - -GST_REQS=0.10.2 -GSTPLUG_REQS=0.10.1 -GST_MAJORMINOR=0.10 - -requirement="" -PKG_CHECK_MODULES([GSTREAMER], - [gstreamer-$GST_MAJORMINOR >= $GST_REQS gstreamer-plugins-base-$GST_MAJORMINOR >= $GSTPLUG_REQS gstreamer-video-$GST_MAJORMINOR >= $GSTPLUG_REQS evas >= 1.0.0 eina >= 1.1.99], - [ - have_dep="yes" - requirement="gstreamer-$GST_MAJORMINOR gstreamer-plugins-base-$GST_MAJORMINOR" - ], - [have_dep="no"]) - -if test "x$1" = "xstatic" ; then - requirement_emotion="${requirement} ${requirement_emotion}" -fi - -AS_IF([test "x$have_dep" = "xyes"], [$2], [$3]) - -]) - -dnl use: EMOTION_CHECK_DEP_GENERIC_VLC(want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) - -AC_DEFUN([EMOTION_CHECK_DEP_GENERIC_VLC], -[ - -requirement="" - -PKG_CHECK_MODULES([GENERIC_VLC], - [libvlc >= 0.9 eina >= 1.1.99], - [ - have_dep="yes" - requirement="libvlc" - ], - [have_dep="no"]) - -if test "x$1" = "xstatic" ; then - requirement_emotion="${requirement} ${requirement_emotion}" -fi - -AS_IF([test "x$have_dep" = "xyes"], [$2], [$3]) - -]) - -dnl use: EMOTION_CHECK_DEP_GENERIC(want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) - -AC_DEFUN([EMOTION_CHECK_DEP_GENERIC], -[ - -requirement="" - -PKG_CHECK_MODULES([GENERIC], - [evas >= 1.0.0], - [ - have_dep="yes" - ], - [have_dep="no"]) - -if test "x$1" = "xstatic" ; then - requirement_emotion="${requirement} ${requirement_emotion}" -fi - -AS_IF([test "x$have_dep" = "xyes"], [$2], [$3]) - -]) - -dnl use: EMOTION_CHECK_MODULE(description, want_module[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -AC_DEFUN([EMOTION_CHECK_MODULE], -[ -m4_pushdef([UP], m4_translit([$1], [-a-z], [_A-Z]))dnl -m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl - -want_module="$2" - -AC_ARG_ENABLE([DOWN], - [AC_HELP_STRING([--enable-]DOWN, [enable build of $1 module @<:@default=yes@:>@])], - [ - if test "x${enableval}" = "xyes" ; then - enable_module="yes" - else - if test "x${enableval}" = "xstatic" ; then - enable_module="static" - else - enable_module="no" - fi - fi - ], - [enable_module="yes"]) - -if test "x${enable_module}" = "xyes" || test "x${enable_module}" = "xstatic" ; then - want_module="yes" -fi - -have_module="no" -if test "x${want_module}" = "xyes" && (test "x${enable_module}" = "xyes" || test "x${enable_module}" = "xstatic") ; then - m4_default([EMOTION_CHECK_DEP_]m4_defn([UP]))(${enable_module}, [have_module="yes"], [have_module="no"]) -fi - -AC_MSG_CHECKING([whether to enable $1 module built]) -AC_MSG_RESULT([${have_module}]) - -static_module="no" -if test "x${have_module}" = "xyes" && test "x${enable_module}" = "xstatic" ; then - static_module="yes" -fi - -AM_CONDITIONAL(EMOTION_BUILD_[]UP, [test "x${have_module}" = "xyes"]) -AM_CONDITIONAL(EMOTION_STATIC_BUILD_[]UP, [test "x${static_module}" = "xyes"]) - -if test "x${static_module}" = "xyes" ; then - AC_DEFINE(EMOTION_STATIC_BUILD_[]UP, 1, [Set to 1 if $1 is statically built]) - have_static_module="yes" -fi - -enable_[]DOWN="no" -if test "x${have_module}" = "xyes" ; then - enable_[]DOWN=${enable_module} - AC_DEFINE(EMOTION_BUILD_[]UP, 1, [Set to 1 if $1 is built]) -fi - -AS_IF([test "x$have_module" = "xyes"], [$3], [$4]) - -m4_popdef([UP]) -m4_popdef([DOWN]) -]) - -dnl use: EMOTION_CHECK_GENERIC_PLAYER(description, want_module[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -AC_DEFUN([EMOTION_CHECK_GENERIC_PLAYER], -[ -m4_pushdef([UP], m4_translit([$1], [-a-z], [_A-Z]))dnl -m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl - -want_module="$2" - -AC_ARG_ENABLE(generic-[]DOWN, - [AC_HELP_STRING([--enable-generic-]DOWN, [enable build of Generic Player $1 @<:@default=yes@:>@])], - [ - if test "x${enableval}" = "xyes" ; then - enable_module="yes" - else - enable_module="no" - fi - ], - [enable_module="auto"]) - -# shm_open -EFL_CHECK_SHM_OPEN([have_shm_open="yes"], [have_shm_open="no"]) - -if test "x${have_shm_open}" != "xyes"; then - enable_generic="no" -fi - -if test "x${enable_generic}" != "xyes" && test "x${enable_generic}" != "xstatic"; then - if test "x${enable_module}" = "xyes"; then - AC_MSG_WARN([Generic module is disabled, force disable of Generic Player $1]) - fi - enable_module="no" - want_module="no" -fi - -if test "x${enable_module}" = "xauto"; then - enable_module="${want_module}" -elif test "x${enable_module}" = "xyes"; then - want_module="yes" -fi - -have_module="no" -if test "x${want_module}" = "xyes" && test "x${enable_module}" = "xyes"; then - m4_default([EMOTION_CHECK_DEP_GENERIC_]m4_defn([UP]))(${enable_module}, [have_module="yes"], [have_module="no"]) -fi - -AC_MSG_CHECKING([Whether to enable Generic Player $1]) -AC_MSG_RESULT([${have_module}]) - -AM_CONDITIONAL(EMOTION_BUILD_GENERIC_[]UP, [test "x${have_module}" = "xyes"]) - -enable_generic_[]DOWN="no" -if test "x${have_module}" = "xyes" ; then - enable_generic_[]DOWN=${enable_module} - AC_DEFINE(EMOTION_BUILD_GENERIC_[]UP, 1, [Set to 1 if $1 is built]) -fi - -AS_IF([test "x$have_module" = "xyes"], [$3], [$4]) - -m4_popdef([UP]) -m4_popdef([DOWN]) -]) diff --git a/legacy/emotion/m4/gst-element-check.m4 b/legacy/emotion/m4/gst-element-check.m4 deleted file mode 100644 index 4f4b3064a5..0000000000 --- a/legacy/emotion/m4/gst-element-check.m4 +++ /dev/null @@ -1,23 +0,0 @@ -dnl Perform a check for a GStreamer element using gst-inspect -dnl Thomas Vander Stichele -dnl Last modification: 25/01/2005 - -dnl AM_GST_ELEMENT_CHECK(ELEMENT-NAME, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND) - -AC_DEFUN([AM_GST_ELEMENT_CHECK], -[ - if test "x$GST_INSPECT" = "x"; then - AC_CHECK_PROGS(GST_INSPECT, gst-inspect gst-inspect-0.10, []) - fi - - if test "x$GST_INSPECT" != "x"; then - AC_MSG_CHECKING(GStreamer element $1) - if $GST_INSPECT $1 > /dev/null 2> /dev/null ; then - AC_MSG_RESULT(found.) - $2 - else - AC_MSG_RESULT(not found.) - $3 - fi - fi -]) diff --git a/legacy/emotion/src/Makefile.am b/legacy/emotion/src/Makefile.am deleted file mode 100644 index 4082c3a67d..0000000000 --- a/legacy/emotion/src/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ - -MAINTAINERCLEANFILES = Makefile.in - -SUBDIRS = lib bin modules examples - -if ENABLE_EDJE_EXTERNAL -SUBDIRS += edje_external -endif - -if EMOTION_BUILD_GENERIC -SUBDIRS += generic_players -endif diff --git a/legacy/emotion/src/bin/Makefile.am b/legacy/emotion/src/bin/Makefile.am deleted file mode 100644 index 79dd4e3527..0000000000 --- a/legacy/emotion/src/bin/Makefile.am +++ /dev/null @@ -1,26 +0,0 @@ - -MAINTAINERCLEANFILES = Makefile.in - -AM_CPPFLAGS = \ --I$(top_srcdir) \ --I$(top_srcdir)/src/lib \ --DPACKAGE_BIN_DIR=\"$(bindir)\" \ --DPACKAGE_LIB_DIR=\"$(libdir)\" \ --DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ -@EMOTION_CFLAGS@ \ -@EMOTION_CPPFLAGS@ \ -@EMOTION_BIN_CFLAGS@ \ -@ECORE_X_CFLAGS@ \ -@ECORE_FB_CFLAGS@ - -bin_PROGRAMS = - -if BUILD_EMOTION_TEST - -bin_PROGRAMS += emotion_test - -endif - -emotion_test_SOURCES = emotion_test_main.c - -emotion_test_LDADD = @ECORE_X_CFLAGS@ @ECORE_FB_CFLAGS@ @EMOTION_BIN_LIBS@ $(top_builddir)/src/lib/libemotion.la diff --git a/legacy/emotion/src/edje_external/Makefile.am b/legacy/emotion/src/edje_external/Makefile.am deleted file mode 100644 index 9b36fafd4f..0000000000 --- a/legacy/emotion/src/edje_external/Makefile.am +++ /dev/null @@ -1,18 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in - -AM_CPPFLAGS = \ --I$(top_srcdir) \ --I$(top_srcdir)/src/lib \ --DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ -@EMOTION_CPPFLAGS@ \ -@EMOTION_CFLAGS@ \ -@EDJE_EXTERNAL_CFLAGS@ \ -@EFL_EMOTION_BUILD@ - -pkgdir = $(libdir)/edje/modules/emotion/$(MODULE_EDJE) -pkg_LTLIBRARIES = module.la - -module_la_SOURCES = emotion.c -module_la_LIBADD = @EMOTION_LIBS@ $(top_builddir)/src/lib/libemotion.la @EDJE_EXTERNAL_LIBS@ -module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version -module_la_LIBTOOLFLAGS = --tag=disable-static diff --git a/legacy/emotion/src/examples/Makefile.am b/legacy/emotion/src/examples/Makefile.am deleted file mode 100644 index 5e39adcf7a..0000000000 --- a/legacy/emotion/src/examples/Makefile.am +++ /dev/null @@ -1,41 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in - -examplesdir = $(datadir)/$(PACKAGE)/examples - -AM_CPPFLAGS = \ --I. \ --I$(top_srcdir) \ --I$(top_srcdir)/src/lib \ -@EMOTION_CFLAGS@ \ -@EMOTION_CPPFLAGS@ \ -@EMOTION_BIN_CFLAGS@ - -LDADD = \ - $(top_builddir)/src/lib/libemotion.la \ - @EMOTION_BIN_LIBS@ - -SRCS = \ - emotion_basic_example.c \ - emotion_generic_example.c \ - emotion_generic_subtitle_example.c \ - emotion_border_example.c \ - emotion_signals_example.c - -EXTRA_DIST = $(SRCS) - -examples_PROGRAMS = - -if EFL_INSTALL_EXAMPLES -filesdir = $(datadir)/$(PACKAGE)/examples -files_DATA = $(SRCS) -endif - -if EFL_BUILD_EXAMPLES -examples_PROGRAMS += \ - emotion_basic_example \ - emotion_generic_example \ - emotion_generic_subtitle_example \ - emotion_border_example \ - emotion_signals_example -endif - diff --git a/legacy/emotion/src/generic_players/Makefile.am b/legacy/emotion/src/generic_players/Makefile.am deleted file mode 100644 index bbdd8c34b6..0000000000 --- a/legacy/emotion/src/generic_players/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ - -MAINTAINERCLEANFILES = Makefile.in - -SUBDIRS = - -if EMOTION_BUILD_GENERIC_VLC -SUBDIRS += vlc -endif diff --git a/legacy/emotion/src/generic_players/vlc/Makefile.am b/legacy/emotion/src/generic_players/vlc/Makefile.am deleted file mode 100644 index 5cda1b95b4..0000000000 --- a/legacy/emotion/src/generic_players/vlc/Makefile.am +++ /dev/null @@ -1,18 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in - -AM_CPPFLAGS = \ --I$(top_srcdir) \ --I$(top_srcdir)/src/lib \ --I$(top_srcdir)/src/modules \ --I$(top_srcdir)/src/modules/generic \ --DPACKAGE_BIN_DIR=\"$(bindir)\" \ --DPACKAGE_LIB_DIR=\"$(libdir)\" \ --DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ -@GENERIC_VLC_CFLAGS@ - -internal_bindir = $(libdir)/emotion/utils -internal_bin_PROGRAMS = em_generic_vlc - -em_generic_vlc_SOURCES = emotion_generic_vlc.c -em_generic_vlc_DEPENDENCIES = $(top_srcdir)/src/modules/generic/Emotion_Generic_Plugin.h -em_generic_vlc_LDADD = @GENERIC_VLC_LIBS@ @EFL_SHM_OPEN_LIBS@ -lpthread diff --git a/legacy/emotion/src/generic_players/vlc/emotion_generic_vlc.c b/legacy/emotion/src/generic_players/vlc/emotion_generic_vlc.c deleted file mode 100644 index a20717303c..0000000000 --- a/legacy/emotion/src/generic_players/vlc/emotion_generic_vlc.c +++ /dev/null @@ -1,916 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include -#include - -static int _em_vlc_log_dom = -1; -#define ERR(...) EINA_LOG_DOM_ERR(_em_vlc_log_dom, __VA_ARGS__) -#define DBG(...) EINA_LOG_DOM_DBG(_em_vlc_log_dom, __VA_ARGS__) -#define INF(...) EINA_LOG_DOM_INFO(_em_vlc_log_dom, __VA_ARGS__) -#define WRN(...) EINA_LOG_DOM_WARN(_em_vlc_log_dom, __VA_ARGS__) -#define CRIT(...) EINA_LOG_DOM_CRIT(_em_vlc_log_dom, __VA_ARGS__) - -enum _Thread_Events { - EM_THREAD_POSITION_CHANGED, - EM_THREAD_PLAYBACK_STARTED, - EM_THREAD_PLAYBACK_STOPPED, - EM_THREAD_LAST -}; - -struct _App { - Emotion_Generic_Video_Shared *vs; - Emotion_Generic_Video_Frame vf; - libvlc_instance_t *libvlc; - libvlc_media_t *m; - libvlc_media_player_t *mp; - libvlc_event_manager_t *event_mgr; - libvlc_event_manager_t *mevent_mgr; - char *filename; - char *subtitle_path; - char *shmname; - void *tmpbuffer; - int w, h; - int fd_read; // read commands from theads here - int fd_write; // write commands from threads here - int em_read; // read commands from emotion here - int em_write; // write commands to emotion here - int size_sent; - int opening; - int closing; - int playing; -}; - -static pthread_mutex_t _mutex_fd = PTHREAD_MUTEX_INITIALIZER; - -int -_em_read_safe(int fd, void *buf, ssize_t size) -{ - ssize_t todo; - char *p; - - todo = size; - p = buf; - - while (todo > 0) - { - ssize_t r; - - r = read(fd, p, todo); - if (r > 0) - { - todo -= r; - p += r; - } - else if (r == 0) - return 0; - else - { - if (errno == EINTR || errno == EAGAIN) - continue; - else - { - ERR("could not read from fd %d: %s", fd, strerror(errno)); - return 0; - } - } - } - - return 1; -} - -int -_em_write_safe(int fd, const void *buf, ssize_t size) -{ - ssize_t todo; - const char *p; - - todo = size; - p = buf; - - while (todo > 0) - { - ssize_t r; - - r = write(fd, p, todo); - if (r > 0) - { - todo -= r; - p += r; - } - else if (r == 0) - return 0; - else - { - if (errno == EINTR || errno == EAGAIN) - continue; - else - { - ERR("could not write to fd %d: %s", fd, strerror(errno)); - return 0; - } - } - } - - return 1; -} - -static int -_em_str_read(int fd, char **str) -{ - int size; - int r; - char buf[PATH_MAX]; - - r = _em_read_safe(fd, &size, sizeof(size)); - if (!r) - { - *str = NULL; - return 0; - } - - if (!size) - { - *str = NULL; - return 1; - } - - r = _em_read_safe(fd, buf, size); - if (!r) - { - *str = NULL; - return 0; - } - - *str = strdup(buf); - return 1; -} - -static int -_em_cmd_read(struct _App *app) -{ - int cmd; - _em_read_safe(app->em_read, &cmd, sizeof(cmd)); - - return cmd; -} - -static void -_send_cmd_start(struct _App *app, int cmd) -{ - pthread_mutex_lock(&_mutex_fd); - _em_write_safe(app->em_write, &cmd, sizeof(cmd)); -} - -static void -_send_cmd_finish(struct _App *app __UNUSED__) -{ - pthread_mutex_unlock(&_mutex_fd); -} - -static void -_send_cmd(struct _App *app, int cmd) -{ - _send_cmd_start(app, cmd); - _send_cmd_finish(app); -} - -static void -_send_cmd_str(struct _App *app, const char *str) -{ - int len; - if (str) - len = strlen(str) + 1; - else - len = 0; - _em_write_safe(app->em_write, &len, sizeof(len)); - _em_write_safe(app->em_write, str, len); -} - -#define SEND_CMD_PARAM(app, i) \ - _em_write_safe((app)->em_write, &(i), sizeof((i))); - -static void -_send_resize(struct _App *app, int width, int height) -{ - _send_cmd_start(app, EM_RESULT_FRAME_SIZE); - SEND_CMD_PARAM(app, width); - SEND_CMD_PARAM(app, height); - _send_cmd_finish(app); -} - -static void -_send_length_changed(struct _App *app, const struct libvlc_event_t *ev) -{ - float length = ev->u.media_player_length_changed.new_length; - length /= 1000; - - _send_cmd_start(app, EM_RESULT_LENGTH_CHANGED); - SEND_CMD_PARAM(app, length); - _send_cmd_finish(app); -} - -static void -_send_time_changed(struct _App *app, const struct libvlc_event_t *ev) -{ - float new_time = ev->u.media_player_time_changed.new_time; - new_time /= 1000; - if (app->vs->frame_drop > 1) - return; - _send_cmd_start(app, EM_RESULT_POSITION_CHANGED); - SEND_CMD_PARAM(app, new_time); - _send_cmd_finish(app); -} - -static void -_send_seekable_changed(struct _App *app, const struct libvlc_event_t *ev) -{ - int seekable = ev->u.media_player_seekable_changed.new_seekable; - _send_cmd_start(app, EM_RESULT_SEEKABLE_CHANGED); - SEND_CMD_PARAM(app, seekable); - _send_cmd_finish(app); -} - -static void * -_lock(void *data, void **pixels) -{ - struct _App *app = data; - - if (app->playing) - *pixels = app->vf.frames[app->vs->frame.player]; - else - *pixels = NULL; - - return NULL; // picture identifier, not needed here -} - -static void -_unlock(void *data __UNUSED__, void *id __UNUSED__, void *const *pixels __UNUSED__) -{ -} - -static void -_display(void *data, void *id __UNUSED__) -{ - struct _App *app = data; - if (!app->playing) - return; - - sem_wait(&app->vs->lock); - app->vs->frame.last = app->vs->frame.player; - app->vs->frame.player = app->vs->frame.next; - app->vs->frame.next = app->vs->frame.last; - if (!app->vs->frame_drop++) - _send_cmd(app, EM_RESULT_FRAME_NEW); - sem_post(&app->vs->lock); -} - -static void * -_tmp_lock(void *data, void **pixels) -{ - struct _App *app = data; - *pixels = app->tmpbuffer; - return NULL; -} - -static void -_tmp_unlock(void *data __UNUSED__, void *id __UNUSED__, void *const *pixels __UNUSED__) -{ -} - -static void -_tmp_display(void *data __UNUSED__, void *id __UNUSED__) -{ -} - -static void -_play(struct _App *app) -{ - float pos; - - if (!app->mp) - return; - - _em_read_safe(app->em_read, &pos, sizeof(pos)); - - if (app->playing) - { - libvlc_media_player_set_pause(app->mp, 0); - } - else - { - libvlc_time_t new_time = pos * 1000; - libvlc_media_player_set_time(app->mp, new_time); - libvlc_media_player_play(app->mp); - - if (app->subtitle_path) - libvlc_video_set_subtitle_file(app->mp, app->subtitle_path); - - app->playing = 1; - } -} - -static void -_stop(struct _App *app) -{ - if (app->mp) - libvlc_media_player_set_pause(app->mp, 1); -} - -static void -_send_file_closed(struct _App *app) -{ - app->closing = 0; - emotion_generic_shm_free(app->vs); - _send_cmd(app, EM_RESULT_FILE_CLOSE); -} - -static void -_send_file_set(struct _App *app) -{ - if (app->opening) - _send_cmd(app, EM_RESULT_FILE_SET); - - if (app->closing) - _send_file_closed(app); -} - -static void -_event_cb(const struct libvlc_event_t *ev, void *data) -{ - struct _App *app = data; - int thread_event; - - switch (ev->type) { - case libvlc_MediaPlayerTimeChanged: - _send_time_changed(app, ev); - break; - case libvlc_MediaPlayerPositionChanged: - thread_event = EM_THREAD_POSITION_CHANGED; - write(app->fd_write, &thread_event, sizeof(thread_event)); - break; - case libvlc_MediaPlayerLengthChanged: - _send_length_changed(app, ev); - break; - case libvlc_MediaPlayerSeekableChanged: - _send_seekable_changed(app, ev); - break; - case libvlc_MediaPlayerPlaying: - _send_resize(app, app->w, app->h); - thread_event = EM_THREAD_PLAYBACK_STARTED; - write(app->fd_write, &thread_event, sizeof(thread_event)); - break; - case libvlc_MediaPlayerStopped: - _send_file_set(app); - break; - case libvlc_MediaPlayerEndReached: - thread_event = EM_THREAD_PLAYBACK_STOPPED; - write(app->fd_write, &thread_event, sizeof(thread_event)); - break; - } -} - -static void -_subtitle_set(struct _App *app) -{ - _em_str_read(app->em_read, &app->subtitle_path); -} - -static void -_file_set(struct _App *app) -{ - if (app->opening) - { - libvlc_media_release(app->m); - libvlc_media_player_release(app->mp); - free(app->filename); - } - - _em_str_read(app->em_read, &app->filename); - - app->m = libvlc_media_new_path(app->libvlc, app->filename); - if (!app->m) - { - ERR("could not open path: \"%s\"", app->filename); - return; - } - - app->mp = libvlc_media_player_new_from_media(app->m); - if (!app->mp) - { - ERR("could not create new player from media."); - return; - } - - app->opening = 1; - libvlc_video_set_format(app->mp, "RV32", DEFAULTWIDTH, DEFAULTHEIGHT, DEFAULTWIDTH * 4); - libvlc_video_set_callbacks(app->mp, _tmp_lock, _tmp_unlock, _tmp_display, app); - app->event_mgr = libvlc_media_player_event_manager(app->mp); - libvlc_event_attach(app->event_mgr, libvlc_MediaPlayerPositionChanged, - _event_cb, app); - libvlc_event_attach(app->event_mgr, libvlc_MediaPlayerStopped, - _event_cb, app); - - app->mevent_mgr = libvlc_media_event_manager(app->m); - - app->tmpbuffer = malloc(sizeof(char) * DEFAULTWIDTH * DEFAULTHEIGHT * 4); - libvlc_audio_set_mute(app->mp, 1); - libvlc_media_player_play(app->mp); -} - -static void -_position_set(struct _App *app) -{ - if (!app->mp) - return; - - float position; - _em_read_safe(app->em_read, &position, sizeof(position)); - - libvlc_time_t new_time = position * 1000; - libvlc_media_player_set_time(app->mp, new_time); -} - -static void -_speed_set(struct _App *app) -{ - float rate; - - if (!app->mp) - return; - - _em_read_safe(app->em_read, &rate, sizeof(rate)); - - libvlc_media_player_set_rate(app->mp, rate); -} - -static void -_mute_set(struct _App *app) -{ - int mute; - - if (!app->mp) - return; - - _em_read_safe(app->em_read, &mute, sizeof(mute)); - - libvlc_audio_set_mute(app->mp, mute); -} - -static void -_volume_set(struct _App *app) -{ - float volume; - int vol; - - if (!app->mp) - return; - - _em_read_safe(app->em_read, &volume, sizeof(volume)); - vol = volume * 100; - - libvlc_audio_set_volume(app->mp, vol); -} - -static void -_spu_track_set(struct _App *app) -{ - int track; - - _em_read_safe(app->em_read, &track, sizeof(track)); - - libvlc_video_set_spu(app->mp, track); -} - -static void -_audio_track_set(struct _App *app) -{ - int track; - - _em_read_safe(app->em_read, &track, sizeof(track)); - - libvlc_audio_set_track(app->mp, track); -} - -static void -_video_track_set(struct _App *app) -{ - int track; - - _em_read_safe(app->em_read, &track, sizeof(track)); - - libvlc_video_set_track(app->mp, track); -} - -static void -_file_set_done(struct _App *app) -{ - int r; - - app->opening = 0; - - r = emotion_generic_shm_get(app->shmname, &app->vs, &app->vf); - if (!r) - { - free(app->filename); - libvlc_media_release(app->m); - libvlc_media_player_release(app->mp); - app->filename = NULL; - app->m = NULL; - app->mp = NULL; - _send_cmd_start(app, EM_RESULT_FILE_SET_DONE); - SEND_CMD_PARAM(app, r); - _send_cmd_finish(app); - } - app->w = app->vs->width; - app->h = app->vs->height; - libvlc_video_set_format(app->mp, "RV32", app->w, app->h, app->w * 4); - libvlc_video_set_callbacks(app->mp, _lock, _unlock, _display, app); - - - libvlc_event_attach(app->event_mgr, libvlc_MediaPlayerPlaying, - _event_cb, app); - libvlc_event_attach(app->event_mgr, libvlc_MediaPlayerTimeChanged, - _event_cb, app); - libvlc_event_attach(app->event_mgr, libvlc_MediaPlayerLengthChanged, - _event_cb, app); - libvlc_event_attach(app->event_mgr, libvlc_MediaPlayerSeekableChanged, - _event_cb, app); - libvlc_event_attach(app->event_mgr, libvlc_MediaPlayerEndReached, - _event_cb, app); - - libvlc_audio_set_mute(app->mp, 0); - - _send_cmd_start(app, EM_RESULT_FILE_SET_DONE); - SEND_CMD_PARAM(app, r); - _send_cmd_finish(app); -} - -static void -_file_close(struct _App *app) -{ - app->playing = 0; - if (app->opening) - goto release_resources; - - if (libvlc_media_player_get_state(app->mp) != libvlc_Playing) - { - _send_file_closed(app); - return; - } - - app->closing = 1; - -release_resources: - libvlc_media_player_stop(app->mp); - if (app->filename) - free(app->filename); - if (app->mp) - { - libvlc_media_release(app->m); - libvlc_media_player_release(app->mp); - free(app->tmpbuffer); - } -} - -static void -_process_emotion_commands(struct _App *app) -{ - int cmd = _em_cmd_read(app); - switch (cmd) { - case EM_CMD_FILE_SET: - _file_set(app); - break; - case EM_CMD_FILE_SET_DONE: - _file_set_done(app); - break; - case EM_CMD_SUBTITLE_SET: - _subtitle_set(app); - break; - case EM_CMD_FILE_CLOSE: - _file_close(app); - break; - case EM_CMD_PLAY: - _play(app); - break; - case EM_CMD_STOP: - _stop(app); - break; - case EM_CMD_POSITION_SET: - _position_set(app); - break; - case EM_CMD_SPEED_SET: - _speed_set(app); - break; - case EM_CMD_AUDIO_MUTE_SET: - _mute_set(app); - break; - case EM_CMD_VOLUME_SET: - _volume_set(app); - break; - case EM_CMD_SPU_TRACK_SET: - _spu_track_set(app); - break; - case EM_CMD_AUDIO_TRACK_SET: - _audio_track_set(app); - break; - case EM_CMD_VIDEO_TRACK_SET: - _video_track_set(app); - break; - }; -} - -static void -_send_track_info(struct _App *app, int cmd, int current, int count, libvlc_track_description_t *desc) -{ - _send_cmd_start(app, cmd); - SEND_CMD_PARAM(app, current); - SEND_CMD_PARAM(app, count); - while (desc) - { - int tid = desc->i_id; - const char *name = desc->psz_name; - SEND_CMD_PARAM(app, tid); - _send_cmd_str(app, name); - desc = desc->p_next; - } - _send_cmd_finish(app); -} - -static void -_send_all_track_info(struct _App *app) -{ - int track_count, current; - libvlc_track_description_t *desc; - - current = libvlc_audio_get_track(app->mp); - track_count = libvlc_audio_get_track_count(app->mp); - desc = libvlc_audio_get_track_description(app->mp); - - _send_track_info(app, EM_RESULT_AUDIO_TRACK_INFO, - current, track_count, desc); - - current = libvlc_video_get_track(app->mp); - track_count = libvlc_video_get_track_count(app->mp); - desc = libvlc_video_get_track_description(app->mp); - - _send_track_info(app, EM_RESULT_VIDEO_TRACK_INFO, - current, track_count, desc); - - current = libvlc_video_get_spu(app->mp); - track_count = libvlc_video_get_spu_count(app->mp); - desc = libvlc_video_get_spu_description(app->mp); - - _send_track_info(app, EM_RESULT_SPU_TRACK_INFO, - current, track_count, desc); -} - -static void -_send_all_meta_info(struct _App *app) -{ - const char *meta; - - _send_cmd_start(app, EM_RESULT_META_INFO); - - /* - * Will send in this order: title, artist, album, year, - * genre, comments, disc id and track count. - */ - meta = libvlc_media_get_meta(app->m, libvlc_meta_Title); - _send_cmd_str(app, meta); - meta = libvlc_media_get_meta(app->m, libvlc_meta_Artist); - _send_cmd_str(app, meta); - meta = libvlc_media_get_meta(app->m, libvlc_meta_Album); - _send_cmd_str(app, meta); - meta = libvlc_media_get_meta(app->m, libvlc_meta_Date); - _send_cmd_str(app, meta); - meta = libvlc_media_get_meta(app->m, libvlc_meta_Genre); - _send_cmd_str(app, meta); - meta = NULL; // sending empty comments - _send_cmd_str(app, meta); - meta = NULL; // sending empty disc id - _send_cmd_str(app, meta); - meta = libvlc_media_get_meta(app->m, libvlc_meta_TrackNumber); - _send_cmd_str(app, meta); - _send_cmd_finish(app); -} - -static void -_position_changed(struct _App *app) -{ - if (!app->opening) - return; - - /* sending size info only once */ - int r; - unsigned int w, h; - r = libvlc_video_get_size(app->mp, 0, &w, &h); - if (r < 0) - { - w = 1; - h = 1; - } - - if (w > 0 || h > 0) - { - _send_resize(app, w, h); - app->size_sent = 1; - } - - /* sending audio track info */ - _send_all_track_info(app); - - /* sending meta info */ - _send_all_meta_info(app); - - if (app->size_sent) - libvlc_media_player_stop(app->mp); -} - -static void -_process_thread_events(struct _App *app) -{ - int event; - size_t size; - - size = read(app->fd_read, &event, sizeof(event)); - if (size != sizeof(event)) - { - ERR("player: problem when reading thread event. size = %zd", size); - return; - } - - switch (event) { - case EM_THREAD_POSITION_CHANGED: - _position_changed(app); - break; - case EM_THREAD_PLAYBACK_STARTED: - _send_cmd(app, EM_RESULT_PLAYBACK_STARTED); - break; - case EM_THREAD_PLAYBACK_STOPPED: - app->playing = 0; - _send_cmd(app, EM_RESULT_PLAYBACK_STOPPED); - break; - } -} - -int -main(int argc, const char *argv[]) -{ - struct _App app; - struct pollfd fds[3]; - int tpipe[2]; // pipe for comunicating events from threads - char cwidth[64], cheight[64], cpitch[64], chroma[64]; - char buf[64]; - - if (!eina_init()) - { - EINA_LOG_CRIT("Can't initialize generic vlc player, eina failed."); - return -1; - } - - _em_vlc_log_dom = eina_log_domain_register("emotion_generic_vlc", - EINA_COLOR_CYAN); - if (_em_vlc_log_dom < 0) - { - EINA_LOG_CRIT("Unable to register emotion_generic_vlc log domain."); - goto error; - } - - if (!eina_log_domain_level_check(_em_vlc_log_dom, EINA_LOG_LEVEL_WARN)) - eina_log_domain_level_set("emotion_generic_vlc", EINA_LOG_LEVEL_WARN); - - const char *vlc_argv[] = - { - "--quiet", - "--vout", - "vmem", - "--vmem-width", - cwidth, - "--vmem-height", - cheight, - "--vmem-pitch", - cpitch, - "--vmem-chroma", - chroma - }; - - if (argc < 3) - { - ERR("missing parameters."); - ERR("syntax:\n\t%s ", argv[0]); - goto error; - } - - app.em_read = atoi(argv[1]); - app.em_write = atoi(argv[2]); - - int vlc_argc = sizeof(vlc_argv) / sizeof(*vlc_argv); - snprintf(cwidth, sizeof(cwidth), "%d", DEFAULTWIDTH); - snprintf(cheight, sizeof(cheight), "%d", DEFAULTHEIGHT); - snprintf(cpitch, sizeof(cpitch), "%d", DEFAULTWIDTH * 4); - snprintf(chroma, sizeof(chroma), "RV32"); - - /* - * Naughty xattr in emotion uses ecore_thread to run its thing, this - * may leave emotion's reference count high and it won't kill us... - * letting us play the video in the background. not good. - * - * prctl(PR_SET_PDEATHSIG) is a linux only thing. Need to find ways - * to do it on other platforms. Until then leave it breaking on - * such platforms so people port it instead of ignoring. - */ - prctl(PR_SET_PDEATHSIG, SIGHUP); - - app.libvlc = libvlc_new(vlc_argc, vlc_argv); - app.mp = NULL; - app.filename = NULL; - app.subtitle_path = NULL; - app.w = 0; - app.h = 0; - app.size_sent = 0; - app.opening = 0; - app.playing = 0; - app.closing = 0; - - if (_em_cmd_read(&app) != EM_CMD_INIT) - { - ERR("wrong init command!"); - goto error; - } - - int size; - _em_read_safe(app.em_read, &size, sizeof(size)); - _em_read_safe(app.em_read, buf, size); - app.shmname = strdup(buf); - - _send_cmd(&app, EM_RESULT_INIT); - - pipe(tpipe); - app.fd_read = tpipe[0]; - app.fd_write = tpipe[1]; - fds[0].fd = app.em_read; - fds[0].events = POLLIN; - fds[1].fd = app.fd_read; - fds[1].events = POLLIN; - fds[2].fd = STDERR_FILENO; - fds[2].events = 0; - - while (1) - { - int r; - - r = poll(fds, 3, -1); - if (r == 0) - continue; - else if (r < 0) - { - ERR("an error ocurred on poll(): %s", strerror(errno)); - break; - } - - if (fds[0].revents & (POLLERR | POLLHUP | POLLNVAL)) - { - ERR("error communicating with stdin", stderr); - break; - } - if (fds[1].revents & (POLLERR | POLLHUP | POLLNVAL)) - { - ERR("error communicating with thread", stderr); - break; - } - - if (fds[0].revents & POLLIN) - _process_emotion_commands(&app); - if (fds[1].revents & POLLIN) - _process_thread_events(&app); - if (fds[2].revents & (POLLERR | POLLHUP | POLLNVAL)) - break; - } - - libvlc_release(app.libvlc); - return 0; - - error: - eina_shutdown(); - return -1; -} -#undef SEND_CMD_PARAM diff --git a/legacy/emotion/src/lib/Makefile.am b/legacy/emotion/src/lib/Makefile.am deleted file mode 100644 index a2d2198683..0000000000 --- a/legacy/emotion/src/lib/Makefile.am +++ /dev/null @@ -1,59 +0,0 @@ - -MAINTAINERCLEANFILES = Makefile.in - -AM_CPPFLAGS = \ --I$(top_srcdir) \ --I$(top_srcdir)/src/lib \ --DPACKAGE_BIN_DIR=\"$(bindir)\" \ --DPACKAGE_LIB_DIR=\"$(libdir)\" \ --DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ -@EMOTION_CPPFLAGS@ \ -@EMOTION_CFLAGS@ \ -@EIO_CFLAGS@ \ -@EFL_EMOTION_BUILD@ \ -@EEZE_CFLAGS@ - -if EMOTION_STATIC_BUILD_XINE -AM_CPPFLAGS += @XINE_CFLAGS@ -endif - -if EMOTION_STATIC_BUILD_GSTREAMER -AM_CPPFLAGS += @GSTREAMER_CFLAGS@ -endif - -lib_LTLIBRARIES = libemotion.la -includes_HEADERS = Emotion.h -includesdir = $(includedir)/emotion-@VMAJ@ - -libemotion_la_SOURCES = emotion_smart.c emotion_main.c - -if EMOTION_STATIC_BUILD_XINE -libemotion_la_SOURCES += \ -$(top_srcdir)/src/modules/xine/emotion_xine.c \ -$(top_srcdir)/src/modules/xine/emotion_xine_vo_out.c -endif - -if EMOTION_STATIC_BUILD_GSTREAMER -libemotion_la_SOURCES += \ -$(top_srcdir)/src/modules/gstreamer/emotion_gstreamer.c \ -$(top_srcdir)/src/modules/gstreamer/emotion_sink.c -endif - -if EMOTION_STATIC_BUILD_GENERIC -libemotion_la_SOURCES += \ -$(top_srcdir)/src/modules/generic/emotion_generic.c -endif - -libemotion_la_LIBADD = @EMOTION_LIBS@ @EIO_LIBS@ @EEZE_LIBS@ - -if EMOTION_STATIC_BUILD_XINE -libemotion_la_LIBADD += @XINE_LIBS@ -endif - -if EMOTION_STATIC_BUILD_GSTREAMER -libemotion_la_LIBADD += @GSTREAMER_LIBS@ -endif - -libemotion_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ - -EXTRA_DIST = emotion_private.h diff --git a/legacy/emotion/src/modules/Makefile.am b/legacy/emotion/src/modules/Makefile.am deleted file mode 100644 index faaa146341..0000000000 --- a/legacy/emotion/src/modules/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ - -MAINTAINERCLEANFILES = Makefile.in - -SUBDIRS = xine gstreamer generic diff --git a/legacy/emotion/src/modules/generic/Makefile.am b/legacy/emotion/src/modules/generic/Makefile.am deleted file mode 100644 index 23be9873db..0000000000 --- a/legacy/emotion/src/modules/generic/Makefile.am +++ /dev/null @@ -1,31 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in - -AM_CPPFLAGS = \ --I$(top_srcdir) \ --I$(top_srcdir)/src/lib \ --I$(top_srcdir)/src/modules \ --DPACKAGE_BIN_DIR=\"$(bindir)\" \ --DPACKAGE_LIB_DIR=\"$(libdir)\" \ --DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ -@EMOTION_CFLAGS@ \ -@EMOTION_CPPFLAGS@ \ -@EFL_EMOTION_BUILD@ - -if EMOTION_BUILD_GENERIC -if !EMOTION_STATIC_BUILD_GENERIC - -pkgdir = $(libdir)/emotion - -pkg_LTLIBRARIES = em_generic.la -includes_HEADERS = Emotion_Generic_Plugin.h -includesdir = $(includedir)/emotion-@VMAJ@ -noinst_HEADERS = emotion_generic.h - -em_generic_la_SOURCES = emotion_generic.c -em_generic_la_LIBADD = @EMOTION_LIBS@ @EFL_SHM_OPEN_LIBS@ $(top_builddir)/src/lib/libemotion.la -em_generic_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version -em_generic_la_LIBTOOLFLAGS = --tag=disable-static -em_generic_la_DEPENDENCIES = emotion_generic.h Emotion_Generic_Plugin.h - -endif -endif diff --git a/legacy/emotion/src/modules/gstreamer/Makefile.am b/legacy/emotion/src/modules/gstreamer/Makefile.am deleted file mode 100644 index 367251096f..0000000000 --- a/legacy/emotion/src/modules/gstreamer/Makefile.am +++ /dev/null @@ -1,37 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in - -AM_CPPFLAGS = \ --I$(top_srcdir) \ --I$(top_srcdir)/src/lib \ --DPACKAGE_BIN_DIR=\"$(bindir)\" \ --DPACKAGE_LIB_DIR=\"$(libdir)\" \ --DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ -@EMOTION_CFLAGS@ \ -@EMOTION_CPPFLAGS@ \ -@EFL_EMOTION_BUILD@ \ -@GSTREAMER_CFLAGS@ \ -@GSTREAMER_INTERFACE_CFLAGS@ \ -@ECORE_X_CFLAGS@ - -if EMOTION_BUILD_GSTREAMER -if !EMOTION_STATIC_BUILD_GSTREAMER - -pkgdir = $(libdir)/emotion - -pkg_LTLIBRARIES = gstreamer.la -gstreamer_la_SOURCES = \ -emotion_gstreamer.c \ -emotion_sink.c \ -emotion_alloc.c \ -emotion_fakeeos.c \ -emotion_convert.c - -gstreamer_la_LIBADD = @EMOTION_LIBS@ @ECORE_X_LIBS@ @GSTREAMER_LIBS@ @GSTREAMER_INTERFACE_LIBS@ $(top_builddir)/src/lib/libemotion.la -gstreamer_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version -gstreamer_la_LIBTOOLFLAGS = --tag=disable-static -gstreamer_la_DEPENDENCIES = $(top_builddir)/config.h - -endif -endif - -EXTRA_DIST = emotion_gstreamer.h diff --git a/legacy/emotion/src/modules/xine/Makefile.am b/legacy/emotion/src/modules/xine/Makefile.am deleted file mode 100644 index baf8fecab5..0000000000 --- a/legacy/emotion/src/modules/xine/Makefile.am +++ /dev/null @@ -1,31 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in - -AM_CPPFLAGS = \ --I$(top_srcdir) \ --I$(top_srcdir)/src/lib \ --I$(top_srcdir)/src/modules \ --DPACKAGE_BIN_DIR=\"$(bindir)\" \ --DPACKAGE_LIB_DIR=\"$(libdir)\" \ --DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ -@EMOTION_CFLAGS@ \ -@EMOTION_CPPFLAGS@ \ -@EFL_EMOTION_BUILD@ \ -@XINE_CFLAGS@ - -if EMOTION_BUILD_XINE -if !EMOTION_STATIC_BUILD_XINE - -pkgdir = $(libdir)/emotion - -pkg_LTLIBRARIES = xine.la - -xine_la_SOURCES = \ -emotion_xine.c \ -emotion_xine.h \ -emotion_xine_vo_out.c -xine_la_LIBADD = @EMOTION_LIBS@ @XINE_LIBS@ $(top_builddir)/src/lib/libemotion.la -lpthread -xine_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version -xine_la_LIBTOOLFLAGS = --tag=disable-static - -endif -endif