Migrating source code to RSA from private.
[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\|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 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 dnl 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 have_po="yes"
262 ],[
263 have_po="no"
264 ])
265 AC_SUBST(LTLIBINTL)
266 if test "x$LIBINTL" = "x"; then
267   LIBINTL="$INTLLIBS"
268 fi
269
270 if test "x${POSUB}" = "x" ; then
271    have_po="no"
272 fi
273
274 AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
275
276 AC_CHECK_LIB(dl, dlopen, dlopen_libs=-ldl)
277 AC_SUBST(dlopen_libs)
278
279 AC_MSG_CHECKING([whether to install sysactions.conf])
280 AC_ARG_ENABLE([install-sysactions],
281   AS_HELP_STRING([--disable-install-sysactions],[disable installing /etc/enlightenment/sysactions.conf @<:@default=enabled@:>@]),
282     [e_cv_enable_install_sysactions=$enableval],
283     AC_CACHE_VAL([e_cv_enable_install_sysactions], [e_cv_enable_install_sysactions=yes]))
284 AC_MSG_RESULT([$e_cv_enable_install_sysactions])
285 AM_CONDITIONAL(INSTALL_SYSACTIONS, test x${e_cv_enable_install_sysactions} = xyes)
286
287 AC_MSG_CHECKING([whether to install enlightenment.menu])
288 AC_ARG_ENABLE([install-enlightenment-menu],
289   AS_HELP_STRING([--disable-enlightenment-menu],[disable installing /etc/xdg/menus/enlightenment.menu @<:@default=enabled@:>@]),
290     [e_cv_enable_install_enlightenment_menu=$enableval],
291     AC_CACHE_VAL([e_cv_enable_install_enlightenment_menu], [e_cv_enable_install_enlightenment_menu=yes]))
292 AC_MSG_RESULT([$e_cv_enable_install_enlightenment_menu])
293 AM_CONDITIONAL(INSTALL_ENLIGHTENMENT_MENU, test x${e_cv_enable_install_enlightenment_menu} = xyes)
294
295 AC_MSG_CHECKING([whether to enable Files menu item])
296 AC_ARG_ENABLE([files],
297   AS_HELP_STRING([--disable-files],[disable Files menu item @<:@default=enabled@:>@]),
298     [e_cv_enable_files=$enableval],
299     AC_CACHE_VAL([e_cv_enable_files], [e_cv_enable_files=yes]))
300 if test "[${e_cv_enable_files}]" = yes; then
301   AC_DEFINE_UNQUOTED([ENABLE_FILES],[1],[enable Files menu item])
302 fi
303 AC_MSG_RESULT([$e_cv_enable_files])
304
305 AC_ARG_ENABLE([device-hal],
306   AS_HELP_STRING([--enable-device-hal],[enable hal device backend @<:@default=disabled@:>@]),
307   [e_cv_want_device_hal=$enableval],
308   [e_cv_want_device_hal=no])
309
310 AC_MSG_CHECKING([whether the HAL device backend is enabled])
311 AC_MSG_RESULT([${e_cv_want_device_hal}])
312
313 AC_ARG_ENABLE([device-udev],
314   AS_HELP_STRING([--enable-device-udev],[enable udev device backend @<:@default=enabled@:>@]),
315   [e_cv_want_device_udev=$enableval],
316   [e_cv_want_device_udev=yes])
317
318 AC_MSG_CHECKING([whether the UDEV device backend is enabled])
319 AC_MSG_RESULT([${e_cv_want_device_udev}])
320
321 if test "x$e_cv_want_device_udev" != "xno";then
322   PKG_CHECK_MODULES([EEZE], [eeze >= 1.0.0 ecore >= 1.0.999 eina >= 1.0.999],
323     [
324       device_backend=eeze
325       AC_DEFINE_UNQUOTED([HAVE_EEZE],[1],[enable udev support])
326     ],
327     [device_backend=ehal])
328 else
329   device_backend=ehal
330 fi
331
332 AC_MSG_CHECKING([which device backend to use])
333 AC_MSG_RESULT($device_backend)
334
335 AM_CONDITIONAL([HAVE_EEZE], [test "x${device_backend}" = "xeeze"])
336 test "x${device_backend}" = "xeeze" || AC_DEFINE_UNQUOTED([HAVE_HAL],[1],[enable HAL support])
337
338
339 DBUS_MOUNT_CONFIG=1
340 dbus_mount="dbus-1"
341 hal_mount="ehal >= 1.0.0, edbus >= 1.0.0"
342 udisks_mount="eukit >= 1.0.0"
343 AC_ARG_ENABLE([mount-hal],
344   AS_HELP_STRING([--enable-mount-hal],[enable hal mounting support @<:@default=enabled@:>@]),
345   [e_cv_want_mount_hal=$enableval],
346   [e_cv_want_mount_hal=yes])
347
348 AC_MSG_CHECKING([whether the HAL mounting support is enabled])
349 AC_MSG_RESULT([${e_cv_want_mount_hal}])
350
351 # added by doyoun.kang 110121
352 e_cv_want_mount_hal=no
353
354 if test "x$e_cv_want_mount_hal" != "xno";then
355   PKG_CHECK_EXISTS([ehal >= 1.0.0],
356     [],[
357       hal_mount=
358       AC_MSG_NOTICE([HAL mounting disabled])
359     ])
360 else
361   hal_mount=
362   AC_MSG_NOTICE([HAL mounting disabled])
363 fi
364
365 AC_ARG_ENABLE([mount-udisks],
366   AS_HELP_STRING([--enable-mount-udisks],[enable udisks mounting support @<:@default=enabled@:>@]),
367   [e_cv_want_mount_udisks=$enableval],
368   [e_cv_want_mount_udisks=yes])
369
370 AC_MSG_CHECKING([whether the UDISKS mounting support is enabled])
371 AC_MSG_RESULT([${e_cv_want_mount_udisks}])
372
373 if test "x$e_cv_want_mount_udisks" != "xno";then
374   PKG_CHECK_EXISTS([eukit >= 1.0.0],
375     [],[
376       udisks_mount=
377       AC_MSG_NOTICE([udisks mounting disabled])
378     ])
379 else
380   udisks_mount=
381   AC_MSG_NOTICE([udisks mounting disabled])
382 fi
383
384
385 if test "x${e_cv_want_mount_udisks}" = "xno" && test "x${e_cv_want_mount_hal}" = "xno" ; then
386   DBUS_MOUNT_CONFIG=0
387   dbus_mount=
388   test "x${e_cv_want_mount_udisks}" = "xno" && udisks_mount=
389   test "x${e_cv_want_mount_hal}" = "xno" && hal_mount=
390 fi
391
392 AC_ARG_ENABLE([mount-eeze],
393   AS_HELP_STRING([--enable-mount-eeze],[enable eeze mounting support @<:@default=enabled@:>@]),
394   [e_cv_want_mount_eeze=$enableval],
395   [e_cv_want_mount_eeze=yes])
396
397 AC_MSG_CHECKING([whether the Eeze mounting support is enabled])
398 AC_MSG_RESULT([${e_cv_want_mount_eeze}])
399
400 eeze_mount=
401 EEZE_MOUNT_CONFIG=0
402 if test "x$e_cv_want_mount_eeze" != "xno" ; then
403       CPPFLAGS_save="$CPPFLAGS"
404       LIBS_save="$LIBS"
405       CPPFLAGS="$EEZE_CFLAGS $CPPFLAGS"
406       LIBS="$EEZE_LIBS $LIBS"
407       AC_CHECK_LIB([eeze], [eeze_disk_function],
408         [
409            eeze_mount="eeze >= 1.0.999 ecore-con >= 1.0.999"
410            EEZE_MOUNT_CONFIG=1
411            AC_DEFINE_UNQUOTED([HAVE_EEZE_MOUNT], [1], [enable eeze mounting])
412            AC_MSG_NOTICE([eeze mounting enabled])
413         ],
414         [
415            AC_MSG_NOTICE([eeze mounting disabled])
416            e_cv_want_mount_eeze=no
417         ]
418       )
419       CPPFLAGS="$CPPFLAGS_save"
420       LIBS="$LIBS_save"
421 else
422   AC_MSG_NOTICE([eeze mounting disabled])
423 fi
424
425 AC_SUBST([EEZE_MOUNT_CONFIG])
426 AC_SUBST([DBUS_MOUNT_CONFIG])
427 AM_CONDITIONAL([HAVE_HAL_MOUNT], [test -n "$hal_mount"])
428 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [false])
429 test -n "$hal_mount" && AC_DEFINE_UNQUOTED([HAVE_HAL_MOUNT], [1], [enable HAL mounting])
430 test -n "$udisks_mount" && AC_DEFINE_UNQUOTED([HAVE_UDISKS_MOUNT], [1], [enable Udisks mounting])
431 AM_CONDITIONAL([HAVE_UDISKS_MOUNT], [test -n "$udisks_mount"])
432 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test -n "$eeze_mount"])
433
434 # doxygen program for documentation building
435
436 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
437
438 # explicit libs for each binary to reduce linkage requirements
439 PKG_CHECK_MODULES(E_REMOTE, [
440   ecore >= 1.0.999
441   ecore-ipc >= 1.0.999
442   eet >= 1.4.0
443   eina >= 1.0.999
444 ])
445
446 PKG_CHECK_MODULES(E_START, [
447   eina >= 1.0.999
448 ])
449
450 PKG_CHECK_MODULES(E_IMC, [
451   ecore-file >= 1.0.999
452   eet >= 1.4.0
453   eina >= 1.0.999
454 ])
455
456 PKG_CHECK_MODULES(E_THUMB, [
457   eina >= 1.0.999
458   evas >= 1.0.999
459   ecore >= 1.0.999
460   ecore-evas >= 1.0.999
461   edje >= 1.0.999
462   ecore-file >= 1.0.999
463   ecore-ipc >= 1.0.999
464   eet >= 1.4.0
465   efreet >= 1.0.999
466 ])
467
468 efm_requires="\
469 ecore >= 1.0.999 \
470 ecore-file >= 1.0.999 \
471 ecore-ipc >= 1.0.999 \
472 eet >= 1.4.0 \
473 efreet >= 1.0.999 \
474 edbus >= 1.0.999 \
475 eina >= 1.0.999"
476 efm_requires="$efm_requires $eeze_mount $dbus_mount $hal_mount $udisks_mount"
477
478 PKG_CHECK_MODULES(E_FM, [$efm_requires])
479
480 PKG_CHECK_MODULES(E_FM_OP, [
481   ecore >= 1.0.999
482   ecore-file >= 1.0.999
483   eina >= 1.0.999
484 ])
485
486 PKG_CHECK_MODULES(E_FM_OPEN, [
487   ecore >= 1.0.999
488   ecore-ipc >= 1.0.999
489   ecore-con >= 1.0.999
490   eet >= 1.4.0
491   eina >= 1.0.999
492 ])
493
494 PKG_CHECK_MODULES(E_SYS, [
495   eina >= 1.0.999
496 ])
497
498 PKG_CHECK_MODULES(E_INIT, [
499   evas >= 1.0.999
500   ecore >= 1.0.999
501   ecore-evas >= 1.0.999
502   ecore-x >= 1.0.999
503   edje >= 1.0.999
504   ecore-ipc >= 1.0.999
505   eina >= 1.0.999
506 ])
507
508 #PKG_CHECK_MODULES(E_ALERT, [
509 #  xcb
510 #  xcb-shape
511 #  eina >= 1.0.999
512 #  ecore >= 1.0.999
513 #  ecore-ipc >= 1.0.999
514 #])
515
516 PKG_CHECK_MODULES(E, [
517   evas >= 1.0.999
518   ecore >= 1.0.999
519   ecore-x >= 1.0.999
520   ecore-evas >= 1.0.999
521   ecore-input >= 1.0.999
522   ecore-input-evas >= 1.0.999
523   ecore-con >= 1.0.999
524   ecore-ipc >= 1.0.999
525   ecore-file >= 1.0.999
526   eet >= 1.4.0
527   edje >= 1.0.999
528   efreet >= 1.0.999
529   efreet-mime >= 1.0.999
530   efreet-trash >= 1.0.999
531   eina >= 1.0.999
532   dbus-1
533   edbus >= 1.0.999
534   $hal_mount
535   $eeze_mount
536   $udisks_mount
537   $device_backend
538 ])
539 requirements_e="\
540 evas >= 1.0.999 \
541 ecore >= 1.0.999 \
542 ecore-x >= 1.0.999 \
543 ecore-evas >= 1.0.999 \
544 ecore-con >= 1.0.999 \
545 ecore-ipc >= 1.0.999 \
546 ecore-file >= 1.0.999 \
547 eet >= 1.4.0 \
548 edje >= 1.0.999 \
549 efreet >= 1.0.999 \
550 efreet-mime >= 1.0.999 \
551 eina >= 1.0.999 \
552 dbus-1 \
553 edbus >= 1.0.999 \
554 $hal_mount \
555 $udisks_mount \
556 $eeze_mount \
557 $device_backend"
558
559 AC_E_CHECK_PKG(ECORE_IMF, [ ecore-imf >= 1.0.999 ecore-imf-evas >= 1.0.999 ], [], [:])
560
561 e_libs=$E_LIBS" "$LIBINTL" "$fnmatch_libs" "$ECORE_IMF_LIBS" "$execinfo_libs
562 e_cflags="-DUSE_E_CONFIG_H "$E_CFLAGS" "$ECORE_IMF_CFLAGS
563 e_configflags="-DUSE_E_CONFIG_H"
564
565 ####### Added features ##################################################################
566 e_extra_features=" "
567 # not to use enlightenment signal handler - SIGSEGV, SIGILL, SIGFPE, SIGBUS, SIGABRT
568 e_extra_features+="-D_F_DO_NOT_USE_SIG_HANDLER_ "
569 # enable focus policy - set focus to top stack window
570 e_extra_features+="-D_F_FOCUS_WINDOW_IF_TOP_STACK_ "
571 # enable window group raise
572 e_extra_features+="-D_F_WINDOW_GROUP_RAISE_ "
573 # enable notification layer policy - notification layer:240
574 e_extra_features+="-D_F_NOTIFICATION_LAYER_POLICY_ "
575 # enable screen lock / unlock
576 e_extra_features+="-D_F_COMP_SCREEN_LOCK_ "
577 # enable set compositor's input region
578 e_extra_features+="-D_F_COMP_INPUT_REGION_SET_ "
579 # enable window move lock / unlock
580 e_extra_features+="-D_F_COMP_MOVE_LOCK_ "
581 # enable composite mode set / get
582 e_extra_features+="-D_F_COMP_COMPOSITE_MODE_ "
583 # using external elementary dialog util instead of e_dialog to display error message
584 e_extra_features+="-D_F_USE_EXTN_DIALOG_ "
585
586
587 have_extra_features=no
588 AC_ARG_ENABLE(extra_features,
589               AC_HELP_STRING([--enable-extra-features], [enable extra features (default: no)]),
590               [have_extra_features=$enableval],
591               [have_extra_features=auto])
592
593 if test "x$have_extra_features" = "xyes" ; then
594   e_cflags+=$e_extra_features
595   e_configflags+=$e_extra_features
596 fi
597 ##########################################################################################
598
599 AC_SUBST(e_libs)
600 AC_SUBST(e_cflags)
601 AC_SUBST(e_configflags)
602 AC_SUBST(requirements_e)
603
604 profile="SLOW_PC"
605 AC_ARG_WITH(profile,
606   AS_HELP_STRING([--with-profile=TARGET_PROFILE], 
607   [specify a target format profile of:
608                                     LOWRES_PDA, MEDIUMRES_PDA, HIRES_PDA, SLOW_PC, MEDIUM_PC, FAST_PC]),
609   [profile=$withval])
610 AC_MSG_NOTICE([Enlightenment build profile set to $profile])
611 EDJE_DEF="-DLOWRES_PDA=1 -DMEDIUMRES_PDA=2 -DHIRES_PDA=3 -DSLOW_PC=4 -DMEDIUM_PC=5 -DFAST_PC=6"
612 EDJE_DEF=$EDJE_DEF" -DE17_PROFILE"=$profile
613 AC_SUBST(EDJE_DEF)
614
615 AC_ARG_WITH(edje-cc,
616 [  --with-edje-cc=PATH              specify a specific path to edje_cc],
617 [
618   v=$withval;
619   edje_cc=$v
620   echo "  Enlightenment edje_cc explicitly set to "$edje_cc;
621 ],[
622   edje_cc=$(pkg-config --variable=prefix edje)/bin/edje_cc
623 ])
624 AC_SUBST(edje_cc)
625
626 PKG_CHECK_MODULES(EET, [eet >= 1.4.0])
627 AC_ARG_WITH(eet-eet,
628 [  --with-eet-eet=PATH              specify a specific path to eet utility],
629 [
630   v=$withval;
631   eet_eet=$v
632   echo "  Enlightenment eet explicitly set to "$eet_eet;
633 ],[
634   eet_eet=$(pkg-config --variable=prefix eet)/bin/eet
635 ])
636 AC_SUBST(eet_eet)
637
638 AC_DEFINE(E_INTERNAL, 1, "This define can be used to wrap internal E stuff, as config.h isn't exported")
639
640 AM_CONDITIONAL(HAVE_BATTERY, false)
641 define([CHECK_MODULE_BATTERY],
642 [
643   AC_E_CHECK_PKG(BATTERY, [ ecore >= 1.0.999 ecore-file >= 1.0.999 ecore-con >= 1.0.999 eina >= 1.0.999 ], [], [BATTERY=false])
644 ])
645
646 have_openbsd="no"
647 BATTERY_LDFLAGS=
648 case "$host_os" in
649   darwin*)
650     BATTERY_LDFLAGS="-framework Foundation -framework IOKit"
651   ;;
652   openbsd*)
653     have_openbsd="yes"
654   ;;
655 esac
656
657 AC_SUBST(BATTERY_LDFLAGS)
658 AM_CONDITIONAL([HAVE_OPENBSD], [test "x${have_openbsd}" = "xyes"])
659
660 AM_CONDITIONAL(HAVE_TEMPERATURE, false)
661 define([CHECK_MODULE_TEMPERATURE],
662 [
663   AC_E_CHECK_PKG(TEMPERATURE, [ ecore >= 1.0.999 ecore-file >= 1.0.999 eina >= 1.0.999 ], [], [TEMPERATURE=false])
664 ])
665
666 have_exchange=no
667 AC_ARG_ENABLE(exchange,
668   AC_HELP_STRING([--disable-exchange], [disable Exchange support @<:@default=detect@:>@]),
669   [want_exchange=$enableval],
670   [want_exchange=auto]
671 )
672
673 AM_CONDITIONAL(HAVE_EXCHANGE, false)
674 define([CHECK_MODULE_CONF_THEME],
675 [
676   if test "x$want_exchange" != "xno" ; then
677     AC_E_CHECK_PKG(EXCHANGE, [exchange], [], [:])
678   else
679     AC_MSG_NOTICE([requested to not use exchange library])
680   fi
681 ])
682
683
684 have_enotify=no
685 AM_CONDITIONAL([HAVE_ENOTIFY], [false])
686 AC_ARG_ENABLE([enotify],
687   AC_HELP_STRING([--disable-enotify], [disable Enotify support @<:@default=detect@:>@]),
688   [e_cv_want_enotify=$enableval],
689   AC_CACHE_VAL([e_cv_want_enotify], [e_cv_want_enotify=yes])
690 )
691 if test "x$e_cv_want_enotify" != "xno" ; then
692   AC_E_CHECK_PKG(ENOTIFY, [ edbus >= 1.0.999 enotify >= 1.0.999 ], 
693   [
694     AC_DEFINE_UNQUOTED([HAVE_ENOTIFY], [1], [enable enotify])
695   ], 
696   [
697     AC_MSG_NOTICE([enotify disabled])
698     e_cv_want_enotify=no
699   ])
700 else
701   AC_MSG_NOTICE([enotify disabled])
702     e_cv_want_enotify=no
703 fi
704 AC_SUBST([ENOTIFY_CFLAGS])
705 AC_SUBST([ENOTIFY_LIBS])
706
707 AM_CONDITIONAL(HAVE_NOTIFICATION, false)
708 define([CHECK_MODULE_NOTIFICATION],
709 [
710   if test "x$e_cv_want_enotify" = "xno" ; then
711     NOTIFICATION=false
712   fi
713 ])
714
715 AM_CONDITIONAL(HAVE_ALSA, false)
716 define([CHECK_MODULE_MIXER],
717 [
718   if test "x$enable_alsa" = "x" || test "x$enable_alsa" = "xdefault" || test "x$enable_alsa" = "xyes"; then
719     AC_E_CHECK_PKG(ALSA, [alsa >= 1.0.8],
720     [ SOUND_CFLAGS="$ALSA_CFLAGS -DHAVE_ALSA $SOUND_CFLAGS"
721       SOUND_LIBS="$ALSA_LIBS $SOUND_LDFLAGS"
722     ],
723     [ if test "x$enable_alsa" = "xyes"; then
724         AC_MSG_ERROR([alsa library >= 1.0.8 not found])
725       else
726         AC_MSG_WARN([alsa library development files not present. no alsa support.])
727       fi
728     ])
729   else
730     have_alsa=no
731   fi
732
733   if test "$have_alsa" = "yes"; then
734     AC_DEFINE(HAVE_ALSA, 1, [Define if the ALSA output plugin should be built])
735   else
736     have_alsa=no
737   fi
738 ])
739
740 AC_SUBST(SOUND_CFLAGS)
741 AC_SUBST(SOUND_LIBS)
742
743 AM_CONDITIONAL(HAVE_ECONNMAN, false)
744 define([CHECK_MODULE_CONNMAN],
745 [
746   AC_E_CHECK_PKG(ECONNMAN, [ edbus >= 1.0.999 econnman-0.7x >= 1.0.999 ], [], [CONNMAN=false])
747 ])
748 AC_SUBST(ECONNMAN_CFLAGS)
749 AC_SUBST(ECONNMAN_LIBS)
750
751 AM_CONDITIONAL(HAVE_EBLUEZ, false)
752 define([CHECK_MODULE_BLUEZ],
753 [
754   AC_E_CHECK_PKG(EBLUEZ, [ edbus >= 1.0.999 ebluez >= 1.0.999 ], [], [BLUEZ=false])
755 ])
756 AC_SUBST(EBLUEZ_CFLAGS)
757 AC_SUBST(EBLUEZ_LIBS)
758
759 AM_CONDITIONAL(HAVE_EOFONO, false)
760 define([CHECK_MODULE_OFONO],
761 [
762   AC_E_CHECK_PKG(EOFONO, [ edbus >= 1.0.999 eofono >= 1.0.999 ], [], [OFONO=false])
763 ])
764 AC_SUBST(EOFONO_CFLAGS)
765 AC_SUBST(EOFONO_LIBS)
766
767 have_wayland_clients=no
768 AC_ARG_ENABLE([wayland-clients],
769   AS_HELP_STRING([--enable-wayland-clients],[enable wayland clients in composite module @<:@default=disabled@:>@]),
770   [e_cv_want_wayland_clients=$enableval],
771   [e_cv_want_wayland_clients=no])
772
773 AC_MSG_CHECKING([whether wayland client support is enabled])
774 AC_MSG_RESULT([${e_cv_want_wayland_clients}])
775
776 if test "x$e_cv_want_wayland_clients" != "xno";then
777   PKG_CHECK_MODULES([WAYLAND], [wayland-server egl >= 7.10 glesv2 gl pixman-1 xcb-image],
778     [
779       have_wayland_clients=yes
780       AC_DEFINE_UNQUOTED([HAVE_WAYLAND_CLIENTS],[1],[enable wayland client support])
781     ],
782     [have_wayland_clients=no])
783 else
784   have_wayland_clients=no
785 fi
786
787 AM_CONDITIONAL([HAVE_WAYLAND_CLIENTS], [test "x${have_wayland_clients}" = "xyes"])
788
789
790 AC_E_OPTIONAL_MODULE([ibar], true)
791 AC_E_OPTIONAL_MODULE([dropshadow], true)
792 AC_E_OPTIONAL_MODULE([clock], true)
793 AC_E_OPTIONAL_MODULE([pager], true)
794 AC_E_OPTIONAL_MODULE([battery], true, [CHECK_MODULE_BATTERY])
795 AC_E_OPTIONAL_MODULE([temperature], true, [CHECK_MODULE_TEMPERATURE])
796 AC_E_OPTIONAL_MODULE([notification], true, [CHECK_MODULE_NOTIFICATION])
797 AC_E_OPTIONAL_MODULE([cpufreq], true)
798 AC_E_OPTIONAL_MODULE([ibox], true)
799 AC_E_OPTIONAL_MODULE([start], true)
800 AC_E_OPTIONAL_MODULE([winlist], true)
801 AC_E_OPTIONAL_MODULE([fileman], true)
802 AC_E_OPTIONAL_MODULE([fileman_opinfo], true)
803 AC_E_OPTIONAL_MODULE([wizard], true)
804 AC_E_OPTIONAL_MODULE([conf], true)
805 AC_E_OPTIONAL_MODULE([conf_wallpaper2], true)
806 AC_E_OPTIONAL_MODULE([conf_theme], true, [CHECK_MODULE_CONF_THEME])
807 AC_E_OPTIONAL_MODULE([conf_intl], true)
808 AC_E_OPTIONAL_MODULE([msgbus], true)
809 AC_E_OPTIONAL_MODULE([conf_applications], true)
810 AC_E_OPTIONAL_MODULE([conf_display], true)
811 AC_E_OPTIONAL_MODULE([conf_shelves], true)
812 AC_E_OPTIONAL_MODULE([conf_keybindings], true)
813 AC_E_OPTIONAL_MODULE([conf_edgebindings], true)
814 AC_E_OPTIONAL_MODULE([conf_window_remembers], true)
815 AC_E_OPTIONAL_MODULE([conf_window_manipulation], true)
816 AC_E_OPTIONAL_MODULE([conf_menus], true)
817 AC_E_OPTIONAL_MODULE([conf_dialogs], true)
818 AC_E_OPTIONAL_MODULE([conf_performance], true)
819 AC_E_OPTIONAL_MODULE([conf_paths], true)
820 AC_E_OPTIONAL_MODULE([conf_interaction], true)
821 AC_E_OPTIONAL_MODULE([gadman], true)
822 AC_E_OPTIONAL_MODULE([mixer], true, [CHECK_MODULE_MIXER])
823 AC_E_OPTIONAL_MODULE([connman], true, [CHECK_MODULE_CONNMAN])
824 AC_E_OPTIONAL_MODULE([bluez], true, [CHECK_MODULE_BLUEZ])
825 AC_E_OPTIONAL_MODULE([ofono], true, [CHECK_MODULE_OFONO])
826 AC_E_OPTIONAL_MODULE([illume2], true)
827 AC_E_OPTIONAL_MODULE([syscon], true)
828 AC_E_OPTIONAL_MODULE([everything], true)
829 AC_E_OPTIONAL_MODULE([systray], true)
830 AC_E_OPTIONAL_MODULE([comp], true)
831 AC_E_OPTIONAL_MODULE([shot], true)
832 AC_E_OPTIONAL_MODULE([backlight], true)
833 AC_E_OPTIONAL_MODULE([tasks], true)
834 AC_E_OPTIONAL_MODULE([conf_randr], true)
835
836 SUSPEND=""
837 HIBERNATE=""
838 case "$host_os" in
839    freebsd*|pcbsd*)
840       SUSPEND="acpiconf -s3"
841       AC_MSG_NOTICE([use suspend method: $SUSPEND])
842       AC_SUBST(SUSPEND)
843       HIBERNATE="acpiconf -s4"
844       AC_MSG_NOTICE([use hibernate method: $HIBERNATE])
845       AC_SUBST(HIBERNATE)
846       ;;
847    *)
848       AC_PATH_PROGS([SUSPEND], [sleep.sh pm-suspend],[/etc/acpi/sleep.sh], [/etc/acpi:/sbin:/usr/sbin:$PATH])
849       if test "$SUSPEND" = "/etc/acpi/sleep.sh" ; then
850          SUSPEND="/etc/acpi/sleep.sh force"
851          AC_MSG_NOTICE([use suspend method: $SUSPEND])
852       fi
853
854       AC_PATH_PROGS([HIBERNATE], [hibernate.sh pm-hibernate],[/etc/acpi/hibernate.sh], [/etc/acpi:/sbin:/usr/sbin:$PATH])
855       if test "$HIBERNATE" = "/etc/acpi/hibernate.sh" ; then
856          HIBERNATE="/etc/acpi/hibernate.sh force"
857          AC_MSG_NOTICE([use hibernate method: $HIBERNATE])
858       fi
859       ;;
860 esac
861
862 AC_OUTPUT([
863 Makefile
864 enlightenment.spec
865 enlightenment.pc
866 src/Makefile
867 src/bin/Makefile
868 src/bin/e_fm_shared_types.h
869 src/bin/e_fm/Makefile
870 src/modules/Makefile
871 src/modules/ibar/Makefile
872 src/modules/ibar/module.desktop
873 src/modules/dropshadow/Makefile
874 src/modules/dropshadow/module.desktop
875 src/modules/clock/Makefile
876 src/modules/clock/module.desktop
877 src/modules/pager/Makefile
878 src/modules/pager/module.desktop
879 src/modules/battery/Makefile
880 src/modules/battery/module.desktop
881 src/modules/temperature/Makefile
882 src/modules/temperature/module.desktop
883 src/modules/notification/Makefile
884 src/modules/notification/module.desktop
885 src/modules/cpufreq/Makefile
886 src/modules/cpufreq/module.desktop
887 src/modules/ibox/Makefile
888 src/modules/ibox/module.desktop
889 src/modules/start/Makefile
890 src/modules/start/module.desktop
891 src/modules/winlist/Makefile
892 src/modules/winlist/module.desktop
893 src/modules/fileman/Makefile
894 src/modules/fileman/module.desktop
895 src/modules/fileman_opinfo/Makefile
896 src/modules/fileman_opinfo/module.desktop
897 src/modules/wizard/Makefile
898 src/modules/conf/Makefile
899 src/modules/conf/module.desktop
900 src/modules/conf_wallpaper2/Makefile
901 src/modules/conf_wallpaper2/module.desktop
902 src/modules/conf_theme/Makefile
903 src/modules/conf_theme/module.desktop
904 src/modules/conf_intl/Makefile
905 src/modules/conf_intl/module.desktop
906 src/modules/conf_applications/Makefile
907 src/modules/conf_applications/module.desktop
908 src/modules/conf_display/Makefile
909 src/modules/conf_display/module.desktop
910 src/modules/conf_shelves/Makefile
911 src/modules/conf_shelves/module.desktop
912 src/modules/conf_keybindings/Makefile
913 src/modules/conf_keybindings/module.desktop
914 src/modules/conf_edgebindings/Makefile
915 src/modules/conf_edgebindings/module.desktop
916 src/modules/conf_window_remembers/Makefile
917 src/modules/conf_window_remembers/module.desktop
918 src/modules/conf_window_manipulation/Makefile
919 src/modules/conf_window_manipulation/module.desktop
920 src/modules/conf_menus/Makefile
921 src/modules/conf_menus/module.desktop
922 src/modules/conf_dialogs/Makefile
923 src/modules/conf_dialogs/module.desktop
924 src/modules/conf_performance/Makefile
925 src/modules/conf_performance/module.desktop
926 src/modules/conf_paths/Makefile
927 src/modules/conf_paths/module.desktop
928 src/modules/conf_interaction/Makefile
929 src/modules/conf_interaction/module.desktop
930 src/modules/msgbus/Makefile
931 src/modules/msgbus/module.desktop
932 src/modules/conf_randr/Makefile
933 src/modules/conf_randr/module.desktop
934 src/modules/gadman/Makefile
935 src/modules/gadman/module.desktop
936 src/modules/mixer/Makefile
937 src/modules/mixer/module.desktop
938 src/modules/connman/Makefile
939 src/modules/connman/module.desktop
940 src/modules/bluez/Makefile
941 src/modules/bluez/module.desktop
942 src/modules/ofono/Makefile
943 src/modules/ofono/module.desktop
944 src/modules/illume2/Makefile
945 src/modules/illume2/doc/illume.dox
946 src/modules/illume2/doc/Makefile
947 src/modules/illume2/images/Makefile
948 src/modules/illume2/module.desktop
949 src/modules/illume2/keyboards/Makefile
950 src/modules/illume2/policies/Makefile
951 src/modules/illume2/policies/illume/Makefile
952 src/modules/illume2/policies/tablet/Makefile
953 src/modules/illume-home/Makefile
954 src/modules/illume-home/module.desktop
955 src/modules/illume-home-toggle/Makefile
956 src/modules/illume-home-toggle/module.desktop
957 src/modules/illume-softkey/Makefile
958 src/modules/illume-softkey/module.desktop
959 src/modules/illume-softkey/images/Makefile
960 src/modules/illume-keyboard/Makefile
961 src/modules/illume-keyboard/module.desktop
962 src/modules/illume-keyboard/keyboards/Makefile
963 src/modules/illume-keyboard/dicts/Makefile
964 src/modules/illume-keyboard/images/Makefile
965 src/modules/illume-indicator/Makefile
966 src/modules/illume-indicator/module.desktop
967 src/modules/illume-indicator/images/Makefile
968 src/modules/illume-kbd-toggle/Makefile
969 src/modules/illume-kbd-toggle/module.desktop
970 src/modules/illume-mode-toggle/Makefile
971 src/modules/illume-mode-toggle/module.desktop
972 src/modules/illume-bluetooth/Makefile
973 src/modules/illume-bluetooth/module.desktop
974 src/modules/syscon/Makefile
975 src/modules/syscon/module.desktop
976 src/modules/everything/Makefile
977 src/modules/everything/module.desktop
978 src/modules/everything/everything.pc
979 src/modules/systray/Makefile
980 src/modules/systray/module.desktop
981 src/modules/comp/Makefile
982 src/modules/comp/module.desktop
983 src/modules/shot/Makefile
984 src/modules/shot/module.desktop
985 src/modules/backlight/Makefile
986 src/modules/backlight/module.desktop
987 src/modules/tasks/Makefile
988 src/modules/tasks/module.desktop
989 src/preload/Makefile
990 data/Makefile
991 data/images/Makefile
992 data/input_methods/Makefile
993 data/themes/Makefile
994 data/themes/images/Makefile
995 data/xsession/Makefile
996 data/xsession/enlightenment.desktop
997 data/tools/Makefile
998 data/etc/Makefile
999 data/etc/sysactions.conf
1000 data/icons/Makefile
1001 data/backgrounds/Makefile
1002 doc/Makefile
1003 doc/Doxyfile
1004 doc/e.dox
1005 config/Makefile
1006 config/default/Makefile
1007 config/samsung/Makefile
1008 $po_makefile_in
1009 ])
1010
1011 # report
1012 txt_strip() {
1013   echo "[$]@" | sed -e 's/^[[ \t]]*\([[^ \t]]*\)[[ \t]]*$/\1/g'
1014 }
1015
1016 echo
1017 cat << SUMMARY_EOF
1018 Summary:
1019  * project.........: $PACKAGE $VERSION
1020  * prefix..........: $(txt_strip $prefix)
1021  * CFLAGS..........: $(txt_strip $CFLAGS)
1022  * LDFLAGS.........: $(txt_strip $LDFLAGS)
1023 SUMMARY_EOF
1024 echo
1025 cat << DEVICE_EOF
1026 Preferred Backends:
1027  * device..............: $device_backend
1028  * hal_mount...........: $e_cv_want_mount_hal
1029  * udisks_mount........: $e_cv_want_mount_udisks
1030  * eeze_mount..........: $e_cv_want_mount_eeze
1031 DEVICE_EOF
1032 echo
1033
1034 UNUSED_MODS=""
1035 for mod in $UNUSED_OPTIONAL_MODULES; do
1036   UNUSED_MODS="$UNUSED_MODS${COLOR_HRED}$mod${COLOR_END} "
1037 done
1038
1039 cat << MODULES_EOF
1040 Modules:
1041  * disabled........: $(txt_strip $UNUSED_MODS)
1042 MODULES_EOF
1043 echo
1044
1045 cat << DOCS_EOF
1046 Documentation:
1047  * enabled.........: ${build_doc}
1048 DOCS_EOF
1049 if test "x${build_doc}" = "xyes" ; then
1050   echo " Building..........: make doc"
1051 fi
1052 echo
1053
1054 cat << COMPILE_EOF
1055 Compilation........: make (or gmake)
1056 COMPILE_EOF
1057 echo
1058
1059 cat << INSTALL_EOF
1060 Installation.......: make all install (as root if needed, with 'su' or 'sudo')
1061 INSTALL_EOF
1062 echo