summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--legacy/emotion/.gitignore98
-rw-r--r--legacy/emotion/AUTHORS11
-rw-r--r--legacy/emotion/INSTALL14
-rw-r--r--legacy/emotion/Makefile.am52
-rw-r--r--legacy/emotion/TODO27
-rwxr-xr-xlegacy/emotion/autogen.sh39
-rw-r--r--legacy/emotion/configure.ac370
-rw-r--r--legacy/emotion/data/Makefile.am57
-rw-r--r--legacy/emotion/doc/Doxyfile.in137
-rw-r--r--legacy/emotion/doc/Makefile.am33
-rw-r--r--legacy/emotion/doc/e.css273
-rw-r--r--legacy/emotion/doc/emotion.css178
-rw-r--r--legacy/emotion/doc/foot.html18
-rw-r--r--legacy/emotion/doc/head.html68
-rw-r--r--legacy/emotion/doc/img/e.pngbin30052 -> 0 bytes
-rw-r--r--legacy/emotion/doc/img/edoxy.css486
-rw-r--r--legacy/emotion/doc/img/foot_bg.pngbin173 -> 0 bytes
-rw-r--r--legacy/emotion/doc/img/head_bg.pngbin214 -> 0 bytes
-rw-r--r--legacy/emotion/doc/img/header_menu_background.pngbin192 -> 0 bytes
-rw-r--r--legacy/emotion/doc/img/header_menu_background_last.pngbin637 -> 0 bytes
-rw-r--r--legacy/emotion/doc/img/header_menu_current_background.pngbin1200 -> 0 bytes
-rw-r--r--legacy/emotion/doc/img/header_menu_unselected_background.pngbin1596 -> 0 bytes
-rw-r--r--legacy/emotion/doc/img/logo.pngbin3825 -> 0 bytes
-rw-r--r--legacy/emotion/emotion.spec.in88
-rw-r--r--legacy/emotion/m4/ac_attribute.m446
-rw-r--r--legacy/emotion/m4/efl_binary.m444
-rw-r--r--legacy/emotion/m4/efl_doxygen.m494
-rw-r--r--legacy/emotion/m4/efl_edje_external.m456
-rw-r--r--legacy/emotion/m4/efl_examples.m463
-rw-r--r--legacy/emotion/m4/efl_shm_open.m469
-rw-r--r--legacy/emotion/m4/emotion_check.m4216
-rw-r--r--legacy/emotion/m4/gst-element-check.m423
-rw-r--r--legacy/emotion/src/Makefile.am12
-rw-r--r--legacy/emotion/src/bin/Makefile.am26
-rw-r--r--legacy/emotion/src/edje_external/Makefile.am18
-rw-r--r--legacy/emotion/src/examples/Makefile.am41
-rw-r--r--legacy/emotion/src/generic_players/Makefile.am8
-rw-r--r--legacy/emotion/src/generic_players/vlc/Makefile.am18
-rw-r--r--legacy/emotion/src/generic_players/vlc/emotion_generic_vlc.c916
-rw-r--r--legacy/emotion/src/lib/Makefile.am59
-rw-r--r--legacy/emotion/src/modules/Makefile.am4
-rw-r--r--legacy/emotion/src/modules/generic/Makefile.am31
-rw-r--r--legacy/emotion/src/modules/gstreamer/Makefile.am37
-rw-r--r--legacy/emotion/src/modules/xine/Makefile.am31
44 files changed, 0 insertions, 3761 deletions
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 @@
1*.o
2*.swp
3*.swo
4*~
5ABOUT-NLS
6Makefile
7Makefile.in
8aclocal.m4
9autom4te.cache/
10config.cache
11config.cache-env
12config.guess
13config.h
14config.h.in
15config.log
16config.status
17config.sub
18configure
19data/Makefile
20data/Makefile.in
21data/icon.edj
22data/theme.edj
23depcomp
24doc/Doxyfile
25doc/Makefile
26doc/Makefile.in
27emotion.pc
28emotion.spec
29install-sh
30libtool
31ltmain.sh
32m4/libtool.m4
33m4/ltoptions.m4
34m4/ltsugar.m4
35m4/ltversion.m4
36m4/lt~obsolete.m4
37missing
38src/Makefile
39src/Makefile.in
40src/bin/.deps/
41src/bin/.libs/
42src/bin/Makefile
43src/bin/Makefile.in
44src/bin/emotion_test
45src/edje_external/.deps/
46src/edje_external/.libs/
47src/edje_external/Makefile
48src/edje_external/Makefile.in
49src/edje_external/module.la
50src/edje_external/module_la-emotion.lo
51src/examples/.deps/
52src/examples/.libs/
53src/examples/Makefile
54src/examples/Makefile.in
55src/examples/emotion_basic_example
56src/examples/emotion_border_example
57src/examples/emotion_generic_example
58src/examples/emotion_generic_subtitle_example
59src/examples/emotion_signals_example
60src/generic_players/Makefile
61src/generic_players/Makefile.in
62src/generic_players/vlc/.deps/
63src/generic_players/vlc/Makefile
64src/generic_players/vlc/Makefile.in
65src/generic_players/vlc/em_generic_vlc
66src/lib/.deps/
67src/lib/.libs/
68src/lib/Makefile
69src/lib/Makefile.in
70src/lib/emotion_main.lo
71src/lib/emotion_smart.lo
72src/lib/libemotion.la
73src/modules/Makefile
74src/modules/Makefile.in
75src/modules/generic/.deps/
76src/modules/generic/.libs/
77src/modules/generic/Makefile
78src/modules/generic/Makefile.in
79src/modules/generic/em_generic.la
80src/modules/generic/em_generic_la-emotion_generic.lo
81src/modules/gstreamer/.deps/
82src/modules/gstreamer/.libs/
83src/modules/gstreamer/Makefile
84src/modules/gstreamer/Makefile.in
85src/modules/gstreamer/gstreamer.la
86src/modules/gstreamer/gstreamer_la-emotion_alloc.lo
87src/modules/gstreamer/gstreamer_la-emotion_convert.lo
88src/modules/gstreamer/gstreamer_la-emotion_fakeeos.lo
89src/modules/gstreamer/gstreamer_la-emotion_gstreamer.lo
90src/modules/gstreamer/gstreamer_la-emotion_sink.lo
91src/modules/xine/.deps/
92src/modules/xine/.libs/
93src/modules/xine/Makefile
94src/modules/xine/Makefile.in
95src/modules/xine/xine.la
96src/modules/xine/xine_la-emotion_xine.lo
97src/modules/xine/xine_la-emotion_xine_vo_out.lo
98stamp-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 @@
1Carsten Haitzler <raster@rasterman.com>
2Vincent Torri <torri@maths.univ-evry.fr>
3Nicolas Aguirre <aguirre.nicolas@gmail.com>
4Sebastian Dransfeld <sd@tango.flipp.net>
5Cedric Bail <cedric.bail@free.fr>
6Rafael Antognolli <antognolli@profusion.mobi>
7Jérôme Pinot <ngc891@gmail.com>
8Pierre Le Magourou <pierre.lemagourou@openwide.fr>
9Hugo Camboulive <hugo.camboulive@zodiacaerospace.com>
10Sohyun Kim <anna1014.kim@samsung.com>
11Leandro Dorileo <dorileo@profusion.mobi> \ 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 @@
1COMPILING and INSTALLING:
2
3If you got a official release tar archive do:
4 ./configure
5
6( otherwise if you got this from enlightenment cvs do: ./autogen.sh )
7
8Then to compile:
9 make
10
11To install (run this as root, or the user who handles installs):
12 make install
13
14NOTE: 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 @@
1## Process this file with automake to produce Makefile.in
2
3ACLOCAL_AMFLAGS = -I m4
4
5SUBDIRS = src data doc
6
7MAINTAINERCLEANFILES = \
8Makefile.in \
9aclocal.m4 \
10config.guess \
11config.h.in \
12config.sub \
13configure \
14depcomp \
15install-sh \
16ltconfig \
17ltmain.sh \
18missing \
19mkinstalldirs \
20stamp-h.in \
21$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz \
22$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2 \
23$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc.tar.bz2
24
25EXTRA_DIST = \
26README \
27AUTHORS \
28COPYING \
29autogen.sh \
30emotion.spec \
31emotion.spec.in \
32emotion.pc.in \
33m4/ac_attribute.m4 \
34m4/efl_binary.m4 \
35m4/efl_doxygen.m4 \
36m4/efl_edje_external.m4 \
37m4/efl_examples.m4 \
38m4/efl_shm_open.m4 \
39m4/emotion_check.m4 \
40m4/gst-element-check.m4
41
42
43pkgconfigdir = $(libdir)/pkgconfig
44pkgconfig_DATA = emotion.pc
45
46.PHONY: doc
47
48# Documentation
49
50doc:
51 @echo "entering doc/"
52 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 @@
1
2Emotion smart object
3--------------------
4
5
6Xine module
7-----------
8
9* Fix seek and get_pos threads delete bugs (infinite loop)
10* Add support of visualizations for audio files (Goom...)
11
12
13Gstreamer module
14----------------
15
16* Add gststreamselector to support multiple video and audio streams.
17* Add API for visualisation plugins
18* Add http source (N. Aguirre)
19* Add mms source
20* Add rtsp source
21* Add dvb source
22* Add v4l2 source (no v4l1 source) (N. Aguirre)
23* Add dvd source (waiting for the dvdnav gstreamer source plugin, though...)
24* Add daap source
25* Add upnp source
26* Implement time shifting
27* 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 @@
1#!/bin/sh
2
3rm -rf autom4te.cache
4rm -f aclocal.m4 ltmain.sh
5
6touch README
7touch ABOUT-NLS
8
9echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS -I m4 || exit 1
10echo "Running autoheader..." ; autoheader || exit 1
11echo "Running autoconf..." ; autoconf || exit 1
12echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1
13echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1
14
15W=0
16
17rm -f config.cache-env.tmp
18echo "OLD_PARM=\"$@\"" >> config.cache-env.tmp
19echo "OLD_CFLAGS=\"$CFLAGS\"" >> config.cache-env.tmp
20echo "OLD_PATH=\"$PATH\"" >> config.cache-env.tmp
21echo "OLD_PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\"" >> config.cache-env.tmp
22echo "OLD_LDFLAGS=\"$LDFLAGS\"" >> config.cache-env.tmp
23
24cmp config.cache-env.tmp config.cache-env >> /dev/null
25if [ $? -ne 0 ]; then
26 W=1;
27fi
28
29if [ $W -ne 0 ]; then
30 echo "Cleaning configure cache...";
31 rm -f config.cache config.cache-env
32 mv config.cache-env.tmp config.cache-env
33else
34 rm -f config.cache-env.tmp
35fi
36
37if [ -z "$NOCONFIGURE" ]; then
38 ./configure -C "$@"
39fi
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 @@
1##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3m4_define([v_maj], [1])
4m4_define([v_min], [7])
5m4_define([v_mic], [99])
6m4_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']))
7m4_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']))])
8##-- When released, remove the dnl on the below line
9dnl m4_undefine([v_rev])
10##-- When doing snapshots - change soname. remove dnl on below line
11m4_define([relname], [ver-pre-svn-07])
12m4_define([v_rel], [-release relname])
13##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
14m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])],
15[m4_define([v_ver], [v_maj.v_min.v_mic])])
16m4_define([lt_rev], m4_eval(v_maj + v_min))
17m4_define([lt_cur], v_mic)
18m4_define([lt_age], v_min)
19##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
20##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
21
22AC_INIT([emotion], [v_ver], [enlightenment-devel@lists.sourceforge.net])
23AC_PREREQ([2.60])
24AC_CONFIG_SRCDIR([configure.ac])
25AC_CONFIG_MACRO_DIR([m4])
26AC_CANONICAL_BUILD
27AC_CANONICAL_HOST
28AC_ISC_POSIX
29
30AM_INIT_AUTOMAKE([1.6 dist-bzip2])
31AC_CONFIG_HEADERS([config.h])
32m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
33
34AC_LIBTOOL_WIN32_DLL
35define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
36define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
37AC_PROG_LIBTOOL
38
39##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
40##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
41m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
42m4_ifdef([v_rel], , [m4_define([v_rel], [])])
43AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
44AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
45AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
46AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
47version_info="lt_rev:lt_cur:lt_age"
48release_info="v_rel"
49AC_SUBST(version_info)
50AC_SUBST(release_info)
51##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
52##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
53VMAJ=v_maj
54AC_SUBST(VMAJ)
55
56want_generic="yes"
57case "$host_os" in
58 mingw*)
59 want_xine="no"
60 want_gstreamer="yes"
61 want_generic="no"
62 want_generic_vlc="no"
63 ;;
64 *)
65 want_xine="yes"
66 want_gstreamer="yes"
67 want_generic_vlc="yes"
68 ;;
69esac
70
71requirement_emotion=""
72
73### Additional options to configure
74
75EFL_ENABLE_BIN([emotion-test])
76
77# edje_cc
78
79AC_ARG_WITH([edje-cc],
80 [AC_HELP_STRING([--with-edje-cc=PATH], [specify a specific path to edje_cc])],
81 [
82 v=$withval;
83 edje_cc=$v
84 echo " Enlightenment edje_cc explicitly set to "$edje_cc;
85 ],
86 [edje_cc=$(pkg-config --variable=prefix edje)/bin/edje_cc])
87AC_SUBST(edje_cc)
88
89
90### Checks for programs
91AC_PROG_CC
92
93# pkg-config
94PKG_PROG_PKG_CONFIG
95
96# Check whether pkg-config supports Requires.private
97if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
98 pkgconfig_requires_private="Requires.private"
99else
100 pkgconfig_requires_private="Requires"
101fi
102AC_SUBST(pkgconfig_requires_private)
103
104# doxygen program for documentation building
105
106EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
107
108
109### Checks for libraries
110
111requirement_emotion="ecore >= 1.6.99 evas >= 1.6.99 eet >= 1.6.99 eina >= 1.6.99"
112PKG_CHECK_MODULES(EMOTION, [${requirement_emotion}])
113
114
115if test "x${have_emotion_test}" = "xyes" ; then
116 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])
117fi
118
119PKG_CHECK_MODULES(ECORE_X, [ecore-x >= 1.6.99 ecore-evas >= 1.6.99], [have_ecore_x="yes"], [have_ecore_x="no"])
120
121PKG_CHECK_MODULES(ECORE_FB, [ecore-fb >= 1.6.99], [have_ecore_fb="yes"], [have_ecore_fb="no"])
122
123if test "x${have_ecore_x}" = "xyes" ; then
124 AC_DEFINE(EMOTION_HAVE_ECORE_X, 1, [Define to 1 if Ecore_X is enabled])
125fi
126
127if test "x${have_ecore_fb}" = "xyes" ; then
128 AC_DEFINE(EMOTION_HAVE_ECORE_FB, 1, [Define to 1 if Ecore_Fb is enabled])
129fi
130
131PKG_CHECK_EXISTS([evas-software-x11 >= 1.6.99], [AC_DEFINE(HAVE_EVAS_SOFWARE_X11, 1, [Evas Software Xlib Engine Support])])
132
133PKG_CHECK_EXISTS([evas-xrender-x11 >= 1.6.99], [AC_DEFINE(HAVE_EVAS_XRENDER_X11, 1, [Evas Software Xlib Engine Support])])
134
135PKG_CHECK_EXISTS([evas-opengl-x11 >= 1.6.99], [AC_DEFINE(HAVE_EVAS_OPENGL_X11, 1, [Evas OpenGL Xlib Engine Support])])
136
137PKG_CHECK_EXISTS([evas-fb >= 1.6.99], [AC_DEFINE(HAVE_EVAS_FB, 1, [Evas Framebuffer Engine Support])])
138
139EFL_EDJE_EXTERNAL([have_edje_external="yes"], [have_edje_external="no"])
140
141PKG_CHECK_MODULES(EEZE, [eeze >= 1.6.99], [have_eeze="yes"], [have_eeze="no"])
142
143if test "x${have_eeze}" = "xyes"; then
144 AC_DEFINE(EMOTION_HAVE_EEZE, 1, [Define to 1 if Eeze is available])
145 requirement_emotion="${requirement_emotion} eeze >= 1.6.99"
146fi
147
148PKG_CHECK_MODULES([EIO], [eio >= 1.6.99], [have_eio="yes"], [have_eio="no"])
149if test "x${have_eio}" = "xyes"; then
150 AC_DEFINE(HAVE_EIO, 1, [Use EIO for asynchronous file access])
151 requirement_emotion="eio >= 1.6.99 ${requirement_emotion}"
152fi
153
154AM_CONDITIONAL([HAVE_EIO], [test "x${have_eio}" = "xyes"])
155
156# ecore-x availability, used for XV, VAAPI, VDPAU output.
157
158have_ecore_x="no"
159AC_ARG_ENABLE([ecore-x],
160 [AC_HELP_STRING([--disable-ecore-x], [disable ecore-x support. @<:@default=detect@:>@])],
161 [
162 if test "x${enableval}" = "xyes" || test "x${enableval}" = "xauto" ; then
163 want_ecore_x=${enableval}
164 else
165 want_ecore_x="no"
166 fi
167 ],
168 [want_ecore_x="auto"])
169
170if ! test "x$want_ecore_x" = "xno" ; then
171 PKG_CHECK_MODULES([ECORE_X],
172 [ecore-x >= 1.6.99],
173 [
174 AC_DEFINE(HAVE_ECORE_X, 1, [X11 support for Ecore])
175 have_ecore_x="yes"
176 requirement_elm="ecore-x >= 1.6.99 ${requirement_elm}"
177 ],
178 [have_ecore_x="no"]
179 )
180else
181 have_ecore_x="no"
182fi
183
184if test "x$want_ecore_x" = "xyes" && test "x$have_ecore_x" = "xno" ; then
185 AC_MSG_ERROR([ecore-x support requested, but not found by pkg-config.])
186fi
187
188### Checks for header files
189
190AC_CHECK_HEADERS([unistd.h])
191
192# Check for video4linux
193
194AC_MSG_CHECKING([for V4L2])
195AC_COMPILE_IFELSE(
196 [AC_LANG_PROGRAM(
197 [[
198#include <stdio.h>
199#include <linux/videodev2.h>
200 ]],
201 [[
202fprintf(stdout, "%i\n", V4L2_CAP_VIDEO_CAPTURE);
203 ]])],
204 [
205 AC_DEFINE(HAVE_V4L2, 1, [Define to 1 if you have Video4Linux 2 available])
206 have_v4l2="yes"
207 ],
208 [have_v4l2="no"])
209AC_MSG_RESULT([${have_v4l2}])
210
211### Checks for types
212
213
214### Checks for structures
215
216
217### Checks for compiler characteristics
218AC_C_BIGENDIAN
219AC_C___ATTRIBUTE__
220
221EFL_EMOTION_BUILD=""
222case "$host_os" in
223 mingw32ce*)
224 EMOTION_CPPFLAGS="-D_WIN32_WCE=0x0420"
225 EFL_EMOTION_BUILD="-DEFL_EMOTION_BUILD"
226 ;;
227 mingw*)
228 EMOTION_CPPFLAGS="-D_WIN32_WINNT=0x0501"
229 EFL_EMOTION_BUILD="-DEFL_EMOTION_BUILD"
230 ;;
231esac
232AC_SUBST(EFL_EMOTION_BUILD)
233AC_SUBST(EMOTION_CPPFLAGS)
234
235
236### Checks for linker characteristics
237
238# use --enable-auto-import on Windows
239
240lt_enable_auto_import=""
241case "$host_os" in
242 mingw*)
243 lt_enable_auto_import="-Wl,--enable-auto-import"
244 ;;
245esac
246AC_SUBST(lt_enable_auto_import)
247
248
249### Checks for library functions
250AC_FUNC_ALLOCA
251
252
253### Modules
254
255EMOTION_CHECK_MODULE([Xine], [${want_xine}])
256EMOTION_CHECK_MODULE([Gstreamer], [${want_gstreamer}])
257EMOTION_CHECK_MODULE([Generic], [${want_generic}])
258
259EMOTION_CHECK_GENERIC_PLAYER([VLC], [${want_generic_vlc}])
260
261if test "x${enable_xine}" = "xno" && test "x${enable_gstreamer}" = "xno" && test "x${enable_generic}" = "xno" ; then
262 AC_MSG_ERROR([Xine, Gstreamer or Generic backends must be selected to build Emotion])
263fi
264
265# Check if gstreamer X Overlay is available
266build_xoverlay="no"
267if test "x${enable_gstreamer}" = "xyes" ; then
268 PKG_CHECK_MODULES([GSTREAMER_INTERFACE],
269 [gstreamer-interfaces-0.10 >= 0.10.34],
270 [build_xoverlay="yes"],
271 [build_xoverlay="no"])
272 if test "x${build_xoverlay}" = "xyes" ; then
273 save_CPPFLAGS=$CPPFLAGS
274 CPPFLAGS="$CPPFLAGS ${GSTREAMER_CFLAGS} ${GSTREAMER_INTERFACE_CFLAGS}"
275 AC_CHECK_HEADER([gst/interfaces/xoverlay.h],
276 [
277 AC_DEFINE(HAVE_XOVERLAY_H, 1, [Build with Gstreamer Xoverlay support])
278 build_xoverlay="yes"
279 ],
280 [build_xoverlay="no"])
281 CPPFLAGS=$save_CPPFLAGS
282
283 save_LDFLAGS=${LDFLAGS}
284 LDFLAGS="${LDFLAGS} ${GSTREAMER_INTERFACES}"
285 AC_CHECK_LIB([gstinterfaces-0.10],
286 [gst_x_overlay_set_window_handle],
287 [AC_DEFINE([HAVE_X_OVERLAY_SET], [1], [Use gst_x_overlay_set_window_handle instead of old deprecated gst_x_overlay_set_xwindow_id])])
288 LDFLAGS=$sava_LDFLAGS
289 fi
290fi
291
292### install and build examples
293
294EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"])
295EFL_CHECK_INSTALL_EXAMPLES([enable_install_examples="yes"], [enable_install_examples="no"])
296
297AC_SUBST(requirement_emotion)
298
299AC_OUTPUT([
300Makefile
301emotion.pc
302emotion.spec
303src/Makefile
304src/lib/Makefile
305src/modules/Makefile
306src/modules/xine/Makefile
307src/modules/gstreamer/Makefile
308src/modules/generic/Makefile
309src/edje_external/Makefile
310src/generic_players/Makefile
311src/generic_players/vlc/Makefile
312src/bin/Makefile
313src/examples/Makefile
314doc/Makefile
315doc/Doxyfile
316data/Makefile
317])
318
319
320#####################################################################
321## Info
322
323echo
324echo
325echo
326echo "------------------------------------------------------------------------"
327echo "$PACKAGE $VERSION"
328echo "------------------------------------------------------------------------"
329echo
330echo "Configuration Options Summary:"
331echo
332echo " Modules:"
333echo " Xine...............: ${enable_xine}"
334echo " Gstreamer..........: ${enable_gstreamer} (X: ${have_ecore_x}/${build_xoverlay})"
335echo " Generic............: ${enable_generic}"
336
337if test "x${enable_generic}" = "xyes" || test "x${enable_generic}" = "xstatic"; then
338echo
339echo " Generic Players:"
340echo " VLC................: ${enable_generic_vlc}"
341fi
342
343echo
344echo " Build emotion_test...: $have_emotion_test"
345echo " edje_cc..............: ${edje_cc}"
346echo
347echo " Edje EXTERNAL support: ${have_edje_external}"
348echo
349echo " Eio..................: ${have_eio}"
350echo " V4L2.................: ${have_v4l2}"
351echo
352echo "Documentation..........: ${build_doc}"
353echo "Examples.............: ${enable_build_examples}"
354echo "Examples installed...: ${enable_install_examples}"
355echo
356echo "Compilation............: make (or gmake)"
357echo " CPPFLAGS.............: $CPPFLAGS"
358echo " CFLAGS...............: $CFLAGS"
359echo " LDFLAGS..............: $LDFLAGS"
360echo
361echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
362echo " prefix...............: $prefix"
363echo
364if test "x${have_static_module}" = "xyes" ; then
365echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Emotion."
366echo " You must know what you are doing, or else you will have a lot of problems."
367echo " And asparagus will disappear from the earth."
368echo " Think about that."
369echo
370fi
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 @@
1
2MAINTAINERCLEANFILES = Makefile.in
3
4EDJE_CC = @edje_cc@
5EDJE_FLAGS = -id $(top_srcdir)/data -fd $(top_srcdir)/data
6
7filesdir = $(datadir)/$(PACKAGE)/data
8
9files_DATA =
10
11if BUILD_EMOTION_TEST
12files_DATA += theme.edj
13endif
14
15if ENABLE_EDJE_EXTERNAL
16files_DATA += icon.edj
17endif
18
19EXTRA_DIST = \
20bpause.png \
21bplay.png \
22bstop.png \
23e_logo.png \
24fr1.png \
25fr2.png \
26fr3.png \
27fr4.png \
28fr5.png \
29fr6.png \
30fr7.png \
31h_slider.png \
32knob.png \
33orb.png \
34pnl.png \
35sl.png \
36tiles.png \
37video_frame_bottom.png \
38video_frame_left.png \
39video_frame_right.png \
40video_frame_top.png \
41whb.png \
42window_inner_shadow.png \
43theme.edc \
44icon.edc
45
46theme.edj: Makefile theme.edc
47 $(EDJE_CC) $(EDJE_FLAGS) \
48 $(top_srcdir)/data/theme.edc \
49 $(top_builddir)/data/theme.edj
50
51icon.edj: Makefile icon.edc
52 $(EDJE_CC) $(EDJE_FLAGS) \
53 $(top_srcdir)/data/icon.edc \
54 $(top_builddir)/data/icon.edj
55
56clean-local:
57 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 @@
1PROJECT_NAME = Emotion
2PROJECT_NUMBER = @PACKAGE_VERSION@
3OUTPUT_DIRECTORY = .
4INPUT = @top_srcdir@/src/lib \
5 @srcdir@/examples.dox
6IMAGE_PATH = @srcdir@/img
7OUTPUT_LANGUAGE = English
8GENERATE_HTML = YES
9HTML_OUTPUT = html
10HTML_FILE_EXTENSION = .html
11HTML_HEADER = @srcdir@/head.html
12HTML_FOOTER = @srcdir@/foot.html
13HTML_STYLESHEET = @srcdir@/e.css
14ENUM_VALUES_PER_LINE = 1
15GENERATE_HTMLHELP = NO
16CHM_FILE =
17HHC_LOCATION =
18GENERATE_CHI = NO
19BINARY_TOC = NO
20TOC_EXPAND = NO
21DISABLE_INDEX = YES
22EXTRACT_ALL = NO
23EXTRACT_PRIVATE = NO
24EXTRACT_STATIC = NO
25EXTRACT_LOCAL_CLASSES = NO
26HIDE_UNDOC_MEMBERS = YES
27HIDE_UNDOC_CLASSES = YES
28HIDE_FRIEND_COMPOUNDS = YES
29BRIEF_MEMBER_DESC = YES
30REPEAT_BRIEF = YES
31ALWAYS_DETAILED_SEC = NO
32INLINE_INHERITED_MEMB = NO
33FULL_PATH_NAMES = NO
34STRIP_FROM_PATH =
35INTERNAL_DOCS = NO
36STRIP_CODE_COMMENTS = YES
37CASE_SENSE_NAMES = YES
38SHORT_NAMES = NO
39HIDE_SCOPE_NAMES = NO
40VERBATIM_HEADERS = NO
41SHOW_INCLUDE_FILES = NO
42JAVADOC_AUTOBRIEF = YES
43MULTILINE_CPP_IS_BRIEF = NO
44INHERIT_DOCS = YES
45INLINE_INFO = YES
46SORT_MEMBER_DOCS = YES
47DISTRIBUTE_GROUP_DOC = NO
48TAB_SIZE = 2
49GENERATE_TODOLIST = YES
50GENERATE_TESTLIST = YES
51GENERATE_BUGLIST = YES
52GENERATE_DEPRECATEDLIST= YES
53ALIASES =
54ENABLED_SECTIONS =
55MAX_INITIALIZER_LINES = 30
56OPTIMIZE_OUTPUT_FOR_C = YES
57OPTIMIZE_OUTPUT_JAVA = NO
58SHOW_USED_FILES = NO
59QUIET = NO
60WARNINGS = YES
61WARN_IF_UNDOCUMENTED = YES
62WARN_FORMAT = "$file:$line: $text"
63WARN_LOGFILE =
64FILE_PATTERNS =
65RECURSIVE = NO
66EXCLUDE =
67EXCLUDE_SYMLINKS = NO
68EXCLUDE_PATTERNS =
69EXAMPLE_PATH = @top_srcdir@/src/examples @top_srcdir@/src/bin
70EXAMPLE_PATTERNS =
71EXAMPLE_RECURSIVE = NO
72INPUT_FILTER =
73FILTER_SOURCE_FILES = NO
74SOURCE_BROWSER = NO
75INLINE_SOURCES = NO
76REFERENCED_BY_RELATION = YES
77REFERENCES_RELATION = YES
78ALPHABETICAL_INDEX = YES
79COLS_IN_ALPHA_INDEX = 2
80IGNORE_PREFIX = emotion_ _emotion_ Emotion_ _Emotion_ EMOTION_ _EMOTION_
81GENERATE_TREEVIEW = NO
82TREEVIEW_WIDTH = 250
83GENERATE_LATEX = YES
84LATEX_OUTPUT = latex
85LATEX_CMD_NAME = latex
86MAKEINDEX_CMD_NAME = makeindex
87COMPACT_LATEX = NO
88PAPER_TYPE = a4wide
89EXTRA_PACKAGES =
90LATEX_HEADER =
91PDF_HYPERLINKS = YES
92USE_PDFLATEX = YES
93LATEX_BATCHMODE = NO
94GENERATE_RTF = NO
95RTF_OUTPUT = rtf
96COMPACT_RTF = NO
97RTF_HYPERLINKS = NO
98RTF_STYLESHEET_FILE =
99RTF_EXTENSIONS_FILE =
100GENERATE_MAN = YES
101MAN_OUTPUT = man
102MAN_EXTENSION = .3
103MAN_LINKS = YES
104GENERATE_XML = NO
105XML_SCHEMA =
106XML_DTD =
107GENERATE_AUTOGEN_DEF = NO
108ENABLE_PREPROCESSING = YES
109MACRO_EXPANSION = NO
110EXPAND_ONLY_PREDEF = NO
111SEARCH_INCLUDES = NO
112INCLUDE_PATH =
113INCLUDE_FILE_PATTERNS =
114PREDEFINED =
115EXPAND_AS_DEFINED =
116SKIP_FUNCTION_MACROS = YES
117TAGFILES =
118GENERATE_TAGFILE =
119ALLEXTERNALS = NO
120EXTERNAL_GROUPS = YES
121PERL_PATH = /usr/bin/perl
122CLASS_DIAGRAMS = NO
123HIDE_UNDOC_RELATIONS = YES
124HAVE_DOT = NO
125CLASS_GRAPH = NO
126COLLABORATION_GRAPH = NO
127TEMPLATE_RELATIONS = NO
128INCLUDE_GRAPH = NO
129INCLUDED_BY_GRAPH = NO
130GRAPHICAL_HIERARCHY = NO
131DOT_IMAGE_FORMAT = png
132DOT_PATH =
133DOTFILE_DIRS =
134DOT_GRAPH_MAX_NODES = 50
135GENERATE_LEGEND = YES
136DOT_CLEANUP = YES
137SEARCHENGINE = 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 @@
1MAINTAINERCLEANFILES = Makefile.in
2
3.PHONY: doc
4
5PACKAGE_DOCNAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc
6
7if EFL_BUILD_DOC
8
9doc-clean:
10 rm -rf html/ latex/ man/ xml/ $(top_builddir)/$(PACKAGE_DOCNAME).tar*
11
12doc: all doc-clean
13 $(efl_doxygen)
14 cp $(srcdir)/img/* html/
15 cp $(srcdir)/img/* latex/
16 rm -rf $(PACKAGE_DOCNAME).tar*
17 mkdir -p $(PACKAGE_DOCNAME)/doc
18 cp -R html/ latex/ man/ $(PACKAGE_DOCNAME)/doc
19 tar cf $(PACKAGE_DOCNAME).tar $(PACKAGE_DOCNAME)/
20 bzip2 -9 $(PACKAGE_DOCNAME).tar
21 rm -rf $(PACKAGE_DOCNAME)/
22 mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir)
23
24clean-local: doc-clean
25
26else
27
28doc:
29 @echo "Documentation not built. Run ./configure --help"
30
31endif
32
33EXTRA_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 @@
1/*
2 Author:
3 Andres Blanc <andresblanc@gmail.com>
4 DaveMDS Andreoli <dave@gurumeditation.it>
5
6 Supported Browsers:
7 ie7, opera9, konqueror4 and firefox3
8
9 Please use a different file for ie6, ie5, etc. hacks.
10*/
11
12
13/* Necessary to place the footer at the bottom of the page */
14html, body {
15 height: 100%;
16 margin: 0px;
17 padding: 0px;
18}
19
20#container {
21 min-height: 100%;
22 height: auto !important;
23 height: 100%;
24 margin: 0 auto -53px;
25}
26
27#footer, #push {
28 height: 53px;
29}
30
31
32* html #container {
33 height: 100%;
34}
35
36/* Prevent floating elements overflowing containers */
37.clear {
38 clear: both;
39 width: 0px;
40 height: 0px;
41}
42
43/* Flexible & centered layout from 750 to 960 pixels */
44.layout {
45 max-width: 960px;
46 min-width: 760px;
47 margin-left: auto;
48 margin-right: auto;
49}
50
51body {
52 /*font-family: Lucida Grande, Helvetica, sans-serif;*/
53 font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif
54}
55
56/* Prevent design overflowing the viewport in small resolutions */
57#container {
58 padding-right: 17px;
59 padding-left: 17px;
60 background-image: url(head_bg.png);
61 background-repeat: repeat-x;
62}
63
64/****************************/
65/* Top main menu */
66/****************************/
67#header_logo {
68 background-image : url(logo.png);
69 width : 61px;
70}
71
72#header_logo a {
73 position : absolute;
74 border : 0px;
75 background-color : transparent;
76 top : 0px;
77 width : 60px;
78 height : 60px;
79}
80
81#header_menu {
82 background-image : url(header_menu_background.png);
83 font : normal 10pt verdana,'Bitstream Vera Sans',helvetica,arial,sans-serif;
84 text-align : right;
85}
86
87#header_last {
88 background-image : url(header_menu_background_last.png);
89 width : 15px;
90}
91
92td.nav_passive {
93 background : url(header_menu_unselected_background.png) 0 0 no-repeat;
94 height : 63px;
95 font-family : "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif;
96 font-size : 11px;
97 padding : 20px 10px 20px 10px;
98 vertical-align : middle;
99}
100
101td.nav_active {
102 background : url(header_menu_current_background.png) 0 0 no-repeat;
103 height : 63px;
104 color : #646464;
105 font-family : "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif;
106 font-size : 11px;
107 font-weight : bold;
108 padding : 20px 10px 20px 10px;
109 vertical-align : middle;
110}
111
112#header_menu a {
113 display : block;
114 text-decoration : none;
115 cursor : pointer;
116 color : #cdcdcd;
117}
118
119
120
121#header {
122 width: 100%;
123 height: 102px;
124}
125
126#header h1 {
127 width: 63px;
128 height: 63px;
129 position: absolute;
130 margin: 0px;
131}
132
133#header h1 span {
134 display: none;
135}
136
137#header h2 {
138 display: none;
139}
140
141/* .menu-container is used to set properties common to .menu and .submenu */
142#header .menu-container {
143}
144
145#header .menu-container ul {
146 list-style-type: none;
147 list-style-position: inside;
148 margin: 0;
149}
150
151#header .menu-container li {
152 display: block;
153 float: right;
154}
155
156#header .menu {
157 height: 63px;
158 display: block;
159 background-image: url(menu_bg.png);
160 background-repeat: repeat-x;
161}
162
163#header .menu ul {
164 height: 100%;
165 display: block;
166 background-image: url(menu_bg_last.png);
167 background-repeat: no-repeat;
168 background-position: top right;
169 padding-right: 17px;
170}
171
172#header .menu li {
173 height: 100%;
174 text-align: center;
175 background-image: url(menu_bg_unsel.png);
176 background-repeat: no-repeat;
177}
178
179#header .menu a {
180 height: 100%;
181 display: block;
182 color: #cdcdcd;
183 text-decoration: none;
184 font-size: 10pt;
185 line-height: 59px;
186 text-align: center;
187 padding: 0px 15px 0px 15px;
188}
189
190#header .menu li:hover {
191 background-image: url(menu_bg_hover.png);
192 background-repeat: no-repeat;
193}
194
195#header .menu li:hover a {
196 color: #FFFFFF;
197}
198
199#header .menu li.current {
200 background-image: url(menu_bg_current.png);
201 background-repeat: no-repeat;
202}
203
204#header .menu li.current a {
205 color: #646464;
206}
207
208
209/* Hide all the submenus but the current */
210#header .submenu ul {
211 display: none;
212}
213
214#header .submenu .current {
215 display: block;
216}
217
218#header .submenu {
219 font: bold 10px verdana,'Bitstream Vera Sans',helvetica,arial,sans-serif;
220 margin-top: 10px;
221}
222
223#header .submenu a {
224 color: #888888;
225 text-decoration: none;
226 font-size: 0.9em;
227 line-height: 15px;
228 padding:0px 5px 0px 5px;
229}
230
231#header .submenu a:hover {
232 color: #444444;
233}
234
235#header .submenu li {
236 border-left: 1px solid #DDDDDD;
237}
238
239#header .submenu li:last-child {
240 border-left: 0;
241}
242
243#header .doxytitle {
244 position: absolute;
245 font-size: 1.8em;
246 font-weight: bold;
247 color: #444444;
248 line-height: 35px;
249}
250
251#header small {
252 font-size: 0.4em;
253}
254
255#footer {
256 background-image: url(foot_bg.png);
257 width: 100%;
258}
259
260#footer table {
261 width: 100%;
262 text-align: center;
263 white-space: nowrap;
264 padding: 5px 30px 5px 30px;
265 font-size: 0.8em;
266 font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif;
267 color: #888888;
268}
269
270#footer td.copyright {
271 width: 100%;
272}
273
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 @@
1td.md {
2 background-color: #ffffff;
3 font-family: monospace;
4 text-align: left;
5 vertical-align: center;
6 font-size: 10;
7 padding-right : 1px;
8 padding-top : 1px;
9 padding-left : 1px;
10 padding-bottom : 1px;
11 margin-left : 1px;
12 margin-right : 1px;
13 margin-top : 1px;
14 margin-bottom : 1px
15}
16td.mdname {
17 font-family: monospace;
18 text-align: left;
19 vertical-align: center;
20 font-size: 10;
21 padding-right : 1px;
22 padding-top : 1px;
23 padding-left : 1px;
24 padding-bottom : 1px;
25 margin-left : 1px;
26 margin-right : 1px;
27 margin-top : 1px;
28 margin-bottom : 1px
29}
30h1
31{
32 text-align: center;
33 color: #333333
34}
35h2
36{
37 text-align: left;
38 color: #333333
39}
40h3
41{
42 text-align: left;
43 color: #333333
44}
45a:link
46{
47 text-decoration: none;
48 color: #444444;
49 font-weight: bold;
50}
51a:visited
52{
53 text-decoration: none;
54 color: #666666;
55 font-weight: bold;
56}
57a:hover
58{
59 text-decoration: none;
60 color: #000000;
61 font-weight: bold;
62}
63a.nav:link
64{
65 text-decoration: none;
66 color: #444444;
67 font-weight: normal;
68}
69a.nav:visited
70{
71 text-decoration: none;
72 color: #666666;
73 font-weight: normal;
74}
75a.nav:hover
76{
77 text-decoration: none;
78 color: #000000;
79 font-weight: normal;
80}
81a.qindex:link
82{
83 text-decoration: none;
84 color: #444444;
85 font-weight: normal;
86}
87a.qindex:visited
88{
89 text-decoration: none;
90 color: #666666;
91 font-weight: normal;
92}
93a.qindex:hover
94{
95 text-decoration: none;
96 color: #000000;
97 font-weight: normal;
98}
99p
100{
101 color: #000000;
102 font-family: sans-serif;
103 font-size: 10;
104}
105body {
106 background-image: url("hilite.png");
107 background-repeat: no-repeat;
108 background-position: left top;
109 background-color: #dddddd;
110 color: #000000;
111 font-family: sans-serif;
112 padding: 8px;
113 margin: 0;
114}
115div.fragment
116{
117 background-image: url("hilite.png");
118 background-repeat: no-repeat;
119 background-position: left top;
120 border: thin solid #888888;
121 background-color: #eeeeee;
122 padding: 4px;
123 text-align: left;
124 vertical-align: center;
125 font-size: 12;
126}
127hr
128{
129 border: 0;
130 background-color: #000000;
131 width: 80%;
132 height: 1;
133}
134dl
135{
136 background-image: url("hilite.png");
137 background-repeat: no-repeat;
138 background-position: left top;
139 border: thin solid #aaaaaa;
140 background-color: #eeeeee;
141 padding: 4px;
142 text-align: left;
143 vertical-align: center;
144 font-size: 12;
145}
146em
147{
148 color: #334466;
149 font-family: courier;
150 font-size: 10;
151 font-style: normal;
152}
153
154div.nav
155{
156 border: thin solid #000000;
157 background-color: #ffffff;
158 padding: 1px;
159 text-align: center;
160 vertical-align: center;
161 font-size: 12;
162}
163div.body
164{
165 border: thin solid #000000;
166 background-color: #ffffff;
167 padding: 4px;
168 text-align: left;
169 font-size: 10;
170}
171div.diag
172{
173 border: thin solid #888888;
174 background-color: #eeeeee;
175 padding: 4px;
176 text-align: center;
177 font-size: 8;
178}
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 @@
1
2 <div id="push"></div>
3 </div> <!-- #content -->
4 </div> <!-- .layout -->
5
6 </div> <!-- #container -->
7
8
9 <div id="footer">
10 <table><tr>
11 <td class="copyright">Copyright &copy;$year Enlightenment</td>
12 <td class="generated">Docs generated $datetime</td>
13 </tr></table>
14 </div>
15
16
17</body>
18</html>
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 @@
1<html>
2<head>
3 <title>$title</title>
4 <meta http-equiv="content-type" content="text/html;charset=UTF-8">
5 <meta name="author" content="Andres Blanc" >
6
7 <link rel="icon" href="img/favicon.png" type="image/x-icon">
8 <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
9 <link rel="icon" href="img/favicon.png" type="image/ico">
10 <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
11
12 <link rel="stylesheet" type="text/css" href="e.css">
13 <link rel="stylesheet" type="text/css" href="edoxy.css">
14</head>
15
16<body>
17
18<div id="container">
19
20<div id="header">
21<div class="layout">
22
23 <h1><span>Enlightenment</span></h1>
24 <h2><span>Beauty at your fingertips</span></h2>
25
26 <table cellspacing="0" cellpadding="0" width="100%"><tr>
27 <td id="header_logo">
28 <a href="http://www.enlightenment.org"></a>
29 </td>
30 <td id="header_menu">
31 <table cellspacing="0" cellpadding="0" align="right"><tr>
32 <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=home">Home</a></td>
33 <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=news">News</a></td>
34 <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=about">About</a></td>
35 <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=download">Download</a></td>
36 <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=support">Support</a></td>
37 <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></td>
38 <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=contact">Contact</a></td>
39 <td class="nav_passive"><a class="nav_passive" href="http://trac.enlightenment.org/e">Tracker</a></td>
40 <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=docs">Docs</a></td>
41 </tr></table>
42 </td>
43 <td id="header_last"></td>
44 </tr></table>
45
46 <div class="doxytitle">
47 $projectname Documentation <small>at $date</small>
48 </div>
49
50 <div class="menu-container">
51 <div class="submenu">
52 <ul class="current">
53 <li><a href="files.html">Files</a></li>
54 <li><a href="globals.html">Globals</a></li>
55 <li><a href="modules.html">Modules</a></li>
56 <li><a href="pages.html">Related Pages</a></li>
57 <li class="current"><a href="index.html">Main Page</a></li>
58 </ul>
59 </div>
60 </div>
61
62
63 <div class="clear"></div>
64</div>
65</div>
66
67<div id="content">
68<div class="layout">
diff --git a/legacy/emotion/doc/img/e.png b/legacy/emotion/doc/img/e.png
deleted file mode 100644
index d42aeb4200..0000000000
--- a/legacy/emotion/doc/img/e.png
+++ /dev/null
Binary files differ
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 @@
1/*
2 * This file contain a custom doxygen style to match e.org graphics
3 */
4
5
6
7/* BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
8 font-family: Geneva, Arial, Helvetica, sans-serif;
9}*/
10BODY, TD {
11 font-size: 12px;
12}
13H1 {
14 text-align: center;
15 font-size: 160%;
16}
17H2 {
18 font-size: 120%;
19}
20H3 {
21 font-size: 100%;
22}
23CAPTION {
24 font-weight: bold
25}
26DIV.qindex {
27 width: 100%;
28 background-color: #e8eef2;
29 border: 1px solid #84b0c7;
30 text-align: center;
31 margin: 2px;
32 padding: 2px;
33 line-height: 140%;
34}
35DIV.navpath {
36 width: 100%;
37 background-color: #e8eef2;
38 border: 1px solid #84b0c7;
39 text-align: center;
40 margin: 2px;
41 padding: 2px;
42 line-height: 140%;
43}
44DIV.navtab {
45 background-color: #e8eef2;
46 border: 1px solid #84b0c7;
47 text-align: center;
48 margin: 2px;
49 margin-right: 15px;
50 padding: 2px;
51}
52TD.navtab {
53 font-size: 70%;
54}
55A.qindex {
56 text-decoration: none;
57 font-weight: bold;
58 color: #1A419D;
59}
60A.qindex:visited {
61 text-decoration: none;
62 font-weight: bold;
63 color: #1A419D
64}
65A.qindex:hover {
66 text-decoration: none;
67 background-color: #ddddff;
68}
69A.qindexHL {
70 text-decoration: none;
71 font-weight: bold;
72 background-color: #6666cc;
73 color: #ffffff;
74 border: 1px double #9295C2;
75}
76A.qindexHL:hover {
77 text-decoration: none;
78 background-color: #6666cc;
79 color: #ffffff;
80}
81A.qindexHL:visited {
82 text-decoration: none;
83 background-color: #6666cc;
84 color: #ffffff
85}
86A.el {
87 text-decoration: none;
88 font-weight: bold
89}
90A.elRef {
91 font-weight: bold
92}
93A.code:link {
94 text-decoration: none;
95 font-weight: normal;
96 color: #0000FF
97}
98A.code:visited {
99 text-decoration: none;
100 font-weight: normal;
101 color: #0000FF
102}
103A.codeRef:link {
104 font-weight: normal;
105 color: #0000FF
106}
107A.codeRef:visited {
108 font-weight: normal;
109 color: #0000FF
110}
111A:hover, A:visited:hover {
112 text-decoration: none;
113 /* background-color: #f2f2ff; */
114 color: #000055;
115}
116A.anchor {
117 color: #000;
118}
119DL.el {
120 margin-left: -1cm
121}
122.fragment {
123 font-family: monospace, fixed;
124 font-size: 95%;
125}
126PRE.fragment {
127 border: 1px solid #CCCCCC;
128 background-color: #f5f5f5;
129 margin-top: 4px;
130 margin-bottom: 4px;
131 margin-left: 2px;
132 margin-right: 8px;
133 padding-left: 6px;
134 padding-right: 6px;
135 padding-top: 4px;
136 padding-bottom: 4px;
137}
138DIV.ah {
139 background-color: black;
140 font-weight: bold;
141 color: #ffffff;
142 margin-bottom: 3px;
143 margin-top: 3px
144}
145
146DIV.groupHeader {
147 margin-left: 16px;
148 margin-top: 12px;
149 margin-bottom: 6px;
150 font-weight: bold;
151}
152DIV.groupText {
153 margin-left: 16px;
154 font-style: italic;
155 font-size: 90%
156}
157/*BODY {
158 background: white;
159 color: black;
160 margin-right: 20px;
161 margin-left: 20px;
162}*/
163TD.indexkey {
164 background-color: #e8eef2;
165 font-weight: bold;
166 padding-right : 10px;
167 padding-top : 2px;
168 padding-left : 10px;
169 padding-bottom : 2px;
170 margin-left : 0px;
171 margin-right : 0px;
172 margin-top : 2px;
173 margin-bottom : 2px;
174 border: 1px solid #CCCCCC;
175}
176TD.indexvalue {
177 background-color: #e8eef2;
178 font-style: italic;
179 padding-right : 10px;
180 padding-top : 2px;
181 padding-left : 10px;
182 padding-bottom : 2px;
183 margin-left : 0px;
184 margin-right : 0px;
185 margin-top : 2px;
186 margin-bottom : 2px;
187 border: 1px solid #CCCCCC;
188}
189TR.memlist {
190 background-color: #f0f0f0;
191}
192P.formulaDsp {
193 text-align: center;
194}
195IMG.formulaDsp {
196}
197IMG.formulaInl {
198 vertical-align: middle;
199}
200SPAN.keyword { color: #008000 }
201SPAN.keywordtype { color: #604020 }
202SPAN.keywordflow { color: #e08000 }
203SPAN.comment { color: #800000 }
204SPAN.preprocessor { color: #806020 }
205SPAN.stringliteral { color: #002080 }
206SPAN.charliteral { color: #008080 }
207SPAN.vhdldigit { color: #ff00ff }
208SPAN.vhdlchar { color: #000000 }
209SPAN.vhdlkeyword { color: #700070 }
210SPAN.vhdllogic { color: #ff0000 }
211
212.mdescLeft {
213 padding: 0px 8px 4px 8px;
214 font-size: 80%;
215 font-style: italic;
216 background-color: #FAFAFA;
217 border-top: 1px none #E0E0E0;
218 border-right: 1px none #E0E0E0;
219 border-bottom: 1px none #E0E0E0;
220 border-left: 1px none #E0E0E0;
221 margin: 0px;
222}
223.mdescRight {
224 padding: 0px 8px 4px 8px;
225 font-size: 80%;
226 font-style: italic;
227 background-color: #FAFAFA;
228 border-top: 1px none #E0E0E0;
229 border-right: 1px none #E0E0E0;
230 border-bottom: 1px none #E0E0E0;
231 border-left: 1px none #E0E0E0;
232 margin: 0px;
233}
234.memItemLeft {
235 padding: 1px 0px 0px 8px;
236 margin: 4px;
237 border-top-width: 1px;
238 border-right-width: 1px;
239 border-bottom-width: 1px;
240 border-left-width: 1px;
241 border-top-color: #E0E0E0;
242 border-right-color: #E0E0E0;
243 border-bottom-color: #E0E0E0;
244 border-left-color: #E0E0E0;
245 border-top-style: solid;
246 border-right-style: none;
247 border-bottom-style: none;
248 border-left-style: none;
249 background-color: #FAFAFA;
250 font-size: 80%;
251}
252.memItemRight {
253 padding: 1px 8px 0px 8px;
254 margin: 4px;
255 border-top-width: 1px;
256 border-right-width: 1px;
257 border-bottom-width: 1px;
258 border-left-width: 1px;
259 border-top-color: #E0E0E0;
260 border-right-color: #E0E0E0;
261 border-bottom-color: #E0E0E0;
262 border-left-color: #E0E0E0;
263 border-top-style: solid;
264 border-right-style: none;
265 border-bottom-style: none;
266 border-left-style: none;
267 background-color: #FAFAFA;
268 font-size: 80%;
269}
270.memTemplItemLeft {
271 padding: 1px 0px 0px 8px;
272 margin: 4px;
273 border-top-width: 1px;
274 border-right-width: 1px;
275 border-bottom-width: 1px;
276 border-left-width: 1px;
277 border-top-color: #E0E0E0;
278 border-right-color: #E0E0E0;
279 border-bottom-color: #E0E0E0;
280 border-left-color: #E0E0E0;
281 border-top-style: none;
282 border-right-style: none;
283 border-bottom-style: none;
284 border-left-style: none;
285 background-color: #FAFAFA;
286 font-size: 80%;
287}
288.memTemplItemRight {
289 padding: 1px 8px 0px 8px;
290 margin: 4px;
291 border-top-width: 1px;
292 border-right-width: 1px;
293 border-bottom-width: 1px;
294 border-left-width: 1px;
295 border-top-color: #E0E0E0;
296 border-right-color: #E0E0E0;
297 border-bottom-color: #E0E0E0;
298 border-left-color: #E0E0E0;
299 border-top-style: none;
300 border-right-style: none;
301 border-bottom-style: none;
302 border-left-style: none;
303 background-color: #FAFAFA;
304 font-size: 80%;
305}
306.memTemplParams {
307 padding: 1px 0px 0px 8px;
308 margin: 4px;
309 border-top-width: 1px;
310 border-right-width: 1px;
311 border-bottom-width: 1px;
312 border-left-width: 1px;
313 border-top-color: #E0E0E0;
314 border-right-color: #E0E0E0;
315 border-bottom-color: #E0E0E0;
316 border-left-color: #E0E0E0;
317 border-top-style: solid;
318 border-right-style: none;
319 border-bottom-style: none;
320 border-left-style: none;
321 color: #606060;
322 background-color: #FAFAFA;
323 font-size: 80%;
324}
325.search {
326 color: #003399;
327 font-weight: bold;
328}
329FORM.search {
330 margin-bottom: 0px;
331 margin-top: 0px;
332}
333INPUT.search {
334 font-size: 75%;
335 color: #000080;
336 font-weight: normal;
337 background-color: #e8eef2;
338}
339TD.tiny {
340 font-size: 75%;
341}
342a {
343 color: #1A41A8;
344}
345a:visited {
346 color: #2A3798;
347}
348.dirtab {
349 padding: 4px;
350 border-collapse: collapse;
351 border: 1px solid #84b0c7;
352}
353TH.dirtab {
354 background: #e8eef2;
355 font-weight: bold;
356}
357HR {
358 height: 1px;
359 border: none;
360 border-top: 1px solid black;
361}
362
363/* Style for detailed member documentation */
364.memtemplate {
365 font-size: 80%;
366 color: #606060;
367 font-weight: normal;
368 margin-left: 3px;
369}
370.memnav {
371 background-color: #eeeeee;
372 border: 1px solid #dddddd;
373 text-align: center;
374 margin: 2px;
375 margin-right: 15px;
376 padding: 2px;
377}
378.memitem {
379 padding: 4px;
380 background-color: #eeeeee;
381 border-width: 1px;
382 border-style: solid;
383 border-color: #dddddd;
384 -moz-border-radius: 4px 4px 4px 4px;
385}
386.memname {
387 white-space: nowrap;
388 font-weight: bold;
389 color: #ffffff;
390}
391.memdoc{
392 padding-left: 10px;
393}
394.memproto {
395 background-color: #111111;
396 width: 100%;
397 border-width: 1px;
398 border-style: solid;
399 border-color: #000000;
400 font-weight: bold;
401 -moz-border-radius: 4px 4px 4px 4px;
402}
403.paramkey {
404 text-align: right;
405 color: #ffffff;
406}
407.paramtype {
408 white-space: nowrap;
409 color: #aaaaaa;
410}
411.paramname {
412 color: #ff0000;
413 font-style: italic;
414 white-space: nowrap;
415}
416/* End Styling for detailed member documentation */
417
418/* for the tree view */
419.ftvtree {
420 font-family: sans-serif;
421 margin:0.5em;
422}
423/* these are for tree view when used as main index */
424.directory {
425 font-size: 9pt;
426 font-weight: bold;
427}
428.directory h3 {
429 margin: 0px;
430 margin-top: 1em;
431 font-size: 11pt;
432}
433
434/* The following two styles can be used to replace the root node title */
435/* with an image of your choice. Simply uncomment the next two styles, */
436/* specify the name of your image and be sure to set 'height' to the */
437/* proper pixel height of your image. */
438
439/* .directory h3.swap { */
440/* height: 61px; */
441/* background-repeat: no-repeat; */
442/* background-image: url("yourimage.gif"); */
443/* } */
444/* .directory h3.swap span { */
445/* display: none; */
446/* } */
447
448.directory > h3 {
449 margin-top: 0;
450}
451.directory p {
452 margin: 0px;
453 white-space: nowrap;
454}
455.directory div {
456 display: none;
457 margin: 0px;
458}
459.directory img {
460 vertical-align: -30%;
461}
462/* these are for tree view when not used as main index */
463.directory-alt {
464 font-size: 100%;
465 font-weight: bold;
466}
467.directory-alt h3 {
468 margin: 0px;
469 margin-top: 1em;
470 font-size: 11pt;
471}
472.directory-alt > h3 {
473 margin-top: 0;
474}
475.directory-alt p {
476 margin: 0px;
477 white-space: nowrap;
478}
479.directory-alt div {
480 display: none;
481 margin: 0px;
482}
483.directory-alt img {
484 vertical-align: -30%;
485}
486
diff --git a/legacy/emotion/doc/img/foot_bg.png b/legacy/emotion/doc/img/foot_bg.png
deleted file mode 100644
index b24f3a48b4..0000000000
--- a/legacy/emotion/doc/img/foot_bg.png
+++ /dev/null
Binary files differ
diff --git a/legacy/emotion/doc/img/head_bg.png b/legacy/emotion/doc/img/head_bg.png
deleted file mode 100644
index 081dc131e4..0000000000
--- a/legacy/emotion/doc/img/head_bg.png
+++ /dev/null
Binary files differ
diff --git a/legacy/emotion/doc/img/header_menu_background.png b/legacy/emotion/doc/img/header_menu_background.png
deleted file mode 100644
index e978743651..0000000000
--- a/legacy/emotion/doc/img/header_menu_background.png
+++ /dev/null
Binary files differ
diff --git a/legacy/emotion/doc/img/header_menu_background_last.png b/legacy/emotion/doc/img/header_menu_background_last.png
deleted file mode 100644
index 88c116c8c8..0000000000
--- a/legacy/emotion/doc/img/header_menu_background_last.png
+++ /dev/null
Binary files differ
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 de97c9268e..0000000000
--- a/legacy/emotion/doc/img/header_menu_current_background.png
+++ /dev/null
Binary files differ
diff --git a/legacy/emotion/doc/img/header_menu_unselected_background.png b/legacy/emotion/doc/img/header_menu_unselected_background.png
deleted file mode 100644
index 50e5fd8d3d..0000000000
--- a/legacy/emotion/doc/img/header_menu_unselected_background.png
+++ /dev/null
Binary files differ
diff --git a/legacy/emotion/doc/img/logo.png b/legacy/emotion/doc/img/logo.png
deleted file mode 100644
index b3884a5cbc..0000000000
--- a/legacy/emotion/doc/img/logo.png
+++ /dev/null
Binary files differ
diff --git a/legacy/emotion/emotion.spec.in b/legacy/emotion/emotion.spec.in
deleted file mode 100644
index 56494564fe..0000000000
--- a/legacy/emotion/emotion.spec.in
+++ /dev/null
@@ -1,88 +0,0 @@
1%{!?_rel:%{expand:%%global _rel 0.enl%{?dist}}}
2%define _missing_doc_files_terminate_build 0
3
4Summary: emotion
5Name: @PACKAGE@
6Version: @VERSION@
7Release: %{_rel}
8License: BSD
9Group: System Environment/Libraries
10URL: http://www.enlightenment.org/
11Source: ftp://ftp.enlightenment.org/pub/emotion/%{name}-%{version}.tar.gz
12Packager: %{?_packager:%{_packager}}%{!?_packager:Michael Jennings <mej@eterm.org>}
13Vendor: %{?_vendorinfo:%{_vendorinfo}}%{!?_vendorinfo:The Enlightenment Project (http://www.enlightenment.org/)}
14Distribution: %{?_distribution:%{_distribution}}%{!?_distribution:%{_vendor}}
15#BuildSuggests: xorg-x11-devel XFree86-devel libX11-devel libxine1-devel xine-lib-devel
16#BuildSuggests: gstreamer-devel gstreamer-plugins-devel gstreamer-plugins-base-devel gstreamer-ffmpeg
17BuildRequires: eina-devel, evas-devel, ecore-devel, edje-devel, edje-bin
18BuildRequires: /usr/bin/xine-config gstreamer-plugins-base-devel
19BuildRoot: %{_tmppath}/%{name}-%{version}-root
20
21%description
22Emotion is a Media Library
23
24
25%package devel
26Summary: Emotion headers, static libraries, documentation and test programs
27Group: System Environment/Libraries
28Requires: %{name} = %{version}
29Requires: efl-devel edje-devel
30
31%description devel
32Headers, static libraries, test programs and documentation for Emotion
33
34
35%prep
36%setup -q
37
38
39%build
40%{configure} --prefix=%{_prefix} --enable-static --enable-shared
41%{__make} %{?_smp_mflags} %{?mflags}
42
43
44%install
45%{__make} %{?mflags_install} DESTDIR=$RPM_BUILD_ROOT install
46test -x `which doxygen` && sh gendoc || :
47
48# Remove useless static modules
49%{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/*a
50
51
52%post
53/sbin/ldconfig || :
54
55
56%postun
57/sbin/ldconfig || :
58
59
60%clean
61test "x$RPM_BUILD_ROOT" != "x/" && rm -rf $RPM_BUILD_ROOT
62
63
64%files
65%defattr(-, root, root)
66%doc AUTHORS COPYING* README
67%dir %{_libdir}/%{name}
68%{_bindir}/%{name}_*
69%{_libdir}/libemotion.so.*
70%{_libdir}/%{name}/*.so
71#%{_libdir}/xine/plugins/*/xineplug_vo_out_emotion.so
72%{_datadir}/%{name}
73
74%files devel
75%defattr(-, root, root)
76%doc doc/html
77%{_includedir}/emotion-1/*.h
78%{_libdir}/libemotion.a
79%{_libdir}/libemotion.la
80%{_libdir}/libemotion.so
81%{_libdir}/edje/modules/emotion/*/module.la
82%{_libdir}/edje/modules/emotion/*/module.so
83#%{_libdir}/xine/plugins/*/xineplug_vo_out_emotion.a
84#%{_libdir}/xine/plugins/*/xineplug_vo_out_emotion.la
85%{_libdir}/pkgconfig/%{name}.pc
86
87
88%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 @@
1dnl Copyright (C) 2004-2008 Kim Woelders
2dnl Copyright (C) 2008 Vincent Torri <vtorri at univ-evry dot fr>
3dnl That code is public domain and can be freely used or copied.
4dnl Originally snatched from somewhere...
5
6dnl Macro for checking if the compiler supports __attribute__
7
8dnl Usage: AC_C___ATTRIBUTE__
9dnl call AC_DEFINE for HAVE___ATTRIBUTE__ and __UNUSED__
10dnl if the compiler supports __attribute__, HAVE___ATTRIBUTE__ is
11dnl defined to 1 and __UNUSED__ is defined to __attribute__((unused))
12dnl otherwise, HAVE___ATTRIBUTE__ is not defined and __UNUSED__ is
13dnl defined to nothing.
14
15AC_DEFUN([AC_C___ATTRIBUTE__],
16[
17
18AC_MSG_CHECKING([for __attribute__])
19
20AC_CACHE_VAL([ac_cv___attribute__],
21 [AC_TRY_COMPILE(
22 [
23#include <stdlib.h>
24
25int func(int x);
26int foo(int x __attribute__ ((unused)))
27{
28 exit(1);
29}
30 ],
31 [],
32 [ac_cv___attribute__="yes"],
33 [ac_cv___attribute__="no"]
34 )]
35)
36
37AC_MSG_RESULT($ac_cv___attribute__)
38
39if test "x${ac_cv___attribute__}" = "xyes" ; then
40 AC_DEFINE([HAVE___ATTRIBUTE__], [1], [Define to 1 if your compiler has __attribute__])
41 AC_DEFINE([__UNUSED__], [__attribute__((unused))], [Macro declaring a function argument to be unused])
42 else
43 AC_DEFINE([__UNUSED__], [], [Macro declaring a function argument to be unused])
44fi
45
46])
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 @@
1dnl Copyright (C) 2010 Vincent Torri <vtorri at univ-evry dot fr>
2dnl That code is public domain and can be freely used or copied.
3
4dnl Macro that check if a binary is built or not
5
6dnl Usage: EFL_ENABLE_BIN(binary[, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
7dnl Call AC_SUBST(BINARY_PRG) (BINARY is the uppercase of binary, - being transformed into _)
8dnl Define have_binary (- is transformed into _)
9dnl Define conditional BUILD_BINARY (BINARY is the uppercase of binary, - being transformed into _)
10
11AC_DEFUN([EFL_ENABLE_BIN],
12[
13
14m4_pushdef([UP], m4_translit([[$1]], [-a-z], [_A-Z]))dnl
15m4_pushdef([DOWN], m4_translit([[$1]], [-A-Z], [_a-z]))dnl
16
17have_[]m4_defn([DOWN])="yes"
18
19dnl configure option
20
21AC_ARG_ENABLE([$1],
22 [AC_HELP_STRING([--disable-$1], [disable building of ]DOWN)],
23 [
24 if test "x${enableval}" = "xyes" ; then
25 have_[]m4_defn([DOWN])="yes"
26 else
27 have_[]m4_defn([DOWN])="no"
28 fi
29 ])
30
31AC_MSG_CHECKING([whether to build ]DOWN[ binary])
32AC_MSG_RESULT([$have_[]m4_defn([DOWN])])
33
34if test "x$have_[]m4_defn([DOWN])" = "xyes"; then
35 UP[]_PRG=DOWN[${EXEEXT}]
36fi
37
38AC_SUBST(UP[]_PRG)
39
40AM_CONDITIONAL(BUILD_[]UP, test "x$have_[]m4_defn([DOWN])" = "xyes")
41
42AS_IF([test "x$have_[]m4_defn([DOWN])" = "xyes"], [$2], [$3])
43
44])
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 @@
1dnl Copyright (C) 2008 Vincent Torri <vtorri at univ-evry dot fr>
2dnl That code is public domain and can be freely used or copied.
3
4dnl Macro that check if doxygen is available or not.
5
6dnl EFL_CHECK_DOXYGEN([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
7dnl Test for the doxygen program
8dnl Defines efl_doxygen
9dnl Defines the automake conditionnal EFL_BUILD_DOC
10dnl
11AC_DEFUN([EFL_CHECK_DOXYGEN],
12[
13
14dnl
15dnl Disable the build of the documentation
16dnl
17AC_ARG_ENABLE([doc],
18 [AC_HELP_STRING(
19 [--disable-doc],
20 [Disable documentation build @<:@default=enabled@:>@])],
21 [
22 if test "x${enableval}" = "xyes" ; then
23 efl_enable_doc="yes"
24 else
25 efl_enable_doc="no"
26 fi
27 ],
28 [efl_enable_doc="yes"])
29
30AC_MSG_CHECKING([whether to build documentation])
31AC_MSG_RESULT([${efl_enable_doc}])
32
33if test "x${efl_enable_doc}" = "xyes" ; then
34
35dnl Specify the file name, without path
36
37 efl_doxygen="doxygen"
38
39 AC_ARG_WITH([doxygen],
40 [AC_HELP_STRING(
41 [--with-doxygen=FILE],
42 [doxygen program to use @<:@default=doxygen@:>@])],
43
44dnl Check the given doxygen program.
45
46 [efl_doxygen=${withval}
47 AC_CHECK_PROG([efl_have_doxygen],
48 [${efl_doxygen}],
49 [yes],
50 [no])
51 if test "x${efl_have_doxygen}" = "xno" ; then
52 echo "WARNING:"
53 echo "The doxygen program you specified:"
54 echo "${efl_doxygen}"
55 echo "was not found. Please check the path and make sure "
56 echo "the program exists and is executable."
57 AC_MSG_WARN([no doxygen detected. Documentation will not be built])
58 fi
59 ],
60 [AC_CHECK_PROG([efl_have_doxygen],
61 [${efl_doxygen}],
62 [yes],
63 [no])
64 if test "x${efl_have_doxygen}" = "xno" ; then
65 echo "WARNING:"
66 echo "The doxygen program was not found in your execute path."
67 echo "You may have doxygen installed somewhere not covered by your path."
68 echo ""
69 echo "If this is the case make sure you have the packages installed, AND"
70 echo "that the doxygen program is in your execute path (see your"
71 echo "shell manual page on setting the \$PATH environment variable), OR"
72 echo "alternatively, specify the program to use with --with-doxygen."
73 AC_MSG_WARN([no doxygen detected. Documentation will not be built])
74 fi
75 ])
76else
77 efl_have_doxygen="no"
78fi
79
80dnl
81dnl Substitution
82dnl
83AC_SUBST([efl_doxygen])
84
85if ! test "x${efl_have_doxygen}" = "xyes" ; then
86 efl_enable_doc="no"
87fi
88
89AM_CONDITIONAL(EFL_BUILD_DOC, test "x${efl_have_doxygen}" = "xyes")
90
91AS_IF([test "x$efl_have_doxygen" = "xyes"], [$1], [$2])
92])
93
94dnl 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 @@
1dnl Copyright (C) 2010-2011 Vincent Torri <vtorri at univ-evry dot fr>
2dnl That code is public domain and can be freely used or copied.
3
4dnl Macro that check if edje external should be enabled or not
5
6dnl Usage: EFL_EDJE_EXTERNAL([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
7dnl Call AC_SUBST(EDJE_EXTERNAL_CFLAGS)
8dnl Call AC_SUBST(EDJE_EXTERNAL_LIBS)
9dnl Define conditional ENABLE_EDJE_EXTERNAL
10
11AC_DEFUN([EFL_EDJE_EXTERNAL],
12[
13
14AC_ARG_ENABLE([edje-external],
15 [AC_HELP_STRING([--disable-edje-external],
16 [disable providing Edje EXTERNAL support. @<:@default=enabled@:>@])],
17 [
18 if test "x${enableval}" = "xyes" ; then
19 _efl_want_edje_external="yes"
20 else
21 _efl_want_edje_external="no"
22 fi
23 ],
24 [_efl_want_edje_external="auto"])
25
26AC_MSG_CHECKING([if should provide Edje EXTERNAL support...])
27AC_MSG_RESULT([${_efl_want_edje_external}])
28
29_efl_enable_edje_external="no"
30if ! test "x${_efl_want_edje_external}" = "xno" ; then
31 PKG_CHECK_MODULES([EDJE_EXTERNAL],
32 [edje >= 1.0.0],
33 [_efl_enable_edje_external="yes"],
34 [_efl_enable_edje_external="no"])
35fi
36
37AC_SUBST(EDJE_EXTERNAL_CFLAGS)
38AC_SUBST(EDJE_EXTERNAL_LIBS)
39
40if test "x${_efl_want_edje_external}" = "xyes" && test "x${_efl_enable_edje_external}" = "xno" ; then
41 AC_MSG_ERROR([Edje EXTERNAL support requested, but Edje not found by pkg-config.])
42fi
43
44if test "x${_efl_enable_edje_external}" = "xyes" ; then
45 EDJE_VERSION=`${PKG_CONFIG} edje --modversion | awk -F . '{printf("%s.%s.%s", $[]1, $[]2, $[]3);}'`
46 MODULE_EDJE="$host_os-$host_cpu-${EDJE_VERSION}"
47 AC_DEFINE_UNQUOTED(MODULE_EDJE, "$MODULE_EDJE", "Edje module architecture")
48fi
49
50AC_SUBST(MODULE_EDJE)
51
52AM_CONDITIONAL([ENABLE_EDJE_EXTERNAL], [test "x${_efl_enable_edje_external}" = "xyes"])
53
54AS_IF([test "x${_efl_enable_edje_external}" = "xyes"], [$1], [$2])
55
56])
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 @@
1dnl Copyright (C) 2008 Vincent Torri <vtorri at univ-evry dot fr>
2dnl That code is public domain and can be freely used or copied.
3
4dnl Macro that check if building examples is wanted.
5
6dnl Usage: EFL_CHECK_BUILD_EXAMPLES([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
7dnl Defines the automake conditionnal EFL_ENABLE_BUILD_EXAMPLES
8
9AC_DEFUN([EFL_CHECK_BUILD_EXAMPLES],
10[
11
12dnl configure option
13
14AC_ARG_ENABLE([build-examples],
15 [AC_HELP_STRING([--enable-build-examples], [enable building examples @<:@default=disabled@:>@])],
16 [
17 if test "x${enableval}" = "xyes" ; then
18 _efl_enable_build_examples="yes"
19 else
20 _efl_enable_build_examples="no"
21 fi
22 ],
23 [_efl_enable_build_examples="no"])
24
25AC_MSG_CHECKING([whether examples are built])
26AC_MSG_RESULT([${_efl_enable_build_examples}])
27
28AM_CONDITIONAL(EFL_BUILD_EXAMPLES, test "x${_efl_enable_build_examples}" = "xyes")
29
30AS_IF([test "x$_efl_enable_build_examples" = "xyes"], [$1], [$2])
31])
32
33
34dnl Macro that check if installing examples is wanted.
35
36dnl Usage: EFL_CHECK_INSTALL_EXAMPLES([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
37dnl Defines the automake conditionnal EFL_ENABLE_INSTALL_EXAMPLES
38
39AC_DEFUN([EFL_CHECK_INSTALL_EXAMPLES],
40[
41
42dnl configure option
43
44AC_ARG_ENABLE([install-examples],
45 [AC_HELP_STRING([--enable-install-examples], [enable installing example source files @<:@default=disabled@:>@])],
46 [
47 if test "x${enableval}" = "xyes" ; then
48 _efl_enable_install_examples="yes"
49 else
50 _efl_enable_install_examples="no"
51 fi
52 ],
53 [_efl_enable_install_examples="no"])
54
55AC_MSG_CHECKING([whether examples are installed])
56AC_MSG_RESULT([${_efl_enable_install_examples}])
57
58AM_CONDITIONAL(EFL_INSTALL_EXAMPLES, test "x${_efl_enable_install_examples}" = "xyes")
59
60AS_IF([test "x$_efl_enable_install_examples" = "xyes"], [$1], [$2])
61])
62
63dnl 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 @@
1dnl Copyright (C) 2010 Vincent Torri <vtorri at univ-evry dot fr>
2dnl That code is public domain and can be freely used or copied.
3
4dnl Macro that check if shm_open function is available or not.
5
6dnl Usage: EFL_CHECK_SHM_OPEN([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
7dnl Call AC_SUBST(EFL_SHM_OPEN_LIBS)
8dnl Define HAVE_SHM_OPEN to 1if shm_open is available
9
10AC_DEFUN([EFL_CHECK_SHM_OPEN],
11[
12_efl_have_shm_open="no"
13
14dnl Check is shm_open is in libc
15
16AC_MSG_CHECKING([for shm_open in libc])
17AC_LINK_IFELSE(
18 [AC_LANG_PROGRAM(
19 [[
20#include <sys/mman.h>
21#include <sys/stat.h> /* For mode constants */
22#include <fcntl.h> /* For O_* constants */
23 ]],
24 [[
25int fd;
26
27fd = shm_open("/dev/null", O_RDONLY, S_IRWXU | S_IRWXG | S_IRWXO);
28 ]])],
29 [_efl_have_shm_open="yes"],
30 [_efl_have_shm_open="no"])
31
32AC_MSG_RESULT([${_efl_have_shm_open}])
33
34if test "x$_efl_have_shm_open" = "xno" ; then
35 AC_MSG_CHECKING([for shm_open in librt])
36
37 LIBS_save="${LIBS}"
38 LIBS="${LIBS} -lrt"
39 AC_LINK_IFELSE(
40 [AC_LANG_PROGRAM(
41 [[
42#include <sys/mman.h>
43#include <sys/stat.h> /* For mode constants */
44#include <fcntl.h> /* For O_* constants */
45 ]],
46 [[
47int fd;
48
49fd = shm_open("/dev/null", O_RDONLY, S_IRWXU | S_IRWXG | S_IRWXO);
50 ]])],
51 [
52 EFL_SHM_OPEN_LIBS="-lrt"
53 _efl_have_shm_open="yes"],
54 [_efl_have_shm_open="no"])
55
56 LIBS="${LIBS_save}"
57
58 AC_MSG_RESULT([${_efl_have_shm_open}])
59fi
60
61AC_SUBST([EFL_SHM_OPEN_LIBS])
62
63if test "x$_efl_have_shm_open" = "xyes" ; then
64 AC_DEFINE([HAVE_SHM_OPEN], [1], [Define to 1 if you have the `shm_open' function.])
65fi
66
67AS_IF([test "x$_efl_have_shm_open" = "xyes"], [$1], [$2])
68
69])
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 @@
1
2dnl use: EMOTION_CHECK_DEP_XINE(want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
3
4AC_DEFUN([EMOTION_CHECK_DEP_XINE],
5[
6
7requirement=""
8
9PKG_CHECK_MODULES([XINE],
10 [libxine >= 1.1.1 evas >= 1.0.0],
11 [
12 have_dep="yes"
13 requirement="libxine"
14 ],
15 [have_dep="no"])
16
17if test "x$1" = "xstatic" ; then
18 requirement_emotion="${requirement} ${requirement_emotion}"
19fi
20
21AS_IF([test "x$have_dep" = "xyes"], [$2], [$3])
22
23])
24
25dnl use: EMOTION_CHECK_DEP_GSTREAMER(want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
26
27AC_DEFUN([EMOTION_CHECK_DEP_GSTREAMER],
28[
29
30GST_REQS=0.10.2
31GSTPLUG_REQS=0.10.1
32GST_MAJORMINOR=0.10
33
34requirement=""
35PKG_CHECK_MODULES([GSTREAMER],
36 [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],
37 [
38 have_dep="yes"
39 requirement="gstreamer-$GST_MAJORMINOR gstreamer-plugins-base-$GST_MAJORMINOR"
40 ],
41 [have_dep="no"])
42
43if test "x$1" = "xstatic" ; then
44 requirement_emotion="${requirement} ${requirement_emotion}"
45fi
46
47AS_IF([test "x$have_dep" = "xyes"], [$2], [$3])
48
49])
50
51dnl use: EMOTION_CHECK_DEP_GENERIC_VLC(want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
52
53AC_DEFUN([EMOTION_CHECK_DEP_GENERIC_VLC],
54[
55
56requirement=""
57
58PKG_CHECK_MODULES([GENERIC_VLC],
59 [libvlc >= 0.9 eina >= 1.1.99],
60 [
61 have_dep="yes"
62 requirement="libvlc"
63 ],
64 [have_dep="no"])
65
66if test "x$1" = "xstatic" ; then
67 requirement_emotion="${requirement} ${requirement_emotion}"
68fi
69
70AS_IF([test "x$have_dep" = "xyes"], [$2], [$3])
71
72])
73
74dnl use: EMOTION_CHECK_DEP_GENERIC(want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
75
76AC_DEFUN([EMOTION_CHECK_DEP_GENERIC],
77[
78
79requirement=""
80
81PKG_CHECK_MODULES([GENERIC],
82 [evas >= 1.0.0],
83 [
84 have_dep="yes"
85 ],
86 [have_dep="no"])
87
88if test "x$1" = "xstatic" ; then
89 requirement_emotion="${requirement} ${requirement_emotion}"
90fi
91
92AS_IF([test "x$have_dep" = "xyes"], [$2], [$3])
93
94])
95
96dnl use: EMOTION_CHECK_MODULE(description, want_module[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
97AC_DEFUN([EMOTION_CHECK_MODULE],
98[
99m4_pushdef([UP], m4_translit([$1], [-a-z], [_A-Z]))dnl
100m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl
101
102want_module="$2"
103
104AC_ARG_ENABLE([DOWN],
105 [AC_HELP_STRING([--enable-]DOWN, [enable build of $1 module @<:@default=yes@:>@])],
106 [
107 if test "x${enableval}" = "xyes" ; then
108 enable_module="yes"
109 else
110 if test "x${enableval}" = "xstatic" ; then
111 enable_module="static"
112 else
113 enable_module="no"
114 fi
115 fi
116 ],
117 [enable_module="yes"])
118
119if test "x${enable_module}" = "xyes" || test "x${enable_module}" = "xstatic" ; then
120 want_module="yes"
121fi
122
123have_module="no"
124if test "x${want_module}" = "xyes" && (test "x${enable_module}" = "xyes" || test "x${enable_module}" = "xstatic") ; then
125 m4_default([EMOTION_CHECK_DEP_]m4_defn([UP]))(${enable_module}, [have_module="yes"], [have_module="no"])
126fi
127
128AC_MSG_CHECKING([whether to enable $1 module built])
129AC_MSG_RESULT([${have_module}])
130
131static_module="no"
132if test "x${have_module}" = "xyes" && test "x${enable_module}" = "xstatic" ; then
133 static_module="yes"
134fi
135
136AM_CONDITIONAL(EMOTION_BUILD_[]UP, [test "x${have_module}" = "xyes"])
137AM_CONDITIONAL(EMOTION_STATIC_BUILD_[]UP, [test "x${static_module}" = "xyes"])
138
139if test "x${static_module}" = "xyes" ; then
140 AC_DEFINE(EMOTION_STATIC_BUILD_[]UP, 1, [Set to 1 if $1 is statically built])
141 have_static_module="yes"
142fi
143
144enable_[]DOWN="no"
145if test "x${have_module}" = "xyes" ; then
146 enable_[]DOWN=${enable_module}
147 AC_DEFINE(EMOTION_BUILD_[]UP, 1, [Set to 1 if $1 is built])
148fi
149
150AS_IF([test "x$have_module" = "xyes"], [$3], [$4])
151
152m4_popdef([UP])
153m4_popdef([DOWN])
154])
155
156dnl use: EMOTION_CHECK_GENERIC_PLAYER(description, want_module[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
157AC_DEFUN([EMOTION_CHECK_GENERIC_PLAYER],
158[
159m4_pushdef([UP], m4_translit([$1], [-a-z], [_A-Z]))dnl
160m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl
161
162want_module="$2"
163
164AC_ARG_ENABLE(generic-[]DOWN,
165 [AC_HELP_STRING([--enable-generic-]DOWN, [enable build of Generic Player $1 @<:@default=yes@:>@])],
166 [
167 if test "x${enableval}" = "xyes" ; then
168 enable_module="yes"
169 else
170 enable_module="no"
171 fi
172 ],
173 [enable_module="auto"])
174
175# shm_open
176EFL_CHECK_SHM_OPEN([have_shm_open="yes"], [have_shm_open="no"])
177
178if test "x${have_shm_open}" != "xyes"; then
179 enable_generic="no"
180fi
181
182if test "x${enable_generic}" != "xyes" && test "x${enable_generic}" != "xstatic"; then
183 if test "x${enable_module}" = "xyes"; then
184 AC_MSG_WARN([Generic module is disabled, force disable of Generic Player $1])
185 fi
186 enable_module="no"
187 want_module="no"
188fi
189
190if test "x${enable_module}" = "xauto"; then
191 enable_module="${want_module}"
192elif test "x${enable_module}" = "xyes"; then
193 want_module="yes"
194fi
195
196have_module="no"
197if test "x${want_module}" = "xyes" && test "x${enable_module}" = "xyes"; then
198 m4_default([EMOTION_CHECK_DEP_GENERIC_]m4_defn([UP]))(${enable_module}, [have_module="yes"], [have_module="no"])
199fi
200
201AC_MSG_CHECKING([Whether to enable Generic Player $1])
202AC_MSG_RESULT([${have_module}])
203
204AM_CONDITIONAL(EMOTION_BUILD_GENERIC_[]UP, [test "x${have_module}" = "xyes"])
205
206enable_generic_[]DOWN="no"
207if test "x${have_module}" = "xyes" ; then
208 enable_generic_[]DOWN=${enable_module}
209 AC_DEFINE(EMOTION_BUILD_GENERIC_[]UP, 1, [Set to 1 if $1 is built])
210fi
211
212AS_IF([test "x$have_module" = "xyes"], [$3], [$4])
213
214m4_popdef([UP])
215m4_popdef([DOWN])
216])
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 @@
1dnl Perform a check for a GStreamer element using gst-inspect
2dnl Thomas Vander Stichele <thomas at apestaart dot org>
3dnl Last modification: 25/01/2005
4
5dnl AM_GST_ELEMENT_CHECK(ELEMENT-NAME, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND)
6
7AC_DEFUN([AM_GST_ELEMENT_CHECK],
8[
9 if test "x$GST_INSPECT" = "x"; then
10 AC_CHECK_PROGS(GST_INSPECT, gst-inspect gst-inspect-0.10, [])
11 fi
12
13 if test "x$GST_INSPECT" != "x"; then
14 AC_MSG_CHECKING(GStreamer element $1)
15 if $GST_INSPECT $1 > /dev/null 2> /dev/null ; then
16 AC_MSG_RESULT(found.)
17 $2
18 else
19 AC_MSG_RESULT(not found.)
20 $3
21 fi
22 fi
23])
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 @@
1
2MAINTAINERCLEANFILES = Makefile.in
3
4SUBDIRS = lib bin modules examples
5
6if ENABLE_EDJE_EXTERNAL
7SUBDIRS += edje_external
8endif
9
10if EMOTION_BUILD_GENERIC
11SUBDIRS += generic_players
12endif
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 @@
1
2MAINTAINERCLEANFILES = Makefile.in
3
4AM_CPPFLAGS = \
5-I$(top_srcdir) \
6-I$(top_srcdir)/src/lib \
7-DPACKAGE_BIN_DIR=\"$(bindir)\" \
8-DPACKAGE_LIB_DIR=\"$(libdir)\" \
9-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
10@EMOTION_CFLAGS@ \
11@EMOTION_CPPFLAGS@ \
12@EMOTION_BIN_CFLAGS@ \
13@ECORE_X_CFLAGS@ \
14@ECORE_FB_CFLAGS@
15
16bin_PROGRAMS =
17
18if BUILD_EMOTION_TEST
19
20bin_PROGRAMS += emotion_test
21
22endif
23
24emotion_test_SOURCES = emotion_test_main.c
25
26emotion_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 @@
1MAINTAINERCLEANFILES = Makefile.in
2
3AM_CPPFLAGS = \
4-I$(top_srcdir) \
5-I$(top_srcdir)/src/lib \
6-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
7@EMOTION_CPPFLAGS@ \
8@EMOTION_CFLAGS@ \
9@EDJE_EXTERNAL_CFLAGS@ \
10@EFL_EMOTION_BUILD@
11
12pkgdir = $(libdir)/edje/modules/emotion/$(MODULE_EDJE)
13pkg_LTLIBRARIES = module.la
14
15module_la_SOURCES = emotion.c
16module_la_LIBADD = @EMOTION_LIBS@ $(top_builddir)/src/lib/libemotion.la @EDJE_EXTERNAL_LIBS@
17module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
18module_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 @@
1MAINTAINERCLEANFILES = Makefile.in
2
3examplesdir = $(datadir)/$(PACKAGE)/examples
4
5AM_CPPFLAGS = \
6-I. \
7-I$(top_srcdir) \
8-I$(top_srcdir)/src/lib \
9@EMOTION_CFLAGS@ \
10@EMOTION_CPPFLAGS@ \
11@EMOTION_BIN_CFLAGS@
12
13LDADD = \
14 $(top_builddir)/src/lib/libemotion.la \
15 @EMOTION_BIN_LIBS@
16
17SRCS = \
18 emotion_basic_example.c \
19 emotion_generic_example.c \
20 emotion_generic_subtitle_example.c \
21 emotion_border_example.c \
22 emotion_signals_example.c
23
24EXTRA_DIST = $(SRCS)
25
26examples_PROGRAMS =
27
28if EFL_INSTALL_EXAMPLES
29filesdir = $(datadir)/$(PACKAGE)/examples
30files_DATA = $(SRCS)
31endif
32
33if EFL_BUILD_EXAMPLES
34examples_PROGRAMS += \
35 emotion_basic_example \
36 emotion_generic_example \
37 emotion_generic_subtitle_example \
38 emotion_border_example \
39 emotion_signals_example
40endif
41
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 @@
1
2MAINTAINERCLEANFILES = Makefile.in
3
4SUBDIRS =
5
6if EMOTION_BUILD_GENERIC_VLC
7SUBDIRS += vlc
8endif
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 @@
1MAINTAINERCLEANFILES = Makefile.in
2
3AM_CPPFLAGS = \
4-I$(top_srcdir) \
5-I$(top_srcdir)/src/lib \
6-I$(top_srcdir)/src/modules \
7-I$(top_srcdir)/src/modules/generic \
8-DPACKAGE_BIN_DIR=\"$(bindir)\" \
9-DPACKAGE_LIB_DIR=\"$(libdir)\" \
10-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
11@GENERIC_VLC_CFLAGS@
12
13internal_bindir = $(libdir)/emotion/utils
14internal_bin_PROGRAMS = em_generic_vlc
15
16em_generic_vlc_SOURCES = emotion_generic_vlc.c
17em_generic_vlc_DEPENDENCIES = $(top_srcdir)/src/modules/generic/Emotion_Generic_Plugin.h
18em_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 @@
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif
4
5#include <errno.h>
6#include <limits.h>
7#include <stdio.h>
8#include <stdlib.h>
9#include <unistd.h>
10#include <string.h>
11#include <sys/mman.h>
12#include <sys/stat.h>
13#include <fcntl.h>
14#include <pthread.h>
15#include <poll.h>
16
17#include <sys/prctl.h>
18#include <signal.h>
19
20#include <vlc/vlc.h>
21
22#include <Emotion_Generic_Plugin.h>
23#include <Eina.h>
24
25static int _em_vlc_log_dom = -1;
26#define ERR(...) EINA_LOG_DOM_ERR(_em_vlc_log_dom, __VA_ARGS__)
27#define DBG(...) EINA_LOG_DOM_DBG(_em_vlc_log_dom, __VA_ARGS__)
28#define INF(...) EINA_LOG_DOM_INFO(_em_vlc_log_dom, __VA_ARGS__)
29#define WRN(...) EINA_LOG_DOM_WARN(_em_vlc_log_dom, __VA_ARGS__)
30#define CRIT(...) EINA_LOG_DOM_CRIT(_em_vlc_log_dom, __VA_ARGS__)
31
32enum _Thread_Events {
33 EM_THREAD_POSITION_CHANGED,
34 EM_THREAD_PLAYBACK_STARTED,
35 EM_THREAD_PLAYBACK_STOPPED,
36 EM_THREAD_LAST
37};
38
39struct _App {
40 Emotion_Generic_Video_Shared *vs;
41 Emotion_Generic_Video_Frame vf;
42 libvlc_instance_t *libvlc;
43 libvlc_media_t *m;
44 libvlc_media_player_t *mp;
45 libvlc_event_manager_t *event_mgr;
46 libvlc_event_manager_t *mevent_mgr;
47 char *filename;
48 char *subtitle_path;
49 char *shmname;
50 void *tmpbuffer;
51 int w, h;
52 int fd_read; // read commands from theads here
53 int fd_write; // write commands from threads here
54 int em_read; // read commands from emotion here
55 int em_write; // write commands to emotion here
56 int size_sent;
57 int opening;
58 int closing;
59 int playing;
60};
61
62static pthread_mutex_t _mutex_fd = PTHREAD_MUTEX_INITIALIZER;
63
64int
65_em_read_safe(int fd, void *buf, ssize_t size)
66{
67 ssize_t todo;
68 char *p;
69
70 todo = size;
71 p = buf;
72
73 while (todo > 0)
74 {
75 ssize_t r;
76
77 r = read(fd, p, todo);
78 if (r > 0)
79 {
80 todo -= r;
81 p += r;
82 }
83 else if (r == 0)
84 return 0;
85 else
86 {
87 if (errno == EINTR || errno == EAGAIN)
88 continue;
89 else
90 {
91 ERR("could not read from fd %d: %s", fd, strerror(errno));
92 return 0;
93 }
94 }
95 }
96
97 return 1;
98}
99
100int
101_em_write_safe(int fd, const void *buf, ssize_t size)
102{
103 ssize_t todo;
104 const char *p;
105
106 todo = size;
107 p = buf;
108
109 while (todo > 0)
110 {
111 ssize_t r;
112
113 r = write(fd, p, todo);
114 if (r > 0)
115 {
116 todo -= r;
117 p += r;
118 }
119 else if (r == 0)
120 return 0;
121 else
122 {
123 if (errno == EINTR || errno == EAGAIN)
124 continue;
125 else
126 {
127 ERR("could not write to fd %d: %s", fd, strerror(errno));
128 return 0;
129 }
130 }
131 }
132
133 return 1;
134}
135
136static int
137_em_str_read(int fd, char **str)
138{
139 int size;
140 int r;
141 char buf[PATH_MAX];
142
143 r = _em_read_safe(fd, &size, sizeof(size));
144 if (!r)
145 {
146 *str = NULL;
147 return 0;
148 }
149
150 if (!size)
151 {
152 *str = NULL;
153 return 1;
154 }
155
156 r = _em_read_safe(fd, buf, size);
157 if (!r)
158 {
159 *str = NULL;
160 return 0;
161 }
162
163 *str = strdup(buf);
164 return 1;
165}
166
167static int
168_em_cmd_read(struct _App *app)
169{
170 int cmd;
171 _em_read_safe(app->em_read, &cmd, sizeof(cmd));
172
173 return cmd;
174}
175
176static void
177_send_cmd_start(struct _App *app, int cmd)
178{
179 pthread_mutex_lock(&_mutex_fd);
180 _em_write_safe(app->em_write, &cmd, sizeof(cmd));
181}
182
183static void
184_send_cmd_finish(struct _App *app __UNUSED__)
185{
186 pthread_mutex_unlock(&_mutex_fd);
187}
188
189static void
190_send_cmd(struct _App *app, int cmd)
191{
192 _send_cmd_start(app, cmd);
193 _send_cmd_finish(app);
194}
195
196static void
197_send_cmd_str(struct _App *app, const char *str)
198{
199 int len;
200 if (str)
201 len = strlen(str) + 1;
202 else
203 len = 0;
204 _em_write_safe(app->em_write, &len, sizeof(len));
205 _em_write_safe(app->em_write, str, len);
206}
207
208#define SEND_CMD_PARAM(app, i) \
209 _em_write_safe((app)->em_write, &(i), sizeof((i)));
210
211static void
212_send_resize(struct _App *app, int width, int height)
213{
214 _send_cmd_start(app, EM_RESULT_FRAME_SIZE);
215 SEND_CMD_PARAM(app, width);
216 SEND_CMD_PARAM(app, height);
217 _send_cmd_finish(app);
218}
219
220static void
221_send_length_changed(struct _App *app, const struct libvlc_event_t *ev)
222{
223 float length = ev->u.media_player_length_changed.new_length;
224 length /= 1000;
225
226 _send_cmd_start(app, EM_RESULT_LENGTH_CHANGED);
227 SEND_CMD_PARAM(app, length);
228 _send_cmd_finish(app);
229}
230
231static void
232_send_time_changed(struct _App *app, const struct libvlc_event_t *ev)
233{
234 float new_time = ev->u.media_player_time_changed.new_time;
235 new_time /= 1000;
236 if (app->vs->frame_drop > 1)
237 return;
238 _send_cmd_start(app, EM_RESULT_POSITION_CHANGED);
239 SEND_CMD_PARAM(app, new_time);
240 _send_cmd_finish(app);
241}
242
243static void
244_send_seekable_changed(struct _App *app, const struct libvlc_event_t *ev)
245{
246 int seekable = ev->u.media_player_seekable_changed.new_seekable;
247 _send_cmd_start(app, EM_RESULT_SEEKABLE_CHANGED);
248 SEND_CMD_PARAM(app, seekable);
249 _send_cmd_finish(app);
250}
251
252static void *
253_lock(void *data, void **pixels)
254{
255 struct _App *app = data;
256
257 if (app->playing)
258 *pixels = app->vf.frames[app->vs->frame.player];
259 else
260 *pixels = NULL;
261
262 return NULL; // picture identifier, not needed here
263}
264
265static void
266_unlock(void *data __UNUSED__, void *id __UNUSED__, void *const *pixels __UNUSED__)
267{
268}
269
270static void
271_display(void *data, void *id __UNUSED__)
272{
273 struct _App *app = data;
274 if (!app->playing)
275 return;
276
277 sem_wait(&app->vs->lock);
278 app->vs->frame.last = app->vs->frame.player;
279 app->vs->frame.player = app->vs->frame.next;
280 app->vs->frame.next = app->vs->frame.last;
281 if (!app->vs->frame_drop++)
282 _send_cmd(app, EM_RESULT_FRAME_NEW);
283 sem_post(&app->vs->lock);
284}
285
286static void *
287_tmp_lock(void *data, void **pixels)
288{
289 struct _App *app = data;
290 *pixels = app->tmpbuffer;
291 return NULL;
292}
293
294static void
295_tmp_unlock(void *data __UNUSED__, void *id __UNUSED__, void *const *pixels __UNUSED__)
296{
297}
298
299static void
300_tmp_display(void *data __UNUSED__, void *id __UNUSED__)
301{
302}
303
304static void
305_play(struct _App *app)
306{
307 float pos;
308
309 if (!app->mp)
310 return;
311
312 _em_read_safe(app->em_read, &pos, sizeof(pos));
313
314 if (app->playing)
315 {
316 libvlc_media_player_set_pause(app->mp, 0);
317 }
318 else
319 {
320 libvlc_time_t new_time = pos * 1000;
321 libvlc_media_player_set_time(app->mp, new_time);
322 libvlc_media_player_play(app->mp);
323
324 if (app->subtitle_path)
325 libvlc_video_set_subtitle_file(app->mp, app->subtitle_path);
326
327 app->playing = 1;
328 }
329}
330
331static void
332_stop(struct _App *app)
333{
334 if (app->mp)
335 libvlc_media_player_set_pause(app->mp, 1);
336}
337
338static void
339_send_file_closed(struct _App *app)
340{
341 app->closing = 0;
342 emotion_generic_shm_free(app->vs);
343 _send_cmd(app, EM_RESULT_FILE_CLOSE);
344}
345
346static void
347_send_file_set(struct _App *app)
348{
349 if (app->opening)
350 _send_cmd(app, EM_RESULT_FILE_SET);
351
352 if (app->closing)
353 _send_file_closed(app);
354}
355
356static void
357_event_cb(const struct libvlc_event_t *ev, void *data)
358{
359 struct _App *app = data;
360 int thread_event;
361
362 switch (ev->type) {
363 case libvlc_MediaPlayerTimeChanged:
364 _send_time_changed(app, ev);
365 break;
366 case libvlc_MediaPlayerPositionChanged:
367 thread_event = EM_THREAD_POSITION_CHANGED;
368 write(app->fd_write, &thread_event, sizeof(thread_event));
369 break;
370 case libvlc_MediaPlayerLengthChanged:
371 _send_length_changed(app, ev);
372 break;
373 case libvlc_MediaPlayerSeekableChanged:
374 _send_seekable_changed(app, ev);
375 break;
376 case libvlc_MediaPlayerPlaying:
377 _send_resize(app, app->w, app->h);
378 thread_event = EM_THREAD_PLAYBACK_STARTED;
379 write(app->fd_write, &thread_event, sizeof(thread_event));
380 break;
381 case libvlc_MediaPlayerStopped:
382 _send_file_set(app);
383 break;
384 case libvlc_MediaPlayerEndReached:
385 thread_event = EM_THREAD_PLAYBACK_STOPPED;
386 write(app->fd_write, &thread_event, sizeof(thread_event));
387 break;
388 }
389}
390
391static void
392_subtitle_set(struct _App *app)
393{
394 _em_str_read(app->em_read, &app->subtitle_path);
395}
396
397static void
398_file_set(struct _App *app)
399{
400 if (app->opening)
401 {
402 libvlc_media_release(app->m);
403 libvlc_media_player_release(app->mp);
404 free(app->filename);
405 }
406
407 _em_str_read(app->em_read, &app->filename);
408
409 app->m = libvlc_media_new_path(app->libvlc, app->filename);
410 if (!app->m)
411 {
412 ERR("could not open path: \"%s\"", app->filename);
413 return;
414 }
415
416 app->mp = libvlc_media_player_new_from_media(app->m);
417 if (!app->mp)
418 {
419 ERR("could not create new player from media.");
420 return;
421 }
422
423 app->opening = 1;
424 libvlc_video_set_format(app->mp, "RV32", DEFAULTWIDTH, DEFAULTHEIGHT, DEFAULTWIDTH * 4);
425 libvlc_video_set_callbacks(app->mp, _tmp_lock, _tmp_unlock, _tmp_display, app);
426 app->event_mgr = libvlc_media_player_event_manager(app->mp);
427 libvlc_event_attach(app->event_mgr, libvlc_MediaPlayerPositionChanged,
428 _event_cb, app);
429 libvlc_event_attach(app->event_mgr, libvlc_MediaPlayerStopped,
430 _event_cb, app);
431
432 app->mevent_mgr = libvlc_media_event_manager(app->m);
433
434 app->tmpbuffer = malloc(sizeof(char) * DEFAULTWIDTH * DEFAULTHEIGHT * 4);
435 libvlc_audio_set_mute(app->mp, 1);
436 libvlc_media_player_play(app->mp);
437}
438
439static void
440_position_set(struct _App *app)
441{
442 if (!app->mp)
443 return;
444
445 float position;
446 _em_read_safe(app->em_read, &position, sizeof(position));
447
448 libvlc_time_t new_time = position * 1000;
449 libvlc_media_player_set_time(app->mp, new_time);
450}
451
452static void
453_speed_set(struct _App *app)
454{
455 float rate;
456
457 if (!app->mp)
458 return;
459
460 _em_read_safe(app->em_read, &rate, sizeof(rate));
461
462 libvlc_media_player_set_rate(app->mp, rate);
463}
464
465static void
466_mute_set(struct _App *app)
467{
468 int mute;
469
470 if (!app->mp)
471 return;
472
473 _em_read_safe(app->em_read, &mute, sizeof(mute));
474
475 libvlc_audio_set_mute(app->mp, mute);
476}
477
478static void
479_volume_set(struct _App *app)
480{
481 float volume;
482 int vol;
483
484 if (!app->mp)
485 return;
486
487 _em_read_safe(app->em_read, &volume, sizeof(volume));
488 vol = volume * 100;
489
490 libvlc_audio_set_volume(app->mp, vol);
491}
492
493static void
494_spu_track_set(struct _App *app)
495{
496 int track;
497
498 _em_read_safe(app->em_read, &track, sizeof(track));
499
500 libvlc_video_set_spu(app->mp, track);
501}
502
503static void
504_audio_track_set(struct _App *app)
505{
506 int track;
507
508 _em_read_safe(app->em_read, &track, sizeof(track));
509
510 libvlc_audio_set_track(app->mp, track);
511}
512
513static void
514_video_track_set(struct _App *app)
515{
516 int track;
517
518 _em_read_safe(app->em_read, &track, sizeof(track));
519
520 libvlc_video_set_track(app->mp, track);
521}
522
523static void
524_file_set_done(struct _App *app)
525{
526 int r;
527
528 app->opening = 0;
529
530 r = emotion_generic_shm_get(app->shmname, &app->vs, &app->vf);
531 if (!r)
532 {
533 free(app->filename);
534 libvlc_media_release(app->m);
535 libvlc_media_player_release(app->mp);
536 app->filename = NULL;
537 app->m = NULL;
538 app->mp = NULL;
539 _send_cmd_start(app, EM_RESULT_FILE_SET_DONE);
540 SEND_CMD_PARAM(app, r);
541 _send_cmd_finish(app);
542 }
543 app->w = app->vs->width;
544 app->h = app->vs->height;
545 libvlc_video_set_format(app->mp, "RV32", app->w, app->h, app->w * 4);
546 libvlc_video_set_callbacks(app->mp, _lock, _unlock, _display, app);
547
548
549 libvlc_event_attach(app->event_mgr, libvlc_MediaPlayerPlaying,
550 _event_cb, app);
551 libvlc_event_attach(app->event_mgr, libvlc_MediaPlayerTimeChanged,
552 _event_cb, app);
553 libvlc_event_attach(app->event_mgr, libvlc_MediaPlayerLengthChanged,
554 _event_cb, app);
555 libvlc_event_attach(app->event_mgr, libvlc_MediaPlayerSeekableChanged,
556 _event_cb, app);
557 libvlc_event_attach(app->event_mgr, libvlc_MediaPlayerEndReached,
558 _event_cb, app);
559
560 libvlc_audio_set_mute(app->mp, 0);
561
562 _send_cmd_start(app, EM_RESULT_FILE_SET_DONE);
563 SEND_CMD_PARAM(app, r);
564 _send_cmd_finish(app);
565}
566
567static void
568_file_close(struct _App *app)
569{
570 app->playing = 0;
571 if (app->opening)
572 goto release_resources;
573
574 if (libvlc_media_player_get_state(app->mp) != libvlc_Playing)
575 {
576 _send_file_closed(app);
577 return;
578 }
579
580 app->closing = 1;
581
582release_resources:
583 libvlc_media_player_stop(app->mp);
584 if (app->filename)
585 free(app->filename);
586 if (app->mp)
587 {
588 libvlc_media_release(app->m);
589 libvlc_media_player_release(app->mp);
590 free(app->tmpbuffer);
591 }
592}
593
594static void
595_process_emotion_commands(struct _App *app)
596{
597 int cmd = _em_cmd_read(app);
598 switch (cmd) {
599 case EM_CMD_FILE_SET:
600 _file_set(app);
601 break;
602 case EM_CMD_FILE_SET_DONE:
603 _file_set_done(app);
604 break;
605 case EM_CMD_SUBTITLE_SET:
606 _subtitle_set(app);
607 break;
608 case EM_CMD_FILE_CLOSE:
609 _file_close(app);
610 break;
611 case EM_CMD_PLAY:
612 _play(app);
613 break;
614 case EM_CMD_STOP:
615 _stop(app);
616 break;
617 case EM_CMD_POSITION_SET:
618 _position_set(app);
619 break;
620 case EM_CMD_SPEED_SET:
621 _speed_set(app);
622 break;
623 case EM_CMD_AUDIO_MUTE_SET:
624 _mute_set(app);
625 break;
626 case EM_CMD_VOLUME_SET:
627 _volume_set(app);
628 break;
629 case EM_CMD_SPU_TRACK_SET:
630 _spu_track_set(app);
631 break;
632 case EM_CMD_AUDIO_TRACK_SET:
633 _audio_track_set(app);
634 break;
635 case EM_CMD_VIDEO_TRACK_SET:
636 _video_track_set(app);
637 break;
638 };
639}
640
641static void
642_send_track_info(struct _App *app, int cmd, int current, int count, libvlc_track_description_t *desc)
643{
644 _send_cmd_start(app, cmd);
645 SEND_CMD_PARAM(app, current);
646 SEND_CMD_PARAM(app, count);
647 while (desc)
648 {
649 int tid = desc->i_id;
650 const char *name = desc->psz_name;
651 SEND_CMD_PARAM(app, tid);
652 _send_cmd_str(app, name);
653 desc = desc->p_next;
654 }
655 _send_cmd_finish(app);
656}
657
658static void
659_send_all_track_info(struct _App *app)
660{
661 int track_count, current;
662 libvlc_track_description_t *desc;
663
664 current = libvlc_audio_get_track(app->mp);
665 track_count = libvlc_audio_get_track_count(app->mp);
666 desc = libvlc_audio_get_track_description(app->mp);
667
668 _send_track_info(app, EM_RESULT_AUDIO_TRACK_INFO,
669 current, track_count, desc);
670
671 current = libvlc_video_get_track(app->mp);
672 track_count = libvlc_video_get_track_count(app->mp);
673 desc = libvlc_video_get_track_description(app->mp);
674
675 _send_track_info(app, EM_RESULT_VIDEO_TRACK_INFO,
676 current, track_count, desc);
677
678 current = libvlc_video_get_spu(app->mp);
679 track_count = libvlc_video_get_spu_count(app->mp);
680 desc = libvlc_video_get_spu_description(app->mp);
681
682 _send_track_info(app, EM_RESULT_SPU_TRACK_INFO,
683 current, track_count, desc);
684}
685
686static void
687_send_all_meta_info(struct _App *app)
688{
689 const char *meta;
690
691 _send_cmd_start(app, EM_RESULT_META_INFO);
692
693 /*
694 * Will send in this order: title, artist, album, year,
695 * genre, comments, disc id and track count.
696 */
697 meta = libvlc_media_get_meta(app->m, libvlc_meta_Title);
698 _send_cmd_str(app, meta);
699 meta = libvlc_media_get_meta(app->m, libvlc_meta_Artist);
700 _send_cmd_str(app, meta);
701 meta = libvlc_media_get_meta(app->m, libvlc_meta_Album);
702 _send_cmd_str(app, meta);
703 meta = libvlc_media_get_meta(app->m, libvlc_meta_Date);
704 _send_cmd_str(app, meta);
705 meta = libvlc_media_get_meta(app->m, libvlc_meta_Genre);
706 _send_cmd_str(app, meta);
707 meta = NULL; // sending empty comments
708 _send_cmd_str(app, meta);
709 meta = NULL; // sending empty disc id
710 _send_cmd_str(app, meta);
711 meta = libvlc_media_get_meta(app->m, libvlc_meta_TrackNumber);
712 _send_cmd_str(app, meta);
713 _send_cmd_finish(app);
714}
715
716static void
717_position_changed(struct _App *app)
718{
719 if (!app->opening)
720 return;
721
722 /* sending size info only once */
723 int r;
724 unsigned int w, h;
725 r = libvlc_video_get_size(app->mp, 0, &w, &h);
726 if (r < 0)
727 {
728 w = 1;
729 h = 1;
730 }
731
732 if (w > 0 || h > 0)
733 {
734 _send_resize(app, w, h);
735 app->size_sent = 1;
736 }
737
738 /* sending audio track info */
739 _send_all_track_info(app);
740
741 /* sending meta info */
742 _send_all_meta_info(app);
743
744 if (app->size_sent)
745 libvlc_media_player_stop(app->mp);
746}
747
748static void
749_process_thread_events(struct _App *app)
750{
751 int event;
752 size_t size;
753
754 size = read(app->fd_read, &event, sizeof(event));
755 if (size != sizeof(event))
756 {
757 ERR("player: problem when reading thread event. size = %zd", size);
758 return;
759 }
760
761 switch (event) {
762 case EM_THREAD_POSITION_CHANGED:
763 _position_changed(app);
764 break;
765 case EM_THREAD_PLAYBACK_STARTED:
766 _send_cmd(app, EM_RESULT_PLAYBACK_STARTED);
767 break;
768 case EM_THREAD_PLAYBACK_STOPPED:
769 app->playing = 0;
770 _send_cmd(app, EM_RESULT_PLAYBACK_STOPPED);
771 break;
772 }
773}
774
775int
776main(int argc, const char *argv[])
777{
778 struct _App app;
779 struct pollfd fds[3];
780 int tpipe[2]; // pipe for comunicating events from threads
781 char cwidth[64], cheight[64], cpitch[64], chroma[64];
782 char buf[64];
783
784 if (!eina_init())
785 {
786 EINA_LOG_CRIT("Can't initialize generic vlc player, eina failed.");
787 return -1;
788 }
789
790 _em_vlc_log_dom = eina_log_domain_register("emotion_generic_vlc",
791 EINA_COLOR_CYAN);
792 if (_em_vlc_log_dom < 0)
793 {
794 EINA_LOG_CRIT("Unable to register emotion_generic_vlc log domain.");
795 goto error;
796 }
797
798 if (!eina_log_domain_level_check(_em_vlc_log_dom, EINA_LOG_LEVEL_WARN))
799 eina_log_domain_level_set("emotion_generic_vlc", EINA_LOG_LEVEL_WARN);
800
801 const char *vlc_argv[] =
802 {
803 "--quiet",
804 "--vout",
805 "vmem",
806 "--vmem-width",
807 cwidth,
808 "--vmem-height",
809 cheight,
810 "--vmem-pitch",
811 cpitch,
812 "--vmem-chroma",
813 chroma
814 };
815
816 if (argc < 3)
817 {
818 ERR("missing parameters.");
819 ERR("syntax:\n\t%s <fd read> <fd write>", argv[0]);
820 goto error;
821 }
822
823 app.em_read = atoi(argv[1]);
824 app.em_write = atoi(argv[2]);
825
826 int vlc_argc = sizeof(vlc_argv) / sizeof(*vlc_argv);
827 snprintf(cwidth, sizeof(cwidth), "%d", DEFAULTWIDTH);
828 snprintf(cheight, sizeof(cheight), "%d", DEFAULTHEIGHT);
829 snprintf(cpitch, sizeof(cpitch), "%d", DEFAULTWIDTH * 4);
830 snprintf(chroma, sizeof(chroma), "RV32");
831
832 /*
833 * Naughty xattr in emotion uses ecore_thread to run its thing, this
834 * may leave emotion's reference count high and it won't kill us...
835 * letting us play the video in the background. not good.
836 *
837 * prctl(PR_SET_PDEATHSIG) is a linux only thing. Need to find ways
838 * to do it on other platforms. Until then leave it breaking on
839 * such platforms so people port it instead of ignoring.
840 */
841 prctl(PR_SET_PDEATHSIG, SIGHUP);
842
843 app.libvlc = libvlc_new(vlc_argc, vlc_argv);
844 app.mp = NULL;
845 app.filename = NULL;
846 app.subtitle_path = NULL;
847 app.w = 0;
848 app.h = 0;
849 app.size_sent = 0;
850 app.opening = 0;
851 app.playing = 0;
852 app.closing = 0;
853
854 if (_em_cmd_read(&app) != EM_CMD_INIT)
855 {
856 ERR("wrong init command!");
857 goto error;
858 }
859
860 int size;
861 _em_read_safe(app.em_read, &size, sizeof(size));
862 _em_read_safe(app.em_read, buf, size);
863 app.shmname = strdup(buf);
864
865 _send_cmd(&app, EM_RESULT_INIT);
866
867 pipe(tpipe);
868 app.fd_read = tpipe[0];
869 app.fd_write = tpipe[1];
870 fds[0].fd = app.em_read;
871 fds[0].events = POLLIN;
872 fds[1].fd = app.fd_read;
873 fds[1].events = POLLIN;
874 fds[2].fd = STDERR_FILENO;
875 fds[2].events = 0;
876
877 while (1)
878 {
879 int r;
880
881 r = poll(fds, 3, -1);
882 if (r == 0)
883 continue;
884 else if (r < 0)
885 {
886 ERR("an error ocurred on poll(): %s", strerror(errno));
887 break;
888 }
889
890 if (fds[0].revents & (POLLERR | POLLHUP | POLLNVAL))
891 {
892 ERR("error communicating with stdin", stderr);
893 break;
894 }
895 if (fds[1].revents & (POLLERR | POLLHUP | POLLNVAL))
896 {
897 ERR("error communicating with thread", stderr);
898 break;
899 }
900
901 if (fds[0].revents & POLLIN)
902 _process_emotion_commands(&app);
903 if (fds[1].revents & POLLIN)
904 _process_thread_events(&app);
905 if (fds[2].revents & (POLLERR | POLLHUP | POLLNVAL))
906 break;
907 }
908
909 libvlc_release(app.libvlc);
910 return 0;
911
912 error:
913 eina_shutdown();
914 return -1;
915}
916#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 @@
1
2MAINTAINERCLEANFILES = Makefile.in
3
4AM_CPPFLAGS = \
5-I$(top_srcdir) \
6-I$(top_srcdir)/src/lib \
7-DPACKAGE_BIN_DIR=\"$(bindir)\" \
8-DPACKAGE_LIB_DIR=\"$(libdir)\" \
9-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
10@EMOTION_CPPFLAGS@ \
11@EMOTION_CFLAGS@ \
12@EIO_CFLAGS@ \
13@EFL_EMOTION_BUILD@ \
14@EEZE_CFLAGS@
15
16if EMOTION_STATIC_BUILD_XINE
17AM_CPPFLAGS += @XINE_CFLAGS@
18endif
19
20if EMOTION_STATIC_BUILD_GSTREAMER
21AM_CPPFLAGS += @GSTREAMER_CFLAGS@
22endif
23
24lib_LTLIBRARIES = libemotion.la
25includes_HEADERS = Emotion.h
26includesdir = $(includedir)/emotion-@VMAJ@
27
28libemotion_la_SOURCES = emotion_smart.c emotion_main.c
29
30if EMOTION_STATIC_BUILD_XINE
31libemotion_la_SOURCES += \
32$(top_srcdir)/src/modules/xine/emotion_xine.c \
33$(top_srcdir)/src/modules/xine/emotion_xine_vo_out.c
34endif
35
36if EMOTION_STATIC_BUILD_GSTREAMER
37libemotion_la_SOURCES += \
38$(top_srcdir)/src/modules/gstreamer/emotion_gstreamer.c \
39$(top_srcdir)/src/modules/gstreamer/emotion_sink.c
40endif
41
42if EMOTION_STATIC_BUILD_GENERIC
43libemotion_la_SOURCES += \
44$(top_srcdir)/src/modules/generic/emotion_generic.c
45endif
46
47libemotion_la_LIBADD = @EMOTION_LIBS@ @EIO_LIBS@ @EEZE_LIBS@
48
49if EMOTION_STATIC_BUILD_XINE
50libemotion_la_LIBADD += @XINE_LIBS@
51endif
52
53if EMOTION_STATIC_BUILD_GSTREAMER
54libemotion_la_LIBADD += @GSTREAMER_LIBS@
55endif
56
57libemotion_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
58
59EXTRA_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 @@
1
2MAINTAINERCLEANFILES = Makefile.in
3
4SUBDIRS = 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 @@
1MAINTAINERCLEANFILES = Makefile.in
2
3AM_CPPFLAGS = \
4-I$(top_srcdir) \
5-I$(top_srcdir)/src/lib \
6-I$(top_srcdir)/src/modules \
7-DPACKAGE_BIN_DIR=\"$(bindir)\" \
8-DPACKAGE_LIB_DIR=\"$(libdir)\" \
9-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
10@EMOTION_CFLAGS@ \
11@EMOTION_CPPFLAGS@ \
12@EFL_EMOTION_BUILD@
13
14if EMOTION_BUILD_GENERIC
15if !EMOTION_STATIC_BUILD_GENERIC
16
17pkgdir = $(libdir)/emotion
18
19pkg_LTLIBRARIES = em_generic.la
20includes_HEADERS = Emotion_Generic_Plugin.h
21includesdir = $(includedir)/emotion-@VMAJ@
22noinst_HEADERS = emotion_generic.h
23
24em_generic_la_SOURCES = emotion_generic.c
25em_generic_la_LIBADD = @EMOTION_LIBS@ @EFL_SHM_OPEN_LIBS@ $(top_builddir)/src/lib/libemotion.la
26em_generic_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
27em_generic_la_LIBTOOLFLAGS = --tag=disable-static
28em_generic_la_DEPENDENCIES = emotion_generic.h Emotion_Generic_Plugin.h
29
30endif
31endif
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 @@
1MAINTAINERCLEANFILES = Makefile.in
2
3AM_CPPFLAGS = \
4-I$(top_srcdir) \
5-I$(top_srcdir)/src/lib \
6-DPACKAGE_BIN_DIR=\"$(bindir)\" \
7-DPACKAGE_LIB_DIR=\"$(libdir)\" \
8-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
9@EMOTION_CFLAGS@ \
10@EMOTION_CPPFLAGS@ \
11@EFL_EMOTION_BUILD@ \
12@GSTREAMER_CFLAGS@ \
13@GSTREAMER_INTERFACE_CFLAGS@ \
14@ECORE_X_CFLAGS@
15
16if EMOTION_BUILD_GSTREAMER
17if !EMOTION_STATIC_BUILD_GSTREAMER
18
19pkgdir = $(libdir)/emotion
20
21pkg_LTLIBRARIES = gstreamer.la
22gstreamer_la_SOURCES = \
23emotion_gstreamer.c \
24emotion_sink.c \
25emotion_alloc.c \
26emotion_fakeeos.c \
27emotion_convert.c
28
29gstreamer_la_LIBADD = @EMOTION_LIBS@ @ECORE_X_LIBS@ @GSTREAMER_LIBS@ @GSTREAMER_INTERFACE_LIBS@ $(top_builddir)/src/lib/libemotion.la
30gstreamer_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
31gstreamer_la_LIBTOOLFLAGS = --tag=disable-static
32gstreamer_la_DEPENDENCIES = $(top_builddir)/config.h
33
34endif
35endif
36
37EXTRA_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 @@
1MAINTAINERCLEANFILES = Makefile.in
2
3AM_CPPFLAGS = \
4-I$(top_srcdir) \
5-I$(top_srcdir)/src/lib \
6-I$(top_srcdir)/src/modules \
7-DPACKAGE_BIN_DIR=\"$(bindir)\" \
8-DPACKAGE_LIB_DIR=\"$(libdir)\" \
9-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
10@EMOTION_CFLAGS@ \
11@EMOTION_CPPFLAGS@ \
12@EFL_EMOTION_BUILD@ \
13@XINE_CFLAGS@
14
15if EMOTION_BUILD_XINE
16if !EMOTION_STATIC_BUILD_XINE
17
18pkgdir = $(libdir)/emotion
19
20pkg_LTLIBRARIES = xine.la
21
22xine_la_SOURCES = \
23emotion_xine.c \
24emotion_xine.h \
25emotion_xine_vo_out.c
26xine_la_LIBADD = @EMOTION_LIBS@ @XINE_LIBS@ $(top_builddir)/src/lib/libemotion.la -lpthread
27xine_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
28xine_la_LIBTOOLFLAGS = --tag=disable-static
29
30endif
31endif