1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [1])
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_ENABLE_BIN([edje-cc])
100 EFL_ENABLE_BIN([edje-decc])
101 EFL_ENABLE_BIN([edje-recc])
102 EFL_ENABLE_BIN([edje-player])
103 EFL_ENABLE_BIN([edje-inspector])
104 EFL_ENABLE_BIN([edje-external-inspector])
106 # Optional EDJE_PROGRAM_CACHE (use much more ram, but increase speed in some cases)
107 want_edje_program_cache="no"
109 AC_ARG_ENABLE([edje-program-cache],
111 [--enable-edje-program-cache],
112 [enable EDJE_PROGRAM_CACHE support. [[default=disabled]]]
114 [want_edje_program_cache=$enableval]
116 AM_CONDITIONAL([EDJE_PROGRAM_CACHE], [test "x${want_edje_program_cache}" = "xyes"])
118 if test "x${want_edje_program_cache}" = "xyes" ; then
119 AC_DEFINE([EDJE_PROGRAM_CACHE], [1], [Cache result of program glob matches - this uses up extra ram with the gain of faster program matching])
122 # Optional EDJE_CALC_CACHE (use more ram, but increase speed by reducing the need to recalculate static stuff)
123 want_edje_calc_cache="yes"
125 AC_ARG_ENABLE([edje-calc-cache],
127 [--enable-edje-calc-cache],
128 [enable EDJE_CALC_CACHE support. [[default=disabled]]]
130 [want_edje_calc_cache=$enableval]
132 AM_CONDITIONAL([EDJE_CALC_CACHE], [test "x${want_edje_calc_cache}" = "xyes"])
134 if test "x${want_edje_calc_cache}" = "xyes" ; then
135 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])
138 # Enable Fixed Point use
139 want_fixed_point="no"
141 AC_ARG_ENABLE([fixed-point],
143 [--enable-fixed-point],
144 [reduce use of FPU by using Fixed Point provided by Eina and Eet, [[default=disabled]]]
146 [want_fixed_point=$enableval]
148 AM_CONDITIONAL([BUILD_EDJE_FP], [test "x${want_fixed_point}" = "xyes"])
150 if test "x${want_fixed_point}" = "xyes" ; then
151 AC_DEFINE([BUILD_EDJE_FP], [1], [Use Fixed Point instead of FPU])
156 [AC_HELP_STRING([--with-vim=DIR], [Location of Vim data files [[autodetect]]])],
158 if test -d "${withval}"; then
164 if test "x${vimdir}" = "x" ; then
165 if test -d "${prefix}/share/vim"; then
166 vimdir="${prefix}/share/vim"
167 elif test -d "/usr/share/vim"; then
168 vimdir="/usr/share/vim"
169 elif test -d "/usr/local/share/vim"; then
170 vimdir="/usr/local/share/vim"
171 elif test -d "/opt/share/vim"; then
172 vimdir="/opt/share/vim"
178 AC_MSG_CHECKING([for location of Vim data files])
180 if test "${install_vim}" = "yes"; then
181 AC_MSG_RESULT([$vimdir])
183 AC_MSG_RESULT([Not found, EDC syntax file will not be installed])
188 ### Checks for programs
191 # doxygen program for documentation building
193 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
197 AM_PATH_PYTHON([2.5], , [:])
198 AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != : ])
204 # Check whether pkg-config supports Requires.private
206 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
207 pkgconfig_requires_private="Requires.private"
209 pkgconfig_requires_private="Requires"
211 AC_SUBST(pkgconfig_requires_private)
214 ### Checks for libraries
216 # Evil library for compilation on Windows
221 PKG_CHECK_MODULES([EVIL], [evil >= 1.0.0])
222 AC_DEFINE([HAVE_EVIL], [1], [Set to 1 if Evil library is installed])
223 requirement_edje="evil ${requirement_edje}"
224 EFL_EDJE_BUILD="-DEFL_EDJE_BUILD"
227 AC_SUBST(EFL_EDJE_BUILD)
229 # Dependencies for the library
231 # Lua pkg-config hack for different naming conventions
235 PKG_CHECK_MODULES([LUA], [lua >= 5.1.0], requirement_lua="lua",
236 [PKG_CHECK_MODULES([LUA], [lua5.1 >= 5.1.0], requirement_lua="lua5.1",
237 [PKG_CHECK_MODULES([LUA], [lua-5.1 >= 5.1.0], requirement_lua="lua-5.1",
238 [PKG_CHECK_MODULES([LUA], [lua51 >= 5.1.0], requirement_lua="lua51",
239 [have_lua="no"])])])])
241 if test "x${have_lua}" = "xno" ; then
242 AC_MSG_CHECKING([whether lua_newstate() is in liblua])
243 AC_CHECK_LIB([lua], [lua_newstate],
249 AC_MSG_RESULT([${have_lua}])
253 if test "x${have_lua}" = "xno" ; then
254 AC_MSG_ERROR([Cannot find lua library. Be sure that you have installed it and set CFLAGS and LDFLAGS correctly])
257 PKG_CHECK_MODULES([MINIMAL],
263 PKG_CHECK_MODULES([EDJE],
274 EDJE_LIBS="${EDJE_LIBS} ${LUA_LIBS} ${lua_libs}"
275 EDJE_CFLAGS="${EDJE_CFLAGS} ${LUA_CFLAGS}"
277 requirement_edje="embryo >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0 ${requirement_edje}"
278 requirement_edje="${requirement_lua} ${requirement_edje}"
281 PKG_CHECK_MODULES([ECORE_IMF],
284 ecore-imf-evas >= 1.1.0
287 AC_DEFINE([HAVE_ECORE_IMF], [1], [Input Method Support for Edje Entry])
289 requirement_edje="ecore-imf-evas >= 1.1.0 ecore-imf >= 1.1.0 ${requirement_edje}"
291 [have_ecore_imf="no"])
293 # Enable Multisense use
294 want_multisense="yes"
295 AC_ARG_ENABLE([multisense],
297 [--enable-multisense],
298 [multisense provides sound. tone and haptic effects support, [[default=disabled]]]
300 [want_multisense=$enableval]
302 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "x${want_multisense}" = "xyes"])
307 AC_ARG_ENABLE([sndfile],
308 [AC_HELP_STRING([--disable-sndfile], [disable sndfile support. @<:@default=detect@:>@])],
309 [want_sndfile=$enableval], [])
311 if test "x${want_multisense}" = "xyes" -a "x$want_sndfile" != "xno"; then
313 PKG_CHECK_MODULES([SNDFILE],
316 AC_DEFINE(HAVE_LIBSNDFILE, 1, [sndfile support for Edje])
318 requirement_edje="sndfile >= 1.0.21 ${requirement_edje}"
320 [have_sndfile="no"; want_multisense="no"]
323 if test "x$want_sndfile" = "xyes" -a "x$have_sndfile" = "xno"; then
324 AC_MSG_ERROR([sndfile support requested, but not found by pkg-config.])
327 AM_CONDITIONAL([HAVE_LIBSNDFILE], [test "x${have_sndfile}" = "xyes"])
332 AC_ARG_ENABLE([remix],
333 [AC_HELP_STRING([--disable-remix], [disable remix support. @<:@default=detect@:>@])],
334 [want_libremix=$enableval], [])
336 if test "x${want_multisense}" = "xyes" -a "x$want_libremix" != "xno"; then
337 PKG_CHECK_MODULES([REMIX],
340 AC_DEFINE(HAVE_LIBREMIX, 1, [remix support for Edje])
342 requirement_edje="remix >= 0.2.4 ${requirement_edje}"
343 AC_DEFINE(__REMIX_PLUGIN__, 1, "Set to REMIX Plugin type")
344 REMIX_PLUGIN_DIR=`pkg-config --variable=libdir remix`"/remix"
345 AC_SUBST(REMIX_PLUGIN_DIR)
346 AC_DEFINE_UNQUOTED(REMIX_PLUGIN_DIR, "$REMIX_PLUGIN_DIR", [Set the remix plugin directory])
348 [have_libremix="no"; want_multisense="no"]
351 if test "x$want_libremix" = "xyes" -a "x$have_libremix" = "xno"; then
352 AC_MSG_ERROR([remix support requested, but not found by pkg-config.])
355 AM_CONDITIONAL([HAVE_LIBREMIX], [test "x${have_libremix}" = "xyes"])
360 AC_ARG_ENABLE([vorbisenc],
361 [AC_HELP_STRING([--disable-vorbis], [disable ogg-vorbis support. @<:@default=detect@:>@])],
362 [want_vorbis=$enableval], [])
364 if test "x${want_multisense}" = "xyes" -a "x$want_vorbis" != "xno"; then
365 PKG_CHECK_MODULES([VORBISENC],
372 AC_DEFINE(HAVE_VORBIS, 1, [vorbis support for Edje])
374 requirement_edje="ogg >= 1.1.4 vorbis >= 1.2.3 vorbisenc >= 1.2.3 ${requirement_edje}"
376 [have_vorbis="no"; want_multisense="no"]
379 if test "x$want_vorbis" = "xyes" -a "x$have_vorbis" = "xno"; then
380 AC_MSG_ERROR([vorbisenc support requested, but not found by pkg-config.])
387 AC_ARG_ENABLE([flac],
388 [AC_HELP_STRING([--disable-alsa], [disable alsa support. @<:@default=detect@:>@])],
389 [want_alsa_lib=$enableval], [])
391 if test "x${want_multisense}" = "xyes" -a "x$want_alsa_lib" != "xno"; then
392 PKG_CHECK_MODULES([ALSA],
397 AC_DEFINE(HAVE_LIBALSA, 1, [ALSA support for Edje])
399 requirement_edje="alsa >= 1.0.21 ${requirement_edje}"
401 [have_alsa_lib="no"; want_multisense="no"]
404 if test "x$want_alsa_lib" = "xyes" -a "x$have_alsa_lib" = "xno"; then
405 AC_MSG_ERROR([alsa support requested, but not found by pkg-config.])
408 AM_CONDITIONAL([HAVE_LIBALSA], [test "x${have_alsa_lib}" = "xyes"])
414 AC_ARG_ENABLE([flac],
415 [AC_HELP_STRING([--disable-flac], [disable flac support. @<:@default=detect@:>@])],
416 [want_flac_lib=$enableval], [])
418 if test "x${want_multisense}" = "xyes" -a "x$want_flac_lib" != "xno"; then
419 PKG_CHECK_MODULES([FLAC],
424 AC_DEFINE(HAVE_LIBFLAC, 1, [flac support for Edje])
426 # disabled because this adds flac include dirs to cflags... and
427 # FLAC has an assert.h in its include dirs that ends up
428 # overriding the system assert.h and thus causes all sorts of
430 #requirement_edje="flac >= 1.2.1 ${requirement_edje}"
432 [have_flac_lib="no"; want_multisense="no"]
434 if test "x$want_flac_lib" = "xyes" -a "x$have_flac_lib" = "xno"; then
435 AC_MSG_ERROR([flac support requested, but not found by pkg-config.])
439 if test "x${want_multisense}" = "xyes" ; then
440 AC_DEFINE([ENABLE_MULTISENSE], [1], [Use Multisense])
443 # Dependencies for the binaries
445 if test "x$have_edje_cc" = "xyes"; then
446 PKG_CHECK_MODULES([EDJE_CC], [ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0])
447 EDJE_CC_LIBS="${EDJE_CC_LIBS} ${LUA_LIBS} ${lua_libs}"
450 AM_CONDITIONAL([BUILD_EPP], [test "x$have_edje_cc" = "xyes"])
452 if test "x$have_edje_decc" = "xyes"; then
453 PKG_CHECK_MODULES([EDJE_DECC], [ecore-file >= 1.1.0 ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eet >= 1.5.0 eina >= 1.1.0])
456 if test "x$have_edje_player" = "xyes"; then
457 PKG_CHECK_MODULES([EDJE_PLAYER], [ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0])
460 if test "x$have_edje_inspector" = "xyes"; then
461 PKG_CHECK_MODULES([EDJE_INSPECTOR], [ecore-evas >= 1.1.0 ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0])
464 if test "x$have_edje_external_inspector" = "xyes"; then
465 PKG_CHECK_MODULES([EDJE_EXTERNAL_INSPECTOR], [ecore >= 1.1.0 evas >= 1.1.0 eina >= 1.1.0])
469 ### Checks for header files
470 AC_CHECK_HEADERS([locale.h sys/resource.h])
478 ### Checks for structures
481 ### Checks for compiler characteristics
490 EDJE_CFLAGS="${EDJE_CFLAGS} -D_WIN32_WCE=0x0420"
493 EDJE_CFLAGS="${EDJE_CFLAGS} -mwin32 -D_WIN32_WCE=0x0420"
498 ### Checks for linker characteristics
500 lt_enable_auto_import=""
503 lt_enable_auto_import="-Wl,--enable-auto-import"
506 AC_SUBST(lt_enable_auto_import)
509 ### Checks for library functions
517 AC_DEFINE([HAVE_REALPATH], [1], [Define to 1 if you have the `realpath' function.])
520 AC_CHECK_FUNCS([realpath])
524 ### Unit tests, coverage and benchmarking
526 EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
528 EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"])
529 EDJE_CFLAGS="${EDJE_CFLAGS} ${EFL_COVERAGE_CFLAGS}"
530 EDJE_LIBS="${EDJE_LIBS} ${EFL_COVERAGE_LIBS}"
531 if test "x$enable_coverage" = "xyes" ; then
532 EDJE_CFLAGS="${EDJE_CFLAGS} ${EFL_DEBUG_CFLAGS}"
538 AC_ARG_ENABLE([build-examples],
539 AC_HELP_STRING([--enable-build-examples],
540 [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@:>@]),
542 if test "x${enableval}" = "xyes" ; then
544 edje_cc=$($PKG_CONFIG --variable=prefix edje)/bin/edje_cc
545 # put in here the dependencies for Edje' examples. They are
546 # meant to be 'real world' usage examples, thus one will be
547 # using higher level libraries on these programs
553 [build_examples="no"])
554 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
556 AC_SUBST(requirement_edje)
563 data/include/Makefile
571 src/modules/alsa_snd_player/Makefile
572 src/modules/eet_snd_reader/Makefile
573 src/modules/multisense_factory/Makefile
576 src/examples/Makefile
580 #####################################################################
586 echo "------------------------------------------------------------------------"
587 echo "$PACKAGE $VERSION"
588 echo "------------------------------------------------------------------------"
590 echo "Configuration Options Summary:"
592 echo " Amalgamation.........: ${do_amalgamation}"
593 echo " Ecore IMF............: $have_ecore_imf"
594 echo " Multisense...........: $want_multisense"
596 if test "x${want_multisense}" = "xyes" ; then
597 echo " LibRemix.............: $have_libremix"
598 echo " Libsndfile...........: $have_sndfile"
599 echo " Ogg/Vorbis...........: $have_vorbis"
600 echo " LibFLAC..............: $have_flac_lib"
601 echo " LibALSA..............: $have_alsa_lib"
604 echo " EDJE_PROGRAM_CACHE...: $want_edje_program_cache"
605 echo " EDJE_CALC_CACHE......: $want_edje_calc_cache"
606 echo " Fixed point..........: $want_fixed_point"
607 echo " Documentation........: ${build_doc}"
608 echo " Tests................: ${enable_tests}"
609 echo " Coverage.............: ${enable_coverage}"
610 echo " Examples.............: install:${install_examples} build:${build_examples}"
614 echo " Build edje_cc................: $have_edje_cc"
615 echo " Build edje_decc..............: $have_edje_decc"
616 echo " Build edje_recc..............: $have_edje_recc"
617 echo " Build edje_player............: $have_edje_player"
618 echo " Build edje_inspector.........: $have_edje_inspector"
619 echo " Build edje_external_inspector: $have_edje_external_inspector"
621 echo "Compilation............: make (or gmake)"
622 echo " CPPFLAGS.............: $CPPFLAGS"
623 echo " CFLAGS...............: $CFLAGS"
624 echo " LDFLAGS..............: $LDFLAGS"
626 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
627 echo " prefix...............: $prefix"