1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [0])
4 m4_define([v_min], [2])
5 m4_define([v_mic], [0])
6 m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v export || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
7 m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
8 ##-- When released, remove the dnl on the below line
9 dnl m4_undefine([v_rev])
10 ##-- When doing snapshots - change soname. remove dnl on below line
11 m4_define([relname], [ver-pre-svn-07])
12 m4_define([v_rel], [-release relname])
13 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
14 m4_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])])
16 m4_define([lt_rev], m4_eval(v_maj + v_min))
17 m4_define([lt_cur], v_mic)
18 m4_define([lt_age], v_min)
19 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
20 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
22 AC_INIT([emotion], [v_ver], [enlightenment-devel@lists.sourceforge.net])
24 AC_CONFIG_SRCDIR([configure.ac])
25 AC_CONFIG_MACRO_DIR([m4])
30 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
31 AM_CONFIG_HEADER([config.h])
32 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
35 define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
36 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
39 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
40 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
41 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
42 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
43 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
44 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
45 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
46 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
47 version_info="lt_rev:lt_cur:lt_age"
49 AC_SUBST(version_info)
50 AC_SUBST(release_info)
51 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
52 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
66 want_generic_vlc="yes"
70 requirement_emotion=""
72 ### Additional options to configure
74 EFL_ENABLE_BIN([emotion-test])
78 AC_ARG_WITH([edje-cc],
79 [AC_HELP_STRING([--with-edje-cc=PATH], [specify a specific path to edje_cc])],
83 echo " Enlightenment edje_cc explicitly set to "$edje_cc;
85 [edje_cc=$(pkg-config --variable=prefix edje)/bin/edje_cc])
89 ### Checks for programs
95 # Check whether pkg-config supports Requires.private
96 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
97 pkgconfig_requires_private="Requires.private"
99 pkgconfig_requires_private="Requires"
101 AC_SUBST(pkgconfig_requires_private)
103 # doxygen program for documentation building
105 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
108 ### Checks for libraries
110 PKG_CHECK_MODULES(EMOTION, [eina >= 1.0.0 evas >= 1.0.0 ecore >= 1.0.0])
111 requirement_emotion="ecore >= 1.0.0 evas >= 1.0.0 eina >= 1.0.0"
113 if test "x${have_emotion_test}" = "xyes" ; then
114 PKG_CHECK_MODULES(EMOTION_BIN, [eina >= 1.0.0 evas >= 1.0.0 ecore >= 1.0.0 ecore-evas >= 1.0.0 edje >= 1.0.0])
117 PKG_CHECK_MODULES(ECORE_X, [ecore-x >= 1.0.0 ecore-evas >= 1.0.0], [have_ecore_x="yes"], [have_ecore_x="no"])
119 PKG_CHECK_MODULES(ECORE_FB, [ecore-fb >= 1.0.0], [have_ecore_fb="yes"], [have_ecore_fb="no"])
121 if test "x${have_ecore_x}" = "xyes" ; then
122 AC_DEFINE(EMOTION_HAVE_ECORE_X, 1, [Define to 1 if Ecore_X is enabled])
125 if test "x${have_ecore_fb}" = "xyes" ; then
126 AC_DEFINE(EMOTION_HAVE_ECORE_FB, 1, [Define to 1 if Ecore_Fb is enabled])
129 PKG_CHECK_EXISTS([evas-software-x11 >= 1.0.0], [AC_DEFINE(HAVE_EVAS_SOFWARE_X11, 1, [Evas Software Xlib Engine Support])])
131 PKG_CHECK_EXISTS([evas-xrender-x11 >= 1.0.0], [AC_DEFINE(HAVE_EVAS_XRENDER_X11, 1, [Evas Software Xlib Engine Support])])
133 PKG_CHECK_EXISTS([evas-opengl-x11 >= 1.0.0], [AC_DEFINE(HAVE_EVAS_OPENGL_X11, 1, [Evas OpenGL Xlib Engine Support])])
135 PKG_CHECK_EXISTS([evas-fb >= 1.0.0], [AC_DEFINE(HAVE_EVAS_FB, 1, [Evas Framebuffer Engine Support])])
137 EFL_EDJE_EXTERNAL([have_edje_external="yes"], [have_edje_external="no"])
139 PKG_CHECK_MODULES(EEZE, [eeze >= 1.0.99], [have_eeze="yes"], [have_eeze="no"])
141 if test "x${have_eeze}" = "xyes"; then
142 AC_DEFINE(EMOTION_HAVE_EEZE, 1, [Define to 1 if Eeze is available])
143 requirement_emotion="${requirement_emotion} eeze >= 1.0.99"
146 ### Checks for header files
152 ### Checks for structures
155 ### Checks for compiler characteristics
164 EMOTION_CPPFLAGS="-D_WIN32_WCE=0x0420"
165 EFL_EMOTION_BUILD="-DEFL_EMOTION_BUILD"
168 EMOTION_CPPFLAGS="-D_WIN32_WINNT=0x0501"
169 EFL_EMOTION_BUILD="-DEFL_EMOTION_BUILD"
172 AC_SUBST(EFL_EMOTION_BUILD)
173 AC_SUBST(EMOTION_CPPFLAGS)
176 ### Checks for linker characteristics
178 # use --enable-auto-import on Windows
180 lt_enable_auto_import=""
183 lt_enable_auto_import="-Wl,--enable-auto-import"
186 AC_SUBST(lt_enable_auto_import)
188 ### Check for video4linux
194 #include <linux/videodev2.h>
197 fprintf(stdout, "%i\n", V4L2_CAP_VIDEO_CAPTURE);
200 AC_DEFINE(HAVE_V4L2, 1, [Define to 1 if you have Video4Linux 2 available])
204 AC_MSG_CHECKING([for V4L2])
205 AC_MSG_RESULT([${have_v4l2}])
209 EMOTION_CHECK_MODULE([Xine], [${want_xine}])
210 EMOTION_CHECK_MODULE([Gstreamer], [${want_gstreamer}])
211 EMOTION_CHECK_MODULE([Generic], [${want_generic}])
213 EMOTION_CHECK_GENERIC_PLAYER([VLC], [${want_generic_vlc}])
215 if test "x${enable_xine}" = "xno" && test "x${enable_gstreamer}" = "xno" && test "x${enable_generic}" = "xno" ; then
216 AC_MSG_ERROR([Xine, Gstreamer or Generic backends must be selected to build Emotion])
220 PKG_CHECK_MODULES([EIO],
224 AC_DEFINE(HAVE_EIO, 1, [Use EIO for asynchronous file access])
225 requirement_emotion="eio ${requirement_emotion}"
229 AM_CONDITIONAL([HAVE_EIO], [test "x${have_eio}" = "xyes"])
231 ## Check Ecore-X availability, used for XV, VAAPI, VDPAU output.
235 AC_ARG_ENABLE([ecore-x],
236 [AC_HELP_STRING([--disable-ecore-x], [disable ecore-x support. @<:@default=detect@:>@])],
237 [want_ecore_x=$enableval], [])
239 if test "x$want_ecore_x" != "xno"; then
240 PKG_CHECK_MODULES([ECORE_X],
243 AC_DEFINE(HAVE_ECORE_X, 1, [X11 support for Ecore])
245 requirement_elm="ecore-x >= 1.0.0 ${requirement_elm}"
252 if test "x$want_ecore_x" = "xyes" -a "x$have_ecore_x" = "xno"; then
253 AC_MSG_ERROR([ecore-x support requested, but not found by pkg-config.])
256 ## Check if gstreamer X Overlay is available
258 if test "x$enable_gstreamer" = "xyes"; then
260 CFLAGS="$CFLAGS ${GSTREAMER_CFLAGS}"
261 AC_CHECK_HEADER([gst/interfaces/xoverlay.h],
263 AC_DEFINE(HAVE_XOVERLAY_H, 1, [Build with Gstreamer Xoverlay support])
270 if test "x${build_xoverlay}" = "xyes"; then
271 PKG_CHECK_MODULES([GSTREAMER_INTERFACE],
272 [ gstreamer-interfaces-0.10 >= 0.10.34 ],
273 [ build_xoverlay="yes" ],
274 [ build_xoverlay="no" ]
279 ### install and build examples
281 EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"])
282 EFL_CHECK_INSTALL_EXAMPLES([enable_install_examples="yes"], [enable_install_examples="no"])
284 AC_SUBST(requirement_emotion)
293 src/modules/xine/Makefile
294 src/modules/gstreamer/Makefile
295 src/modules/generic/Makefile
296 src/edje_external/Makefile
297 src/generic_players/Makefile
298 src/generic_players/vlc/Makefile
300 src/examples/Makefile
307 #####################################################################
313 echo "------------------------------------------------------------------------"
314 echo "$PACKAGE $VERSION"
315 echo "------------------------------------------------------------------------"
317 echo "Configuration Options Summary:"
320 echo " Xine...............: ${enable_xine}"
321 echo " Gstreamer..........: ${enable_gstreamer} (X: ${have_ecore_x}/${build_xoverlay})"
322 echo " Generic............: ${enable_generic}"
324 if test "x${enable_generic}" = "xyes" || test "x${enable_generic}" = "xstatic"; then
326 echo " Generic Players:"
327 echo " VLC................: ${enable_generic_vlc}"
331 echo " Build emotion_test...: $have_emotion_test"
332 echo " edje_cc..............: ${edje_cc}"
334 echo " Edje EXTERNAL support: ${have_edje_external}"
336 echo " Eio..................: ${have_eio}"
337 echo " V4L2.................: ${have_v4l2}"
339 echo "Documentation..........: ${build_doc}"
340 echo "Examples.............: ${enable_build_examples}"
341 echo "Examples installed...: ${enable_install_examples}"
343 echo "Compilation............: make (or gmake)"
344 echo " CPPFLAGS.............: $CPPFLAGS"
345 echo " CFLAGS...............: $CFLAGS"
346 echo " LDFLAGS..............: $LDFLAGS"
348 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
349 echo " prefix...............: $prefix"
351 if test "x${have_static_module}" = "xyes" ; then
352 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Emotion."
353 echo " You must know what you are doing, or else you will have a lot of problems."
354 echo " And asparagus will disappear from the earth."
355 echo " Think about that."