1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [2])
5 m4_define([v_mic], [99])
6 m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
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 dnl m4_define([relname], [ver-pre-svn-07])
12 dnl m4_define([v_rel], [-release relname])
13 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
14 m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
15 m4_define([lt_cur], m4_eval(v_maj + v_min))
16 m4_define([lt_rev], v_mic)
17 m4_define([lt_age], v_min)
18 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
19 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
21 AC_INIT([edje], [v_ver], [enlightenment-devel@lists.sourceforge.net])
23 AC_CONFIG_SRCDIR([configure.ac])
24 AC_CONFIG_MACRO_DIR([m4])
26 AC_CONFIG_HEADERS([config.h])
28 #ifndef EFL_CONFIG_H__
29 #define EFL_CONFIG_H__
32 #endif /* EFL_CONFIG_H__ */
35 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
36 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
39 define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
40 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
43 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
44 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
45 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
46 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
47 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
48 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
49 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
50 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
51 version_info="lt_cur:lt_rev:lt_age"
53 AC_SUBST(version_info)
54 AC_SUBST(release_info)
55 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
56 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
60 AC_DEFINE_UNQUOTED([SHARED_LIB_SUFFIX], ["$shrext_cmds"], [Suffix for shared objects])
62 ### Default options with respect to host
69 MODULE_ARCH="$host_os-$host_cpu"
74 MODULE_ARCH="$host_os-$host_cpu-v_maj.0.0"
83 AC_DEFINE_UNQUOTED(MODULE_ARCH, "${MODULE_ARCH}", "Module architecture")
85 ### Additional options to configure
87 AC_ARG_ENABLE([amalgamation],
88 [AC_HELP_STRING([--enable-amalgamation], [enable generation of one single file with all source code in it, helps compiler optimizations.])],
89 [if test "x${enableval}" = "xyes"; then
95 [do_amalgamation="no"]
97 AM_CONDITIONAL([EDJE_AMALGAMATION], [test "x${do_amalgamation}" = "xyes"])
99 EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
101 EFL_ENABLE_BIN([edje-cc])
102 EFL_ENABLE_BIN([edje-decc])
103 EFL_ENABLE_BIN([edje-recc])
104 EFL_ENABLE_BIN([edje-player])
105 EFL_ENABLE_BIN([edje-inspector])
106 EFL_ENABLE_BIN([edje-external-inspector])
107 EFL_ENABLE_BIN([edje-watch])
109 # Optional EDJE_PROGRAM_CACHE (use much more ram, but increase speed in some cases)
110 want_edje_program_cache="no"
112 AC_ARG_ENABLE([edje-program-cache],
114 [--enable-edje-program-cache],
115 [enable EDJE_PROGRAM_CACHE support. [[default=disabled]]]
117 [want_edje_program_cache=$enableval]
119 AM_CONDITIONAL([EDJE_PROGRAM_CACHE], [test "x${want_edje_program_cache}" = "xyes"])
121 if test "x${want_edje_program_cache}" = "xyes" ; then
122 AC_DEFINE([EDJE_PROGRAM_CACHE], [1], [Cache result of program glob matches - this uses up extra ram with the gain of faster program matching])
125 # Optional EDJE_CALC_CACHE (use more ram, but increase speed by reducing the need to recalculate static stuff)
126 want_edje_calc_cache="yes"
128 AC_ARG_ENABLE([edje-calc-cache],
130 [--enable-edje-calc-cache],
131 [enable EDJE_CALC_CACHE support. [[default=disabled]]]
133 [want_edje_calc_cache=$enableval]
135 AM_CONDITIONAL([EDJE_CALC_CACHE], [test "x${want_edje_calc_cache}" = "xyes"])
137 if test "x${want_edje_calc_cache}" = "xyes" ; then
138 AC_DEFINE([EDJE_CALC_CACHE], [1], [Cache result of edje_part_recalc - this uses up extra ram with the gain of reducing CPU usage when edje object are not resized])
141 # Enable Fixed Point use
142 want_fixed_point="no"
144 AC_ARG_ENABLE([fixed-point],
146 [--enable-fixed-point],
147 [reduce use of FPU by using Fixed Point provided by Eina and Eet, [[default=disabled]]]
149 [want_fixed_point=$enableval]
151 AM_CONDITIONAL([BUILD_EDJE_FP], [test "x${want_fixed_point}" = "xyes"])
153 if test "x${want_fixed_point}" = "xyes" ; then
154 AC_DEFINE([BUILD_EDJE_FP], [1], [Use Fixed Point instead of FPU])
159 [AC_HELP_STRING([--with-vim=DIR], [Location of Vim data files [[autodetect]]])],
161 if test -d "${withval}"; then
167 if test "x${vimdir}" = "x" ; then
168 if test -d "${prefix}/share/vim"; then
169 vimdir="${prefix}/share/vim"
170 elif test -d "/usr/share/vim"; then
171 vimdir="/usr/share/vim"
172 elif test -d "/usr/local/share/vim"; then
173 vimdir="/usr/local/share/vim"
174 elif test -d "/opt/share/vim"; then
175 vimdir="/opt/share/vim"
181 AC_MSG_CHECKING([for location of Vim data files])
183 if test "${install_vim}" = "yes"; then
184 AC_MSG_RESULT([$vimdir])
186 AC_MSG_RESULT([Not found, EDC syntax file will not be installed])
191 ### Checks for programs
194 # doxygen program for documentation building
196 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
200 AM_PATH_PYTHON([2.5], , [:])
201 AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != : ])
207 # Check whether pkg-config supports Requires.private
209 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
210 pkgconfig_requires_private="Requires.private"
212 pkgconfig_requires_private="Requires"
214 AC_SUBST(pkgconfig_requires_private)
217 ### Checks for libraries
219 # Evil library for compilation on Windows
224 PKG_CHECK_MODULES([EVIL], [evil >= 1.0.0])
225 AC_DEFINE([HAVE_EVIL], [1], [Set to 1 if Evil library is installed])
226 requirement_edje="evil ${requirement_edje}"
227 EFL_EDJE_BUILD="-DEFL_EDJE_BUILD"
230 AC_SUBST(EFL_EDJE_BUILD)
232 # Dependencies for the library
234 # Lua pkg-config hack for different naming conventions
238 PKG_CHECK_MODULES([LUA], [lua >= 5.1.0], requirement_lua="lua",
239 [PKG_CHECK_MODULES([LUA], [lua5.1 >= 5.1.0], requirement_lua="lua5.1",
240 [PKG_CHECK_MODULES([LUA], [lua-5.1 >= 5.1.0], requirement_lua="lua-5.1",
241 [PKG_CHECK_MODULES([LUA], [lua51 >= 5.1.0], requirement_lua="lua51",
242 [have_lua="no"])])])])
244 if test "x${have_lua}" = "xno" ; then
245 AC_MSG_CHECKING([whether lua_newstate() is in liblua])
246 AC_CHECK_LIB([lua], [lua_newstate],
252 AC_MSG_RESULT([${have_lua}])
256 if test "x${have_lua}" = "xno" ; then
257 AC_MSG_ERROR([Cannot find lua library. Be sure that you have installed it and set CFLAGS and LDFLAGS correctly])
260 PKG_CHECK_MODULES([MINIMAL],
266 PKG_CHECK_MODULES([EDJE],
277 EDJE_LIBS="${EDJE_LIBS} ${LUA_LIBS} ${lua_libs}"
278 EDJE_CFLAGS="${EDJE_CFLAGS} ${LUA_CFLAGS}"
280 requirement_edje="embryo >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0 ${requirement_edje}"
281 requirement_edje="${requirement_lua} ${requirement_edje}"
284 PKG_CHECK_MODULES([ECORE_IMF],
287 ecore-imf-evas >= 1.2.0
290 AC_DEFINE([HAVE_ECORE_IMF], [1], [Input Method Support for Edje Entry])
292 requirement_edje="ecore-imf-evas >= 1.2.0 ecore-imf >= 1.2.0 ${requirement_edje}"
294 [have_ecore_imf="no"])
296 PKG_CHECK_MODULES([EIO],
299 AC_DEFINE([HAVE_EIO], [1], [Eio is available for monitoring file assynchronously])
301 requirement_edje="eio >= 1.0.0 ${requirement_edje}"
305 # Enable Multisense use
306 want_multisense="yes"
307 AC_ARG_ENABLE([multisense],
309 [--disable-multisense],
310 [multisense provides sound and tone play support, [[default=enabled]]]
312 [want_multisense=$enableval]
314 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "x${want_multisense}" = "xyes"])
319 AC_ARG_ENABLE([sndfile],
320 [AC_HELP_STRING([--disable-sndfile], [disable sndfile support. @<:@default=detect@:>@])],
321 [want_sndfile=$enableval], [])
323 if test "x${want_multisense}" = "xyes" -a "x$want_sndfile" != "xno"; then
325 PKG_CHECK_MODULES([SNDFILE],
328 AC_DEFINE(HAVE_LIBSNDFILE, 1, [sndfile support for Edje])
330 requirement_edje="sndfile >= 1.0.21 ${requirement_edje}"
332 [have_sndfile="no"; want_multisense="no"]
335 if test "x$want_sndfile" = "xyes" -a "x$have_sndfile" = "xno"; then
336 AC_MSG_ERROR([sndfile support requested, but not found by pkg-config.])
339 AM_CONDITIONAL([HAVE_LIBSNDFILE], [test "x${have_sndfile}" = "xyes"])
344 AC_ARG_ENABLE([remix],
345 [AC_HELP_STRING([--disable-remix], [disable remix support. @<:@default=detect@:>@])],
346 [want_libremix=$enableval], [])
348 if test "x${want_multisense}" = "xyes" -a "x$want_libremix" != "xno"; then
349 PKG_CHECK_MODULES([REMIX],
352 AC_DEFINE(HAVE_LIBREMIX, 1, [remix support for Edje])
354 requirement_edje="remix >= 0.2.4 ${requirement_edje}"
355 AC_DEFINE(__REMIX_PLUGIN__, 1, "Set to REMIX Plugin type")
356 REMIX_PLUGIN_DIR=`pkg-config --variable=libdir remix`"/remix"
357 AC_SUBST(REMIX_PLUGIN_DIR)
358 AC_DEFINE_UNQUOTED(REMIX_PLUGIN_DIR, "$REMIX_PLUGIN_DIR", [Set the remix plugin directory])
360 [have_libremix="no"; want_multisense="no"]
363 if test "x$want_libremix" = "xyes" -a "x$have_libremix" = "xno"; then
364 AC_MSG_ERROR([remix support requested, but not found by pkg-config.])
367 AM_CONDITIONAL([HAVE_LIBREMIX], [test "x${have_libremix}" = "xyes"])
372 AC_ARG_ENABLE([vorbisenc],
373 [AC_HELP_STRING([--disable-vorbis], [disable ogg-vorbis support. @<:@default=detect@:>@])],
374 [want_vorbis=$enableval], [])
376 if test "x${want_multisense}" = "xyes" -a "x$want_vorbis" != "xno"; then
377 PKG_CHECK_MODULES([VORBISENC],
384 AC_DEFINE(HAVE_VORBIS, 1, [vorbis support for Edje])
386 requirement_edje="ogg >= 1.1.4 vorbis >= 1.2.3 vorbisenc >= 1.2.3 ${requirement_edje}"
391 if test "x$want_vorbis" = "xyes" -a "x$have_vorbis" = "xno"; then
392 AC_MSG_ERROR([vorbisenc support requested, but not found by pkg-config.])
399 AC_ARG_ENABLE([alsa],
400 [AC_HELP_STRING([--disable-alsa], [disable alsa support. @<:@default=detect@:>@])],
401 [want_alsa_lib=$enableval], [])
403 if test "x${want_multisense}" = "xyes" -a "x$want_alsa_lib" != "xno"; then
404 PKG_CHECK_MODULES([ALSA],
409 AC_DEFINE(HAVE_LIBALSA, 1, [ALSA support for Edje])
411 requirement_edje="alsa >= 1.0.21 ${requirement_edje}"
416 if test "x$want_alsa_lib" = "xyes" -a "x$have_alsa_lib" = "xno"; then
417 AC_MSG_ERROR([alsa support requested, but not found by pkg-config.])
420 AM_CONDITIONAL([HAVE_LIBALSA], [test "x${have_alsa_lib}" = "xyes"])
422 ##pulse audio library
425 AC_ARG_ENABLE([pulseaudio],
426 [AC_HELP_STRING([--disable-pa], [disable pulse audio support. @<:@default=detect@:>@])],
427 [want_pa_lib=$enableval], [])
429 if test "x${want_multisense}" = "xyes" -a "x$want_pa_lib" != "xno"; then
430 PKG_CHECK_MODULES([PA],
433 libpulse-simple >= 0.9.21
436 AC_DEFINE(HAVE_LIBPA, 1, [Pulse Audio support for Edje])
438 requirement_edje="libpulse >= 0.9.21 ${requirement_edje}"
443 if test "x$want_pa_lib" = "xyes" -a "x$have_pa_lib" = "xno"; then
444 AC_MSG_ERROR([pulse audio support requested, but not found by pkg-config.])
447 AM_CONDITIONAL([HAVE_LIBPA], [test "x${have_pa_lib}" = "xyes"])
453 AC_ARG_ENABLE([flac],
454 [AC_HELP_STRING([--disable-flac], [disable flac support. @<:@default=detect@:>@])],
455 [want_flac_lib=$enableval], [])
457 if test "x${want_multisense}" = "xyes" -a "x$want_flac_lib" != "xno"; then
458 PKG_CHECK_MODULES([FLAC],
463 AC_DEFINE(HAVE_LIBFLAC, 1, [flac support for Edje])
465 # disabled because this adds flac include dirs to cflags... and
466 # FLAC has an assert.h in its include dirs that ends up
467 # overriding the system assert.h and thus causes all sorts of
469 #requirement_edje="flac >= 1.2.1 ${requirement_edje}"
473 if test "x$want_flac_lib" = "xyes" -a "x$have_flac_lib" = "xno"; then
474 AC_MSG_ERROR([flac support requested, but not found by pkg-config.])
478 if test "x${want_multisense}" = "xyes" ; then
479 AC_DEFINE([ENABLE_MULTISENSE], [1], [Use Multisense])
482 # Dependencies for the binaries
484 if test "x${have_edje_cc}" = "xyes" ; then
485 PKG_CHECK_MODULES([EDJE_CC],
486 [ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0])
487 EDJE_CC_LIBS="${EDJE_CC_LIBS} ${LUA_LIBS} ${lua_libs}"
490 AM_CONDITIONAL([BUILD_EPP], [test "x${have_edje_cc}" = "xyes"])
492 if test "x${have_edje_decc}" = "xyes" ; then
493 PKG_CHECK_MODULES([EDJE_DECC],
494 [ecore-file >= 1.2.0 ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 eina >= 1.2.0])
497 if test "x${have_edje_player}" = "xyes" ; then
498 PKG_CHECK_MODULES([EDJE_PLAYER],
499 [ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0])
502 if test "x${have_edje_inspector}" = "xyes" ; then
503 PKG_CHECK_MODULES([EDJE_INSPECTOR],
504 [ecore-evas >= 1.2.0 ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0])
507 if test "x${have_edje_external_inspector}" = "xyes" ; then
508 PKG_CHECK_MODULES([EDJE_EXTERNAL_INSPECTOR],
509 [ecore >= 1.2.0 evas >= 1.2.0 eina >= 1.2.0])
512 if test "x${have_edje_watch}" = "xyes" ; then
513 PKG_CHECK_MODULES([EDJE_WATCH],
514 [ecore >= 1.2.0 eina >= 1.2.0 eio >= 1.0.0],
515 [have_edje_watch="yes"],
516 [have_edje_watch="no"])
519 AM_CONDITIONAL([BUILD_EDJE_WATCH], [test "x${have_edje_watch}" = "xyes"])
521 ### Checks for header files
522 AC_CHECK_HEADERS([locale.h sys/resource.h])
530 ### Checks for structures
533 ### Checks for compiler characteristics
542 EDJE_CFLAGS="${EDJE_CFLAGS} -D_WIN32_WCE=0x0420"
547 ### Checks for linker characteristics
549 lt_enable_auto_import=""
552 lt_enable_auto_import="-Wl,--enable-auto-import"
555 AC_SUBST(lt_enable_auto_import)
558 ### Checks for library functions
566 AC_DEFINE([HAVE_REALPATH], [1], [Define to 1 if you have the `realpath' function.])
569 AC_CHECK_FUNCS([realpath])
573 ### Unit tests, coverage and benchmarking
575 EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
577 EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"])
578 EDJE_CFLAGS="${EDJE_CFLAGS} ${EFL_COVERAGE_CFLAGS}"
579 EDJE_LIBS="${EDJE_LIBS} ${EFL_COVERAGE_LIBS}"
580 if test "x$enable_coverage" = "xyes" ; then
581 EDJE_CFLAGS="${EDJE_CFLAGS} ${EFL_DEBUG_CFLAGS}"
587 AC_ARG_ENABLE([build-examples],
588 AC_HELP_STRING([--enable-build-examples],
589 [Enable building examples. This requires extra denpendencies. If you don't have them installed yet, don't build with this option or it will fail. Build again when you have it, overriding the previous installation). @<:@default==disabled@:>@]),
591 if test "x${enableval}" = "xyes" ; then
597 [build_examples="no"])
598 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
600 AC_SUBST(requirement_edje)
607 data/include/Makefile
615 src/modules/alsa_snd_player/Makefile
616 src/modules/pa_snd_player/Makefile
617 src/modules/eet_snd_reader/Makefile
618 src/modules/multisense_factory/Makefile
621 src/examples/Makefile
625 #####################################################################
631 echo "------------------------------------------------------------------------"
632 echo "$PACKAGE $VERSION"
633 echo "------------------------------------------------------------------------"
635 echo "Configuration Options Summary:"
637 echo " Amalgamation.........: ${do_amalgamation}"
638 echo " Ecore IMF............: $have_ecore_imf"
639 echo " Multisense...........: $want_multisense"
641 if test "x${want_multisense}" = "xyes" ; then
642 echo " LibRemix.............: $have_libremix"
643 echo " Libsndfile...........: $have_sndfile"
644 echo " Ogg/Vorbis...........: $have_vorbis"
645 echo " LibFLAC..............: $have_flac_lib"
646 echo " LibALSA..............: $have_alsa_lib"
647 echo " LibPA................: $have_pa_lib"
650 echo " EDJE_PROGRAM_CACHE...: $want_edje_program_cache"
651 echo " EDJE_CALC_CACHE......: $want_edje_calc_cache"
652 echo " Fixed point..........: $want_fixed_point"
653 echo " Documentation........: ${build_doc}"
654 echo " Tests................: ${enable_tests}"
655 echo " Coverage.............: ${enable_coverage}"
656 echo " Examples.............: install:${install_examples} build:${build_examples}"
660 echo " Build edje_cc................: $have_edje_cc"
661 echo " Build edje_decc..............: $have_edje_decc"
662 echo " Build edje_recc..............: $have_edje_recc"
663 echo " Build edje_player............: $have_edje_player"
664 echo " Build edje_inspector.........: $have_edje_inspector"
665 echo " Build edje_external_inspector: $have_edje_external_inspector"
666 echo " Build edje_watch.............: $have_edje_watch"
668 echo "Compilation............: make (or gmake)"
669 echo " CPPFLAGS.............: $CPPFLAGS"
670 echo " CFLAGS...............: $CFLAGS"
671 echo " LDFLAGS..............: $LDFLAGS"
673 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
674 echo " prefix...............: $prefix"