1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [7])
5 m4_define([v_mic], [8])
6 m4_define([v_rev], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null || echo 0) | tr -d '\n']))dnl
7 ##-- When released, remove the dnl on the below line
9 ##-- When doing snapshots - change soname. remove dnl on below line
10 dnl m4_define([relname], [ver-pre-svn-07])
11 dnl m4_define([v_rel], [-release relname])
12 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
13 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])])
14 m4_define([lt_cur], m4_eval(v_maj + v_min))
15 m4_define([lt_rev], v_mic)
16 m4_define([lt_age], v_min)
17 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
18 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
20 AC_INIT([edje], [v_ver], [enlightenment-devel@lists.sourceforge.net])
22 AC_CONFIG_SRCDIR([configure.ac])
23 AC_CONFIG_MACRO_DIR([m4])
25 AC_CONFIG_HEADERS([config.h])
27 #ifndef EFL_CONFIG_H__
28 #define EFL_CONFIG_H__
31 #endif /* EFL_CONFIG_H__ */
34 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
35 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
38 define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
39 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
42 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
43 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
44 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
45 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
46 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
47 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
48 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
49 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
50 version_info="lt_cur:lt_rev:lt_age"
52 AC_SUBST(version_info)
53 AC_SUBST(release_info)
54 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
55 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
59 AC_DEFINE_UNQUOTED([SHARED_LIB_SUFFIX], ["$shrext_cmds"], [Suffix for shared objects])
61 ### Default options with respect to host
68 MODULE_ARCH="$host_os-$host_cpu"
73 MODULE_ARCH="$host_os-$host_cpu-v_maj.0.0"
82 AC_DEFINE_UNQUOTED(MODULE_ARCH, "${MODULE_ARCH}", "Module architecture")
84 ### Additional options to configure
86 AC_ARG_ENABLE([amalgamation],
87 [AC_HELP_STRING([--enable-amalgamation], [enable generation of one single file with all source code in it, helps compiler optimizations.])],
88 [if test "x${enableval}" = "xyes"; then
94 [do_amalgamation="no"]
96 AM_CONDITIONAL([EDJE_AMALGAMATION], [test "x${do_amalgamation}" = "xyes"])
98 EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
100 EFL_ENABLE_BIN([edje-cc])
101 EFL_ENABLE_BIN([edje-decc])
102 EFL_ENABLE_BIN([edje-recc])
103 EFL_ENABLE_BIN([edje-player])
104 EFL_ENABLE_BIN([edje-inspector])
105 EFL_ENABLE_BIN([edje-external-inspector])
106 EFL_ENABLE_BIN([edje-watch])
108 # Optional EDJE_PROGRAM_CACHE (use much more ram, but increase speed in some cases)
109 want_edje_program_cache="no"
111 AC_ARG_ENABLE([edje-program-cache],
113 [--enable-edje-program-cache],
114 [enable EDJE_PROGRAM_CACHE support. [[default=disabled]]]
116 [want_edje_program_cache=$enableval]
118 AM_CONDITIONAL([EDJE_PROGRAM_CACHE], [test "x${want_edje_program_cache}" = "xyes"])
120 if test "x${want_edje_program_cache}" = "xyes" ; then
121 AC_DEFINE([EDJE_PROGRAM_CACHE], [1], [Cache result of program glob matches - this uses up extra ram with the gain of faster program matching])
124 # Optional EDJE_CALC_CACHE (use more ram, but increase speed by reducing the need to recalculate static stuff)
125 want_edje_calc_cache="yes"
127 AC_ARG_ENABLE([edje-calc-cache],
129 [--enable-edje-calc-cache],
130 [enable EDJE_CALC_CACHE support. [[default=disabled]]]
132 [want_edje_calc_cache=$enableval]
134 AM_CONDITIONAL([EDJE_CALC_CACHE], [test "x${want_edje_calc_cache}" = "xyes"])
136 if test "x${want_edje_calc_cache}" = "xyes" ; then
137 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])
140 # Enable Fixed Point use
141 want_fixed_point="no"
143 AC_ARG_ENABLE([fixed-point],
145 [--enable-fixed-point],
146 [reduce use of FPU by using Fixed Point provided by Eina and Eet, [[default=disabled]]]
148 [want_fixed_point=$enableval]
150 AM_CONDITIONAL([BUILD_EDJE_FP], [test "x${want_fixed_point}" = "xyes"])
152 if test "x${want_fixed_point}" = "xyes" ; then
153 AC_DEFINE([BUILD_EDJE_FP], [1], [Use Fixed Point instead of FPU])
158 [AC_HELP_STRING([--with-vim=DIR], [Location of Vim data files [[autodetect]]])],
160 if test -d "${withval}"; then
166 if test "x${vimdir}" = "x" ; then
167 if test -d "${prefix}/share/vim"; then
168 vimdir="${prefix}/share/vim"
169 elif test -d "/usr/share/vim"; then
170 vimdir="/usr/share/vim"
171 elif test -d "/usr/local/share/vim"; then
172 vimdir="/usr/local/share/vim"
173 elif test -d "/opt/share/vim"; then
174 vimdir="/opt/share/vim"
180 AC_MSG_CHECKING([for location of Vim data files])
182 if test "${install_vim}" = "yes"; then
183 AC_MSG_RESULT([$vimdir])
185 AC_MSG_RESULT([Not found, EDC syntax file will not be installed])
190 ### Checks for programs
193 # doxygen program for documentation building
195 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
199 AM_PATH_PYTHON([2.5], , [:])
200 AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != : ])
206 # Check whether pkg-config supports Requires.private
208 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
209 pkgconfig_requires_private="Requires.private"
211 pkgconfig_requires_private="Requires"
213 AC_SUBST(pkgconfig_requires_private)
216 ### Checks for libraries
218 # Evil library for compilation on Windows
223 PKG_CHECK_MODULES([EVIL], [evil >= 1.7.8])
224 AC_DEFINE([HAVE_EVIL], [1], [Set to 1 if Evil library is installed])
225 requirement_edje="evil ${requirement_edje}"
226 EFL_EDJE_BUILD="-DEFL_EDJE_BUILD"
229 AC_SUBST(EFL_EDJE_BUILD)
231 # Dependencies for the library
233 # Lua pkg-config hack for different naming conventions
237 PKG_CHECK_MODULES([LUA], [lua >= 5.1.0], requirement_lua="lua",
238 [PKG_CHECK_MODULES([LUA], [lua5.1 >= 5.1.0], requirement_lua="lua5.1",
239 [PKG_CHECK_MODULES([LUA], [lua-5.1 >= 5.1.0], requirement_lua="lua-5.1",
240 [PKG_CHECK_MODULES([LUA], [lua51 >= 5.1.0], requirement_lua="lua51",
241 [have_lua="no"])])])])
243 if test "x${have_lua}" = "xno" ; then
244 AC_MSG_CHECKING([whether lua_newstate() is in liblua])
245 AC_CHECK_LIB([lua], [lua_newstate],
251 AC_MSG_RESULT([${have_lua}])
255 if test "x${have_lua}" = "xno" ; then
256 AC_MSG_ERROR([Cannot find lua library. Be sure that you have installed it and set CFLAGS and LDFLAGS correctly])
259 PKG_CHECK_MODULES([MINIMAL],
265 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.7.8 ecore-evas >= 1.7.8 ecore >= 1.7.8 evas >= 1.7.8 eet >= 1.7.8 eina >= 1.7.8 ${requirement_edje}"
281 requirement_edje="${requirement_lua} ${requirement_edje}"
284 PKG_CHECK_MODULES([ECORE_IMF],
287 ecore-imf-evas >= 1.7.8
290 AC_DEFINE([HAVE_ECORE_IMF], [1], [Input Method Support for Edje Entry])
292 requirement_edje="ecore-imf-evas >= 1.7.8 ecore-imf >= 1.7.8 ${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.7.8 ${requirement_edje}"
305 # Enable Multisense use
307 dnl AC_ARG_ENABLE([multisense],
309 dnl [--enable-multisense],
310 dnl [multisense provides sound. tone and haptic effects support, [[default=disabled]]]
312 dnl [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}"
388 [have_vorbis="no"; want_multisense="no"]
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}"
413 [have_alsa_lib="no"; want_multisense="no"]
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"])
426 AC_ARG_ENABLE([flac],
427 [AC_HELP_STRING([--disable-flac], [disable flac support. @<:@default=detect@:>@])],
428 [want_flac_lib=$enableval], [])
430 if test "x${want_multisense}" = "xyes" -a "x$want_flac_lib" != "xno"; then
431 PKG_CHECK_MODULES([FLAC],
436 AC_DEFINE(HAVE_LIBFLAC, 1, [flac support for Edje])
438 # disabled because this adds flac include dirs to cflags... and
439 # FLAC has an assert.h in its include dirs that ends up
440 # overriding the system assert.h and thus causes all sorts of
442 #requirement_edje="flac >= 1.2.1 ${requirement_edje}"
444 [have_flac_lib="no"; want_multisense="no"]
446 if test "x$want_flac_lib" = "xyes" -a "x$have_flac_lib" = "xno"; then
447 AC_MSG_ERROR([flac support requested, but not found by pkg-config.])
451 if test "x${want_multisense}" = "xyes" ; then
452 AC_DEFINE([ENABLE_MULTISENSE], [1], [Use Multisense])
454 AC_SUBST([want_multisense])
456 # Dependencies for the binaries
458 if test "x${have_edje_cc}" = "xyes" ; then
459 PKG_CHECK_MODULES([EDJE_CC],
460 [ecore-file >= 1.7.8 ecore-evas >= 1.7.8 ecore >= 1.7.8 evas >= 1.7.8 eet >= 1.7.8 eina >= 1.7.8])
461 EDJE_CC_LIBS="${EDJE_CC_LIBS} ${LUA_LIBS} ${lua_libs}"
464 AM_CONDITIONAL([BUILD_EPP], [test "x${have_edje_cc}" = "xyes"])
466 if test "x${have_edje_decc}" = "xyes" ; then
467 PKG_CHECK_MODULES([EDJE_DECC],
468 [ecore-file >= 1.7.8 ecore-evas >= 1.7.8 ecore >= 1.7.8 evas >= 1.7.8 eet >= 1.7.8 eina >= 1.7.8])
471 if test "x${have_edje_player}" = "xyes" ; then
472 PKG_CHECK_MODULES([EDJE_PLAYER],
473 [ecore-evas >= 1.7.8 ecore >= 1.7.8 evas >= 1.7.8 eina >= 1.7.8])
476 if test "x${have_edje_inspector}" = "xyes" ; then
477 PKG_CHECK_MODULES([EDJE_INSPECTOR],
478 [ecore-evas >= 1.7.8 ecore >= 1.7.8 evas >= 1.7.8 eina >= 1.7.8])
481 if test "x${have_edje_external_inspector}" = "xyes" ; then
482 PKG_CHECK_MODULES([EDJE_EXTERNAL_INSPECTOR],
483 [ecore >= 1.7.8 evas >= 1.7.8 eina >= 1.7.8])
486 if test "x${have_edje_watch}" = "xyes" ; then
487 PKG_CHECK_MODULES([EDJE_WATCH],
488 [ecore >= 1.7.8 eina >= 1.7.8 eio >= 1.7.8],
489 [have_edje_watch="yes"],
490 [have_edje_watch="no"])
493 AM_CONDITIONAL([BUILD_EDJE_WATCH], [test "x${have_edje_watch}" = "xyes"])
495 ### Checks for header files
496 AC_CHECK_HEADERS([locale.h sys/resource.h])
504 ### Checks for structures
507 ### Checks for compiler characteristics
516 EDJE_CFLAGS="${EDJE_CFLAGS} -D_WIN32_WCE=0x0420"
521 ### Checks for linker characteristics
523 lt_enable_auto_import=""
526 lt_enable_auto_import="-Wl,--enable-auto-import"
529 AC_SUBST(lt_enable_auto_import)
532 ### Checks for library functions
540 AC_DEFINE([HAVE_REALPATH], [1], [Define to 1 if you have the `realpath' function.])
543 AC_CHECK_FUNCS([realpath])
547 ### Unit tests, coverage and benchmarking
549 EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
551 EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"])
552 EDJE_CFLAGS="${EDJE_CFLAGS} ${EFL_COVERAGE_CFLAGS}"
553 EDJE_LIBS="${EDJE_LIBS} ${EFL_COVERAGE_LIBS}"
554 if test "x$enable_coverage" = "xyes" ; then
555 EDJE_CFLAGS="${EDJE_CFLAGS} ${EFL_DEBUG_CFLAGS}"
561 AC_ARG_ENABLE([build-examples],
562 AC_HELP_STRING([--enable-build-examples],
563 [Enable building examples. This requires extra dependencies. 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@:>@]),
565 if test "x${enableval}" = "xyes" ; then
571 [build_examples="no"])
572 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
574 AC_SUBST(requirement_edje)
581 data/include/Makefile
589 src/modules/alsa_snd_player/Makefile
590 src/modules/eet_snd_reader/Makefile
591 src/modules/multisense_factory/Makefile
594 src/examples/Makefile
598 #####################################################################
604 echo "------------------------------------------------------------------------"
605 echo "$PACKAGE $VERSION"
606 echo "------------------------------------------------------------------------"
608 echo "Configuration Options Summary:"
610 echo " Amalgamation.........: ${do_amalgamation}"
611 echo " Ecore IMF............: $have_ecore_imf"
612 dnl echo " Multisense...........: $want_multisense"
614 if test "x${want_multisense}" = "xyes" ; then
615 echo " LibRemix.............: $have_libremix"
616 echo " Libsndfile...........: $have_sndfile"
617 echo " Ogg/Vorbis...........: $have_vorbis"
618 echo " LibFLAC..............: $have_flac_lib"
619 echo " LibALSA..............: $have_alsa_lib"
622 echo " EDJE_PROGRAM_CACHE...: $want_edje_program_cache"
623 echo " EDJE_CALC_CACHE......: $want_edje_calc_cache"
624 echo " Fixed point..........: $want_fixed_point"
625 echo " Documentation........: ${build_doc}"
626 if test "x${build_doc}" = "xyes" ; then
627 echo " Installation.......: make install-doc"
629 echo " Tests................: ${enable_tests}"
630 echo " Coverage.............: ${enable_coverage}"
631 echo " Examples.............: install:${install_examples} build:${build_examples}"
635 echo " Build edje_cc................: $have_edje_cc"
636 echo " Build edje_decc..............: $have_edje_decc"
637 echo " Build edje_recc..............: $have_edje_recc"
638 echo " Build edje_player............: $have_edje_player"
639 echo " Build edje_inspector.........: $have_edje_inspector"
640 echo " Build edje_external_inspector: $have_edje_external_inspector"
641 echo " Build edje_watch.............: $have_edje_watch"
643 echo "Compilation............: make (or gmake)"
644 echo " CPPFLAGS.............: $CPPFLAGS"
645 echo " CFLAGS...............: $CFLAGS"
646 echo " LDFLAGS..............: $LDFLAGS"
648 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
649 echo " prefix...............: $prefix"