update for beta release
[framework/uifw/e17.git] / configure.ac
1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [0])
4 m4_define([v_min], [16])
5 m4_define([v_mic], [999])
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-08])
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])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
15 m4_define([lt_rev], m4_eval(v_maj + v_min))
16 m4_define([lt_cur], v_mic)
17 m4_define([lt_age], v_min)
18 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
19 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
20
21 AC_INIT([enlightenment], [v_ver], [enlightenment-devel@lists.sourceforge.net])
22 AC_PREREQ([2.52])
23 AC_CONFIG_SRCDIR([configure.ac])
24 AC_CONFIG_MACRO_DIR([m4])
25 AC_CANONICAL_BUILD
26 AC_CANONICAL_HOST
27 AC_ISC_POSIX
28
29 AC_CONFIG_HEADERS([config.h])
30 AH_TOP([
31 #ifndef EFL_CONFIG_H__
32 #define EFL_CONFIG_H__
33 ])
34 AH_BOTTOM([
35 #endif /* EFL_CONFIG_H__ */
36 ])
37
38 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
39 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
40
41 AC_GNU_SOURCE
42 AC_C_BIGENDIAN
43 AC_PROG_CC_C99
44 AM_PROG_CC_C_O
45 AC_C_CONST
46 AC_FUNC_ALLOCA
47 AC_C___ATTRIBUTE__
48
49 define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])
50 define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])
51 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])
52 AC_DISABLE_STATIC
53 AC_PROG_LIBTOOL
54
55 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
56 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
57 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
58 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
59 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
60 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
61 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
62 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
63 version_info="lt_rev:lt_cur:lt_age"
64 release_info="v_rel"
65 AC_SUBST(version_info)
66 AC_SUBST(release_info)
67 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
68 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
69
70 release=relname
71 AC_SUBST(release)
72
73 PKG_PROG_PKG_CONFIG
74
75 EFL_CHECK_PATH_MAX
76
77 AC_CHECK_FUNCS(setenv)
78 AC_CHECK_FUNCS(unsetenv)
79
80 AC_CHECK_HEADERS(X11/extensions/shape.h,, AC_MSG_ERROR([Cannot find X11/extensions/shape.h. Make sure your CFLAGS environment variable contains include lines for the location of this file]))
81
82 AC_CHECK_HEADERS(fnmatch.h,, AC_MSG_ERROR([Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file]))
83
84 AC_CHECK_FUNCS(fnmatch, res=yes, res=no)
85 if test "x$res" = "xno"; then
86   AC_CHECK_LIB(fnmatch, fnmatch, res=yes, res=no)
87   if test "x$res" = "xno"; then
88     AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch])
89   else
90     fnmatch_libs="-lfnmatch"
91   fi
92 fi
93
94 AC_SUBST(fnmatch_libs)
95
96 have_pam=no
97 AC_ARG_ENABLE(pam,
98   AC_HELP_STRING([--enable-pam], [enable PAM support @<:@default=detect@:>@]),
99   [want_pam=$enableval],
100   [want_pam=auto]
101 )
102 if test "x$want_pam" != "xno" ; then
103   AC_CHECK_HEADERS(security/pam_appl.h, [
104     LIBS="$LIBS -lpam"
105     have_pam=yes
106     AC_DEFINE(HAVE_PAM, 1, [PAM Authentication Support])])
107     if test "x$want_pam$have_pam" = "xyesno" ; then
108       AC_MSG_ERROR([PAM support was requested but not found])
109     fi
110 fi
111
112 dnl AC_E_CHECK_PKG(VALGRIND, [valgrind >= 2.4.0], [], [:])
113 AC_SUBST(VALGRIND_CFLAGS)
114 AC_SUBST(VALGRIND_LIBS)
115
116 MODULE_ARCH="$host_os-$host_cpu-relname"
117 AC_SUBST(MODULE_ARCH)
118 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
119
120 if test "x${bindir}" = 'xNONE'; then
121   if test "x${prefix}" = "xNONE"; then
122     PACKAGE_BIN_DIR="${ac_default_prefix}/bin"
123   else
124     PACKAGE_BIN_DIR="${prefix}/bin"
125   fi
126 else
127   PACKAGE_BIN_DIR="${bindir}"
128 fi
129 AC_SUBST(PACKAGE_BIN_DIR)
130
131 if test "x${libdir}" = 'xNONE'; then
132   if test "x${prefix}" = "xNONE"; then
133     PACKAGE_LIB_DIR="${ac_default_prefix}/lib"
134   else
135     PACKAGE_LIB_DIR="${prefix}/lib"
136   fi
137 else
138   PACKAGE_LIB_DIR="${libdir}"
139 fi
140 AC_SUBST(PACKAGE_LIB_DIR)
141
142 if test "x${prefix}" = "xNONE"; then
143   PACKAGE_DATA_DIR="${ac_default_prefix}/share/${PACKAGE}"
144   LOCALE_DIR="${ac_default_prefix}/share/locale"
145   PACKAGE_SYSCONF_DIR="${ac_default_prefix}/etc"
146 else
147   PACKAGE_DATA_DIR="${prefix}/share/${PACKAGE}"
148   LOCALE_DIR="${prefix}/share/locale"
149   PACKAGE_SYSCONF_DIR="${sysconfdir}"
150 fi
151 AC_SUBST(PACKAGE_DATA_DIR)
152 AC_SUBST(LOCALE_DIR)
153 AC_SUBST(PACKAGE_SYSCONF_DIR)
154
155 #######################################
156 ## Simple X11 build/link
157
158 AC_ARG_ENABLE(simple-x11,
159   AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
160   [ want_evas_simple_x11=$enableval ]
161 )
162     
163 x_dir=""
164 x_cflags=""
165 x_libs=""
166 AC_PATH_XTRA
167 AC_CHECK_HEADER(X11/X.h,
168   [
169     if test "x$want_evas_simple_x11" = "xyes"; then
170       x_libs="${x_libs} -lX11 -lXext"
171     else
172       x_dir=${x_dir:-/usr/X11R6}
173       x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
174       x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
175     fi
176   ],[
177     AC_MSG_ERROR([Cannot find X headers and libraries.])
178   ]
179 )
180 AC_SUBST(x_cflags)
181 AC_SUBST(x_libs)
182
183 cf_cflags=""
184 cf_libs=""
185 PCPPFLAGS="${CPPFLAGS}"
186 CPPFLAGS="${CPPFLAGS} -I /System/Library/Frameworks/CoreFoundation.framework/Headers"
187 AC_CHECK_HEADERS(CFBase.h,
188   [
189     cf_cflags="-I /System/Library/Frameworks/CoreFoundation.framework/Headers"
190     cf_cflags="${cf_cflags} -I /System/Library/Frameworks/IOKit.framework/Headers"
191     cf_libs="-framework 'CoreFoundation' -framework 'IOKit'"
192   ]
193 )
194 CPPFLAGS="${PCPPFLAGS}"
195 AC_SUBST(cf_cflags)
196 AC_SUBST(cf_libs)
197
198
199 execinfo_libs=""
200 AC_CHECK_HEADERS([execinfo.h], [have_execinfo="yes"], [have_execinfo="no"])
201 if test "x${have_execinfo}" = "xyes" ; then
202   AC_MSG_CHECKING([whether backtrace_symbols_fd() is in libc])
203
204   AC_LINK_IFELSE(
205     [AC_LANG_PROGRAM(
206       [[
207 #include <stdlib.h>
208 #include <execinfo.h>
209       ]],
210       [[
211 backtrace_symbols_fd(NULL, 0, 0);
212       ]])],
213     [link_execinfo="yes"],
214     [link_execinfo="no"])
215
216   AC_MSG_RESULT([${link_execinfo}])
217 fi
218
219 if test "x${link_execinfo}" = "xno" ; then
220   AC_MSG_CHECKING([whether backtrace_symbols_fd() is in libexecinfo])
221
222   LDFLAGS_save="${LDFLAGS}"
223   LDFLAGS="${LDFLAGS} -lexecinfo"
224   AC_LINK_IFELSE(
225     [AC_LANG_PROGRAM(
226       [[
227 #include <stdlib.h>
228 #include <execinfo.h>
229       ]],
230       [[
231 backtrace_symbols_fd(NULL, 0, 0);
232       ]])],
233     [
234       link_execinfo="yes"
235       execinfo_libs="-lexecinfo"
236     ],
237     [link_execinfo="no"])
238   LDFLAGS="${LDFLAGS_save}"
239
240   AC_MSG_RESULT([${link_execinfo}])
241 fi
242
243 dnl if test "x${link_execinfo}" = "xno" ; then
244 dnl   AC_MSG_ERROR([Cannot use backtrace_symbols_fd()])
245 dnl fi
246
247
248 #ALL_LINGUAS="bg de eo es fi fr ja pl pt ru zh_CN hu sl it cs da sk sv nb nl zh_TW ko"
249 #ALL_LINGUAS="bg de eo es fi fr ja pt ru zh_CN hu sl it cs da sk sv nb nl zh_TW"
250 # a lot of .po's are broken
251 ALL_LINGUAS="bg ca cs da de el eo es fi fr fr_CH he hu it ja ko nb nl pl pt_BR ru sk sl sv tr zh_CN zh_TW"
252 AC_SUBST(ALL_LINGUAS)
253
254 m4_ifdef([AM_GNU_GETTEXT_VERSION], [
255 AM_GNU_GETTEXT_VERSION([0.17])
256 ])
257
258 m4_ifdef([AM_GNU_GETTEXT], [
259 AM_GNU_GETTEXT([external])
260 po_makefile_in=po/Makefile.in
261 AM_CONDITIONAL([HAVE_PO], [true])
262 ],[
263 AM_CONDITIONAL([HAVE_PO], [false])
264 ])
265 AC_SUBST(LTLIBINTL)
266 if test "x$LIBINTL" = "x"; then
267   LIBINTL="$INTLLIBS"
268 fi
269
270 AC_CHECK_LIB(dl, dlopen, dlopen_libs=-ldl)
271 AC_SUBST(dlopen_libs)
272
273 AC_MSG_CHECKING([whether to install sysactions.conf])
274 AC_ARG_ENABLE([install-sysactions],
275   AS_HELP_STRING([--disable-install-sysactions],[disable installing /etc/enlightenment/sysactions.conf @<:@default=enabled@:>@]),
276     [e_cv_enable_install_sysactions=$enableval],
277     AC_CACHE_VAL([e_cv_enable_install_sysactions], [e_cv_enable_install_sysactions=yes]))
278 AC_MSG_RESULT([$e_cv_enable_install_sysactions])
279 AM_CONDITIONAL(INSTALL_SYSACTIONS, test x${e_cv_enable_install_sysactions} = xyes)
280
281 AC_MSG_CHECKING([whether to install enlightenment.menu])
282 AC_ARG_ENABLE([install-enlightenment-menu],
283   AS_HELP_STRING([--disable-enlightenment-menu],[disable installing /etc/xdg/menus/enlightenment.menu @<:@default=enabled@:>@]),
284     [e_cv_enable_install_enlightenment_menu=$enableval],
285     AC_CACHE_VAL([e_cv_enable_install_enlightenment_menu], [e_cv_enable_install_enlightenment_menu=yes]))
286 AC_MSG_RESULT([$e_cv_enable_install_enlightenment_menu])
287 AM_CONDITIONAL(INSTALL_ENLIGHTENMENT_MENU, test x${e_cv_enable_install_enlightenment_menu} = xyes)
288
289 AC_MSG_CHECKING([whether to enable Files menu item])
290 AC_ARG_ENABLE([files],
291   AS_HELP_STRING([--disable-files],[disable Files menu item @<:@default=enabled@:>@]),
292     [e_cv_enable_files=$enableval],
293     AC_CACHE_VAL([e_cv_enable_files], [e_cv_enable_files=yes]))
294 if test "[${e_cv_enable_files}]" = yes; then
295   AC_DEFINE_UNQUOTED([ENABLE_FILES],[1],[enable Files menu item])
296 fi
297 AC_MSG_RESULT([$e_cv_enable_files])
298
299 AC_MSG_CHECKING([which device backend to use])
300 AC_ARG_ENABLE([device-hal],
301   AS_HELP_STRING([--enable-device-hal],[enable hal device backend @<:@default=disabled@:>@]),
302   [e_cv_want_device_hal=$enableval]
303   AC_CACHE_VAL([e_cv_want_device_hal], [e_cv_want_device_hal=no]))
304
305 AC_ARG_ENABLE([device-udev],
306   AS_HELP_STRING([--enable-device-udev],[enable udev device backend @<:@default=enabled@:>@]),
307   [e_cv_want_device_udev=$enableval],
308   AC_CACHE_VAL([e_cv_want_device_udev], [e_cv_want_device_udev=yes]))
309
310 if test "x$e_cv_want_device_udev" != "xno";then
311   PKG_CHECK_EXISTS([eeze >= 1.0.0],
312     [
313       device_backend=eeze
314       AC_DEFINE_UNQUOTED([HAVE_EEZE],[1],[enable udev support])
315     ],[device_backend=ehal])
316 else
317   device_backend=ehal
318 fi
319 AC_MSG_RESULT($device_backend)
320 AM_CONDITIONAL([HAVE_EEZE], [test "x${device_backend}" = "xeeze"])
321 test "x${device_backend}" = "xeeze" || AC_DEFINE_UNQUOTED([HAVE_HAL],[1],[enable HAL support])
322
323
324 DBUS_MOUNT_CONFIG=1
325 dbus_mount="dbus-1"
326 hal_mount="ehal >= 1.0.0, edbus >= 1.0.0"
327 udisks_mount="eukit >= 1.0.0"
328 AC_ARG_ENABLE([mount-hal],
329   AS_HELP_STRING([--enable-mount-hal],[enable hal mounting support @<:@default=enabled@:>@]),
330   [e_cv_want_mount_hal=$enableval],
331   AC_CACHE_VAL([e_cv_want_mount_hal], [e_cv_want_mount_hal=yes]))
332
333 # added by doyoun.kang 110121
334 e_cv_want_mount_hal=no
335
336 if test "x$e_cv_want_mount_hal" != "xno";then
337   PKG_CHECK_EXISTS([ehal >= 1.0.0],
338     [],[
339       hal_mount=
340       AC_MSG_NOTICE([HAL mounting disabled])
341     ])
342 else
343   hal_mount=
344   AC_MSG_NOTICE([HAL mounting disabled])
345 fi
346
347 AC_ARG_ENABLE([mount-udisks],
348   AS_HELP_STRING([--enable-mount-udisks],[enable udisks mounting support @<:@default=enabled@:>@]),
349   [e_cv_want_mount_udisks=$enableval],
350   AC_CACHE_VAL([e_cv_want_mount_udisks], [e_cv_want_mount_udisks=yes]))
351 if test "x$e_cv_want_mount_udisks" != "xno";then
352   PKG_CHECK_EXISTS([eukit >= 1.0.0],
353     [],[
354       udisks_mount=
355       AC_MSG_NOTICE([udisks mounting disabled])
356     ])
357 else
358   udisks_mount=
359   AC_MSG_NOTICE([udisks mounting disabled])
360 fi
361
362
363 if test "x${e_cv_want_mount_udisks}" = "xno" && test "x${e_cv_want_mount_hal}" = "xno" ; then
364   DBUS_MOUNT_CONFIG=0
365   dbus_mount=
366   test "x${e_cv_want_mount_udisks}" = "xno" && udisks_mount=
367   test "x${e_cv_want_mount_hal}" = "xno" && hal_mount=
368 fi
369
370 AC_ARG_ENABLE([mount-eeze],
371   AS_HELP_STRING([--enable-mount-eeze],[enable eeze mounting support @<:@default=enabled@:>@]),
372   [e_cv_want_mount_eeze=$enableval],
373   AC_CACHE_VAL([e_cv_want_mount_eeze], [e_cv_want_mount_eeze=yes]))
374
375 eeze_mount=
376 EEZE_MOUNT_CONFIG=0
377 if test "x$e_cv_want_mount_eeze" != "xno" ; then
378       AC_CHECK_LIB([eeze], [eeze_disk_function],
379         [
380            eeze_mount="eeze >= 1.0.0 ecore-con >= 1.0.0"
381            EEZE_MOUNT_CONFIG=1
382            AC_DEFINE_UNQUOTED([HAVE_EEZE_MOUNT], [1], [enable eeze mounting])
383            AC_MSG_NOTICE([eeze mounting enabled])
384         ],
385         [
386            AC_MSG_NOTICE([eeze mounting disabled])
387            e_cv_want_mount_eeze=no
388         ]
389       )
390 else
391   AC_MSG_NOTICE([eeze mounting disabled])
392 fi
393
394 AC_SUBST([EEZE_MOUNT_CONFIG])
395 AC_SUBST([DBUS_MOUNT_CONFIG])
396 AM_CONDITIONAL([HAVE_HAL_MOUNT], [test -n "$hal_mount"])
397 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [false])
398 test -n "$hal_mount" && AC_DEFINE_UNQUOTED([HAVE_HAL_MOUNT], [1], [enable HAL mounting])
399 test -n "$udisks_mount" && AC_DEFINE_UNQUOTED([HAVE_UDISKS_MOUNT], [1], [enable Udisks mounting])
400 AM_CONDITIONAL([HAVE_UDISKS_MOUNT], [test -n "$udisks_mount"])
401 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test -n "$eeze_mount"])
402
403 # doxygen program for documentation building
404
405 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
406
407 # explicit libs for each binary to reduce linkage requirements
408 PKG_CHECK_MODULES(E_REMOTE, [
409   ecore >= 1.0.0
410   ecore-ipc >= 1.0.0
411   eet >= 1.4.0
412   eina >= 1.0.0
413 ])
414
415 PKG_CHECK_MODULES(E_START, [
416   eina >= 1.0.0
417 ])
418
419 PKG_CHECK_MODULES(E_IMC, [
420   ecore-file >= 1.0.0
421   eet >= 1.4.0
422   eina >= 1.0.0
423 ])
424
425 PKG_CHECK_MODULES(E_THUMB, [
426   eina >= 1.0.0
427   evas >= 1.0.0
428   ecore >= 1.0.0
429   ecore-evas >= 1.0.0
430   edje >= 1.0.0
431   ecore-file >= 1.0.0
432   ecore-ipc >= 1.0.0
433   eet >= 1.4.0
434   efreet >= 1.0.0
435 ])
436
437 efm_requires="\
438 ecore >= 1.0.0 \
439 ecore-file >= 1.0.0 \
440 ecore-ipc >= 1.0.0 \
441 eet >= 1.4.0 \
442 efreet >= 1.0.0 \
443 eina >= 1.0.0"
444 efm_requires+=" $eeze_mount $dbus_mount $hal_mount $udisks_mount"
445
446 PKG_CHECK_MODULES(E_FM, [$efm_requires])
447
448 PKG_CHECK_MODULES(E_FM_OP, [
449   ecore >= 1.0.0
450   ecore-file >= 1.0.0
451   eina >= 1.0.0
452 ])
453
454 PKG_CHECK_MODULES(E_FM_OPEN, [
455   ecore >= 1.0.0
456   ecore-ipc >= 1.0.0
457   ecore-con >= 1.0.0
458   eet >= 1.4.0
459   eina >= 1.0.0
460 ])
461
462 PKG_CHECK_MODULES(E_SYS, [
463   eina >= 1.0.0
464 ])
465
466 PKG_CHECK_MODULES(E_INIT, [
467   evas >= 1.0.0
468   ecore >= 1.0.0
469   ecore-evas >= 1.0.0
470   ecore-x >= 1.0.0
471   edje >= 1.0.0
472   ecore-ipc >= 1.0.0
473   eina >= 1.0.0
474 ])
475
476 PKG_CHECK_MODULES(E, [
477   evas >= 1.0.0
478   ecore >= 1.0.0
479   ecore-x >= 1.0.0
480   ecore-evas >= 1.0.0
481   ecore-input >= 1.0.0
482   ecore-input-evas >= 1.0.0
483   ecore-con >= 1.0.0
484   ecore-ipc >= 1.0.0
485   ecore-file >= 1.0.0
486   eet >= 1.4.0
487   edje >= 1.0.0
488   efreet >= 1.0.0
489   efreet-mime >= 1.0.0
490   efreet-trash >= 1.0.0
491   eina >= 1.0.0
492   dbus-1
493   edbus >= 1.0.0
494   $hal_mount
495   $eeze_mount
496   $udisks_mount
497   $device_backend
498 ])
499 requirements_e="\
500 evas >= 1.0.0 \
501 ecore >= 1.0.0 \
502 ecore-x >= 1.0.0 \
503 ecore-evas >= 1.0.0 \
504 ecore-con >= 1.0.0 \
505 ecore-ipc >= 1.0.0 \
506 ecore-file >= 1.0.0 \
507 eet >= 1.4.0 \
508 edje >= 1.0.0 \
509 efreet >= 1.0.0 \
510 efreet-mime >= 1.0.0 \
511 eina >= 1.0.0 \
512 dbus-1 \
513 edbus >= 1.0.0 \
514 $hal_mount \
515 $udisks_mount \
516 $eeze_mount \
517 $device_backend"
518
519 AC_E_CHECK_PKG(ECORE_IMF, [ ecore-imf >= 1.0.0 ecore-imf-evas >= 1.0.0 ], [], [:])
520
521 e_libs=$E_LIBS" "$LIBINTL" "$fnmatch_libs" "$ECORE_IMF_LIBS" "$execinfo_libs
522 e_cflags="-DUSE_E_CONFIG_H "$E_CFLAGS" "$ECORE_IMF_CFLAGS
523 e_configflags="-DUSE_E_CONFIG_H"
524
525 ####### Added features ##################################################################
526 e_extra_features=" "
527 # not to use enlightenment signal handler - SIGSEGV, SIGILL, SIGFPE, SIGBUS, SIGABRT
528 e_extra_features+="-D_F_DO_NOT_USE_SIG_HANDLER_ "
529 # enable focus policy - set focus to top stack window
530 e_extra_features+="-D_F_FOCUS_WINDOW_IF_TOP_STACK_ "
531 # enable window group raise
532 e_extra_features+="-D_F_WINDOW_GROUP_RAISE_ "
533 # enable notification layer policy - notification layer:240
534 e_extra_features+="-D_F_NOTIFICATION_LAYER_POLICY_ "
535 # enable screen lock / unlock
536 e_extra_features+="-D_F_COMP_SCREEN_LOCK_ "
537 # enable set compositor's input region
538 e_extra_features+="-D_F_COMP_INPUT_REGION_SET_ "
539 # enable window move lock / unlock
540 e_extra_features+="-D_F_COMP_MOVE_LOCK_ "
541
542 have_extra_features=no
543 AC_ARG_ENABLE(extra_features,
544               AC_HELP_STRING([--enable-extra-features], [enable extra features (default: no)]),
545               [have_extra_features=$enableval],
546               [have_extra_features=auto])
547
548 if test "x$have_extra_features" = "xyes" ; then
549   e_cflags+=$e_extra_features
550   e_configflags+=$e_extra_features
551 fi
552 ##########################################################################################
553
554 AC_SUBST(e_libs)
555 AC_SUBST(e_cflags)
556 AC_SUBST(e_configflags)
557 AC_SUBST(requirements_e)
558
559 profile="SLOW_PC"
560 AC_ARG_WITH(profile,
561   AS_HELP_STRING([--with-profile=TARGET_PROFILE], 
562   [specify a target format profile of:
563                                     LOWRES_PDA, MEDIUMRES_PDA, HIRES_PDA, SLOW_PC, MEDIUM_PC, FAST_PC]),
564   [profile=$withval])
565 AC_MSG_NOTICE([Enlightenment build profile set to $profile])
566 EDJE_DEF="-DLOWRES_PDA=1 -DMEDIUMRES_PDA=2 -DHIRES_PDA=3 -DSLOW_PC=4 -DMEDIUM_PC=5 -DFAST_PC=6"
567 EDJE_DEF=$EDJE_DEF" -DE17_PROFILE"=$profile
568 AC_SUBST(EDJE_DEF)
569
570 AC_ARG_WITH(edje-cc,
571 [  --with-edje-cc=PATH              specify a specific path to edje_cc],
572 [
573   v=$withval;
574   edje_cc=$v
575   echo "  Enlightenment edje_cc explicitly set to "$edje_cc;
576 ],[
577   edje_cc=$(pkg-config --variable=prefix edje)/bin/edje_cc
578 ])
579 AC_SUBST(edje_cc)
580
581 PKG_CHECK_MODULES(EET, [eet >= 1.4.0])
582 AC_ARG_WITH(eet-eet,
583 [  --with-eet-eet=PATH              specify a specific path to eet utility],
584 [
585   v=$withval;
586   eet_eet=$v
587   echo "  Enlightenment eet explicitly set to "$eet_eet;
588 ],[
589   eet_eet=$(pkg-config --variable=prefix eet)/bin/eet
590 ])
591 AC_SUBST(eet_eet)
592
593 AC_DEFINE(E_INTERNAL, 1, "This define can be used to wrap internal E stuff, as config.h isn't exported")
594
595 AM_CONDITIONAL(HAVE_BATTERY, false)
596 define([CHECK_MODULE_BATTERY],
597 [
598   AC_E_CHECK_PKG(BATTERY, [ ecore >= 1.0.0 ecore-file >= 1.0.0 ecore-con >= 1.0.0 eina >= 1.0.0 ], [], [BATTERY=false])
599 ])
600
601 have_openbsd="no"
602 BATTERY_LDFLAGS=
603 case "$host_os" in
604   darwin*)
605     BATTERY_LDFLAGS="-framework Foundation -framework IOKit"
606   ;;
607   openbsd*)
608     have_openbsd="yes"
609   ;;
610 esac
611
612 AC_SUBST(BATTERY_LDFLAGS)
613 AM_CONDITIONAL([HAVE_OPENBSD], [test "x${have_openbsd}" = "xyes"])
614
615 AM_CONDITIONAL(HAVE_TEMPERATURE, false)
616 define([CHECK_MODULE_TEMPERATURE],
617 [
618   AC_E_CHECK_PKG(TEMPERATURE, [ ecore >= 1.0.0 ecore-file >= 1.0.0 eina >= 1.0.0 ], [], [TEMPERATURE=false])
619 ])
620
621 have_exchange=no
622 AC_ARG_ENABLE(exchange,
623   AC_HELP_STRING([--disable-exchange], [disable Exchange support @<:@default=detect@:>@]),
624   [want_exchange=$enableval],
625   [want_exchange=auto]
626 )
627
628 AM_CONDITIONAL(HAVE_EXCHANGE, false)
629 define([CHECK_MODULE_CONF_THEME],
630 [
631   if test "x$want_exchange" != "xno" ; then
632     AC_E_CHECK_PKG(EXCHANGE, [exchange], [], [:])
633   else
634     AC_MSG_NOTICE([requested to not use exchange library])
635   fi
636 ])
637
638
639 have_enotify=no
640 AM_CONDITIONAL([HAVE_ENOTIFY], [false])
641 AC_ARG_ENABLE([enotify],
642   AC_HELP_STRING([--disable-enotify], [disable Enotify support @<:@default=detect@:>@]),
643   [e_cv_want_enotify=$enableval],
644   AC_CACHE_VAL([e_cv_want_enotify], [e_cv_want_enotify=yes])
645 )
646 if test "x$e_cv_want_enotify" != "xno" ; then
647   AC_E_CHECK_PKG(ENOTIFY, [ edbus >= 1.0.0 enotify >= 1.0.0 ], 
648   [
649     AC_DEFINE_UNQUOTED([HAVE_ENOTIFY], [1], [enable enotify])
650   ], 
651   [
652     AC_MSG_NOTICE([enotify disabled])
653     e_cv_want_enotify=no
654   ])
655 else
656   AC_MSG_NOTICE([enotify disabled])
657     e_cv_want_enotify=no
658 fi
659 AC_SUBST([ENOTIFY_CFLAGS])
660 AC_SUBST([ENOTIFY_LIBS])
661
662
663 AM_CONDITIONAL(HAVE_ALSA, false)
664 define([CHECK_MODULE_MIXER],
665 [
666   if test "x$enable_alsa" = "x" || test "x$enable_alsa" = "xdefault" || test "x$enable_alsa" = "xyes"; then
667     AC_E_CHECK_PKG(ALSA, [alsa >= 1.0.8],
668     [ SOUND_CFLAGS="$ALSA_CFLAGS -DHAVE_ALSA $SOUND_CFLAGS"
669       SOUND_LIBS="$ALSA_LIBS $SOUND_LDFLAGS"
670     ],
671     [ if test "x$enable_alsa" = "xyes"; then
672         AC_MSG_ERROR([alsa library >= 1.0.8 not found])
673       else
674         AC_MSG_WARN([alsa library development files not present. no alsa support.])
675       fi
676     ])
677   else
678     have_alsa=no
679   fi
680
681   if test "$have_alsa" = "yes"; then
682     AC_DEFINE(HAVE_ALSA, 1, [Define if the ALSA output plugin should be built])
683   else
684     have_alsa=no
685   fi
686 ])
687
688 AC_SUBST(SOUND_CFLAGS)
689 AC_SUBST(SOUND_LIBS)
690
691 AM_CONDITIONAL(HAVE_ECONNMAN, false)
692 define([CHECK_MODULE_CONNMAN],
693 [
694   AC_E_CHECK_PKG(ECONNMAN, [ edbus >= 1.0.0 econnman >= 1.0.0 ], [], [CONNMAN=false])
695 ])
696 AC_SUBST(ECONNMAN_CFLAGS)
697 AC_SUBST(ECONNMAN_LIBS)
698
699 AM_CONDITIONAL(HAVE_EBLUEZ, false)
700 define([CHECK_MODULE_BLUEZ],
701 [
702   AC_E_CHECK_PKG(EBLUEZ, [ edbus >= 1.0.0 ebluez >= 1.0.0 ], [], [BLUEZ=false])
703 ])
704 AC_SUBST(EBLUEZ_CFLAGS)
705 AC_SUBST(EBLUEZ_LIBS)
706
707 AM_CONDITIONAL(HAVE_EOFONO, false)
708 define([CHECK_MODULE_OFONO],
709 [
710   AC_E_CHECK_PKG(EOFONO, [ edbus >= 1.0.0 eofono >= 1.0.0 ], [], [OFONO=false])
711 ])
712 AC_SUBST(EOFONO_CFLAGS)
713 AC_SUBST(EOFONO_LIBS)
714
715
716 AC_E_OPTIONAL_MODULE([ibar], true)
717 AC_E_OPTIONAL_MODULE([dropshadow], true)
718 AC_E_OPTIONAL_MODULE([clock], true)
719 AC_E_OPTIONAL_MODULE([pager], true)
720 AC_E_OPTIONAL_MODULE([battery], true, [CHECK_MODULE_BATTERY])
721 AC_E_OPTIONAL_MODULE([temperature], true, [CHECK_MODULE_TEMPERATURE])
722 AC_E_OPTIONAL_MODULE([notification], true, [CHECK_MODULE_NOTIFICATION])
723 AC_E_OPTIONAL_MODULE([cpufreq], true)
724 AC_E_OPTIONAL_MODULE([ibox], true)
725 AC_E_OPTIONAL_MODULE([start], true)
726 AC_E_OPTIONAL_MODULE([winlist], true)
727 AC_E_OPTIONAL_MODULE([fileman], true)
728 AC_E_OPTIONAL_MODULE([fileman_opinfo], true)
729 AC_E_OPTIONAL_MODULE([wizard], true)
730 AC_E_OPTIONAL_MODULE([conf], true)
731 AC_E_OPTIONAL_MODULE([conf_wallpaper2], true)
732 AC_E_OPTIONAL_MODULE([conf_theme], true, [CHECK_MODULE_CONF_THEME])
733 AC_E_OPTIONAL_MODULE([conf_intl], true)
734 AC_E_OPTIONAL_MODULE([msgbus], true)
735 AC_E_OPTIONAL_MODULE([conf_applications], true)
736 AC_E_OPTIONAL_MODULE([conf_display], true)
737 AC_E_OPTIONAL_MODULE([conf_shelves], true)
738 AC_E_OPTIONAL_MODULE([conf_keybindings], true)
739 AC_E_OPTIONAL_MODULE([conf_edgebindings], true)
740 AC_E_OPTIONAL_MODULE([conf_window_remembers], true)
741 AC_E_OPTIONAL_MODULE([conf_window_manipulation], true)
742 AC_E_OPTIONAL_MODULE([conf_menus], true)
743 AC_E_OPTIONAL_MODULE([conf_dialogs], true)
744 AC_E_OPTIONAL_MODULE([conf_performance], true)
745 AC_E_OPTIONAL_MODULE([conf_paths], true)
746 AC_E_OPTIONAL_MODULE([conf_interaction], true)
747 AC_E_OPTIONAL_MODULE([gadman], true)
748 AC_E_OPTIONAL_MODULE([mixer], true, [CHECK_MODULE_MIXER])
749 AC_E_OPTIONAL_MODULE([connman], true, [CHECK_MODULE_CONNMAN])
750 AC_E_OPTIONAL_MODULE([bluez], true, [CHECK_MODULE_BLUEZ])
751 AC_E_OPTIONAL_MODULE([ofono], true, [CHECK_MODULE_OFONO])
752 AC_E_OPTIONAL_MODULE([illume2], true)
753 AC_E_OPTIONAL_MODULE([syscon], true)
754 AC_E_OPTIONAL_MODULE([everything], true)
755 AC_E_OPTIONAL_MODULE([systray], true)
756 AC_E_OPTIONAL_MODULE([comp], true)
757 AC_E_OPTIONAL_MODULE([shot], true)
758 AC_E_OPTIONAL_MODULE([backlight], true)
759 AC_E_OPTIONAL_MODULE([tasks], true)
760 AC_E_OPTIONAL_MODULE([conf_randr], true)
761
762 SUSPEND=""
763 HIBERNATE=""
764 case "$host_os" in
765    freebsd*|pcbsd*)
766       SUSPEND="acpiconf -s3"
767       AC_MSG_NOTICE([use suspend method: $SUSPEND])
768       AC_SUBST(SUSPEND)
769       HIBERNATE="acpiconf -s4"
770       AC_MSG_NOTICE([use hibernate method: $HIBERNATE])
771       AC_SUBST(HIBERNATE)
772       ;;
773    *)
774       AC_PATH_PROGS([SUSPEND], [sleep.sh pm-suspend],[/etc/acpi/sleep.sh], [/etc/acpi:/sbin:/usr/sbin:$PATH])
775       if test "$SUSPEND" = "/etc/acpi/sleep.sh" ; then
776          SUSPEND="/etc/acpi/sleep.sh force"
777          AC_MSG_NOTICE([use suspend method: $SUSPEND])
778       fi
779
780       AC_PATH_PROGS([HIBERNATE], [hibernate.sh pm-hibernate],[/etc/acpi/hibernate.sh], [/etc/acpi:/sbin:/usr/sbin:$PATH])
781       if test "$HIBERNATE" = "/etc/acpi/hibernate.sh" ; then
782          HIBERNATE="/etc/acpi/hibernate.sh force"
783          AC_MSG_NOTICE([use hibernate method: $HIBERNATE])
784       fi
785       ;;
786 esac
787
788 AC_OUTPUT([
789 Makefile
790 enlightenment.spec
791 enlightenment.pc
792 src/Makefile
793 src/bin/Makefile
794 src/bin/e_fm_shared_types.h
795 src/bin/e_fm/Makefile
796 src/modules/Makefile
797 src/modules/ibar/Makefile
798 src/modules/ibar/module.desktop
799 src/modules/dropshadow/Makefile
800 src/modules/dropshadow/module.desktop
801 src/modules/clock/Makefile
802 src/modules/clock/module.desktop
803 src/modules/pager/Makefile
804 src/modules/pager/module.desktop
805 src/modules/battery/Makefile
806 src/modules/battery/module.desktop
807 src/modules/temperature/Makefile
808 src/modules/temperature/module.desktop
809 src/modules/notification/Makefile
810 src/modules/notification/module.desktop
811 src/modules/cpufreq/Makefile
812 src/modules/cpufreq/module.desktop
813 src/modules/ibox/Makefile
814 src/modules/ibox/module.desktop
815 src/modules/start/Makefile
816 src/modules/start/module.desktop
817 src/modules/winlist/Makefile
818 src/modules/winlist/module.desktop
819 src/modules/fileman/Makefile
820 src/modules/fileman/module.desktop
821 src/modules/fileman_opinfo/Makefile
822 src/modules/fileman_opinfo/module.desktop
823 src/modules/wizard/Makefile
824 src/modules/conf/Makefile
825 src/modules/conf/module.desktop
826 src/modules/conf_wallpaper2/Makefile
827 src/modules/conf_wallpaper2/module.desktop
828 src/modules/conf_theme/Makefile
829 src/modules/conf_theme/module.desktop
830 src/modules/conf_intl/Makefile
831 src/modules/conf_intl/module.desktop
832 src/modules/conf_applications/Makefile
833 src/modules/conf_applications/module.desktop
834 src/modules/conf_display/Makefile
835 src/modules/conf_display/module.desktop
836 src/modules/conf_shelves/Makefile
837 src/modules/conf_shelves/module.desktop
838 src/modules/conf_keybindings/Makefile
839 src/modules/conf_keybindings/module.desktop
840 src/modules/conf_edgebindings/Makefile
841 src/modules/conf_edgebindings/module.desktop
842 src/modules/conf_window_remembers/Makefile
843 src/modules/conf_window_remembers/module.desktop
844 src/modules/conf_window_manipulation/Makefile
845 src/modules/conf_window_manipulation/module.desktop
846 src/modules/conf_menus/Makefile
847 src/modules/conf_menus/module.desktop
848 src/modules/conf_dialogs/Makefile
849 src/modules/conf_dialogs/module.desktop
850 src/modules/conf_performance/Makefile
851 src/modules/conf_performance/module.desktop
852 src/modules/conf_paths/Makefile
853 src/modules/conf_paths/module.desktop
854 src/modules/conf_interaction/Makefile
855 src/modules/conf_interaction/module.desktop
856 src/modules/msgbus/Makefile
857 src/modules/msgbus/module.desktop
858 src/modules/conf_randr/Makefile
859 src/modules/conf_randr/module.desktop
860 src/modules/gadman/Makefile
861 src/modules/gadman/module.desktop
862 src/modules/mixer/Makefile
863 src/modules/mixer/module.desktop
864 src/modules/connman/Makefile
865 src/modules/connman/module.desktop
866 src/modules/bluez/Makefile
867 src/modules/bluez/module.desktop
868 src/modules/ofono/Makefile
869 src/modules/ofono/module.desktop
870 src/modules/illume2/Makefile
871 src/modules/illume2/doc/illume.dox
872 src/modules/illume2/doc/Makefile
873 src/modules/illume2/images/Makefile
874 src/modules/illume2/module.desktop
875 src/modules/illume2/keyboards/Makefile
876 src/modules/illume2/policies/Makefile
877 src/modules/illume2/policies/illume/Makefile
878 src/modules/illume2/policies/tablet/Makefile
879 src/modules/illume-home/Makefile
880 src/modules/illume-home/module.desktop
881 src/modules/illume-home-toggle/Makefile
882 src/modules/illume-home-toggle/module.desktop
883 src/modules/illume-softkey/Makefile
884 src/modules/illume-softkey/module.desktop
885 src/modules/illume-softkey/images/Makefile
886 src/modules/illume-keyboard/Makefile
887 src/modules/illume-keyboard/module.desktop
888 src/modules/illume-keyboard/keyboards/Makefile
889 src/modules/illume-keyboard/dicts/Makefile
890 src/modules/illume-keyboard/images/Makefile
891 src/modules/illume-indicator/Makefile
892 src/modules/illume-indicator/module.desktop
893 src/modules/illume-indicator/images/Makefile
894 src/modules/illume-kbd-toggle/Makefile
895 src/modules/illume-kbd-toggle/module.desktop
896 src/modules/illume-mode-toggle/Makefile
897 src/modules/illume-mode-toggle/module.desktop
898 src/modules/illume-bluetooth/Makefile
899 src/modules/illume-bluetooth/module.desktop
900 src/modules/syscon/Makefile
901 src/modules/syscon/module.desktop
902 src/modules/everything/Makefile
903 src/modules/everything/module.desktop
904 src/modules/everything/everything.pc
905 src/modules/systray/Makefile
906 src/modules/systray/module.desktop
907 src/modules/comp/Makefile
908 src/modules/comp/module.desktop
909 src/modules/shot/Makefile
910 src/modules/shot/module.desktop
911 src/modules/backlight/Makefile
912 src/modules/backlight/module.desktop
913 src/modules/tasks/Makefile
914 src/modules/tasks/module.desktop
915 src/preload/Makefile
916 data/Makefile
917 data/images/Makefile
918 data/input_methods/Makefile
919 data/themes/Makefile
920 data/themes/images/Makefile
921 data/xsession/Makefile
922 data/xsession/enlightenment.desktop
923 data/tools/Makefile
924 data/etc/Makefile
925 data/etc/sysactions.conf
926 data/icons/Makefile
927 data/backgrounds/Makefile
928 doc/Makefile
929 doc/Doxyfile
930 doc/e.dox
931 config/Makefile
932 config/default/Makefile
933 config/samsung/Makefile
934 $po_makefile_in
935 ])
936
937 # report
938 txt_strip() {
939   echo "[$]@" | sed -e 's/^[[ \t]]*\([[^ \t]]*\)[[ \t]]*$/\1/g'
940 }
941
942 echo
943 cat << SUMMARY_EOF
944 Summary:
945  * project.........: $PACKAGE $VERSION
946  * prefix..........: $(txt_strip $prefix)
947  * CFLAGS..........: $(txt_strip $CFLAGS)
948  * LDFLAGS.........: $(txt_strip $LDFLAGS)
949 SUMMARY_EOF
950 echo
951 cat << DEVICE_EOF
952 Preferred Backends:
953  * device..........: $device_backend
954  * hal_mount...........: $((test x$e_cv_want_mount_hal != xno) && echo enabled)
955  * udisks_mount........: $((test x$e_cv_want_mount_udisks != xno) && echo enabled)
956  * eeze_mount..........: $((test x$e_cv_want_mount_eeze != xno) && echo enabled)
957 DEVICE_EOF
958 echo
959
960 UNUSED_MODS=""
961 for mod in $UNUSED_OPTIONAL_MODULES; do
962   UNUSED_MODS="$UNUSED_MODS${COLOR_HRED}$mod${COLOR_END} "
963 done
964
965 cat << MODULES_EOF
966 Modules:
967  * disabled........: $(txt_strip $UNUSED_MODS)
968 MODULES_EOF
969 echo
970
971 cat << DOCS_EOF
972 Documentation:
973  * enabled.........: ${build_doc}
974 DOCS_EOF
975 if test "x${build_doc}" = "xyes" ; then
976   echo " Building..........: make doc"
977 fi
978 echo
979
980 cat << COMPILE_EOF
981 Compilation........: make (or gmake)
982 COMPILE_EOF
983 echo
984
985 cat << INSTALL_EOF
986 Installation.......: make all install (as root if needed, with 'su' or 'sudo')
987 INSTALL_EOF
988 echo