5693e9f93f9d8b6faf2aca63c661414010d1a4d7
[platform/upstream/elementary.git] / configure.ac
1 EFL_VERSION([1], [10], [99], [dev])
2 AC_INIT([elementary], [efl_version], [enlightenment-devel@lists.sourceforge.net])
3
4 AC_PREREQ(2.60)
5 AC_CONFIG_SRCDIR([configure.ac])
6 AC_CONFIG_MACRO_DIR([m4])
7 AC_CANONICAL_BUILD
8 AC_CANONICAL_HOST
9
10 AC_CONFIG_HEADERS([elementary_config.h])
11 AH_TOP([
12 #ifndef EFL_CONFIG_H__
13 #define EFL_CONFIG_H__
14 ])
15 AH_BOTTOM([
16 #endif /* EFL_CONFIG_H__ */
17 ])
18
19 AC_USE_SYSTEM_EXTENSIONS
20
21 AM_INIT_AUTOMAKE([1.6 dist-bzip2 dist-xz])
22 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
23
24 # pkg-config
25 PKG_PROG_PKG_CONFIG
26
27 MODULE_EDJE=`pkg-config --variable=module_arch edje`
28 AC_SUBST(MODULE_EDJE)
29 AC_DEFINE_UNQUOTED(MODULE_EDJE, "$MODULE_EDJE", "Edje module architecture")
30
31 # Needs to be moved into a macro, and also, needs a way to automatically fetch
32 # from all the dependencies using the Requires.
33 DEPS_EOLIAN_FLAGS=`pkg-config --variable=eolian_flags eo evas edje ecore`
34 AC_SUBST(DEPS_EOLIAN_FLAGS)
35
36 ELM_UNIX_DEF="#undef"
37 ELM_WIN32_DEF="#undef"
38 have_windows="no"
39 have_dlopen="no"
40 case "$host_os" in
41    mingw*)
42       PKG_CHECK_MODULES([EVIL], [evil])
43       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed.])
44       ELM_WIN32_DEF="#define"
45       have_windows="yes"
46 dnl managed by evil
47       AC_DEFINE(HAVE_DLADDR)
48       have_dlopen="yes"
49       dlopen_libs=-ldl
50       requirement_elm="evil"
51       have_socket="no"
52       ;;
53    *solaris*)
54       ELM_UNIX_DEF="#define"
55       have_socket="yes"
56       have_dlopen="yes"
57       AC_CHECK_LIB([socket], [connect], [], [have_socket="no"])
58       ;;
59    darwin*)
60       ELM_UNIX_DEF="#define"
61       have_socket="yes"
62       have_dlopen="yes"
63       AC_CHECK_HEADERS([crt_externs.h])
64       AC_DEFINE([environ], [(*_NSGetEnviron())], ["apple doesn't follow POSIX in this case."])
65       ;;
66    *)
67       ELM_UNIX_DEF="#define"
68       AC_CHECK_FUNCS(dlopen, res=yes, res=no)
69       if test "x$res" = "xyes"; then
70         AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
71         have_dlopen="yes"
72       else
73         AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
74         AC_CHECK_LIB(m, sincos)
75         if test "x$res" = "xyes"; then
76           AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
77           dlopen_libs=-ldl
78           have_dlopen="yes"
79         fi
80       fi
81       have_socket="yes"
82       ;;
83 esac
84 AM_CONDITIONAL([BUILD_RUN], [test "x$have_socket" = "xyes"])
85 AM_CONDITIONAL([BUILD_MODULES], [test "x$have_dlopen" = "xyes"])
86
87 m4_ifdef([v_mic],
88    [
89     EFL_COMPILER_FLAG([-Wshadow])
90     EFL_COMPILER_FLAG([-Wall])
91     EFL_COMPILER_FLAG([-W])
92    ])
93
94 AC_LIBTOOL_WIN32_DLL
95 define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
96 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
97 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
98 LT_INIT([win32-dll disable-static pic-only])
99 EFL_INIT
100 #AC_PROG_LIBTOOL
101
102 AC_GNU_SOURCE
103
104 AC_C_BIGENDIAN
105 AC_ISC_POSIX
106 AC_PROG_CC
107 AC_PROG_CC_STDC
108 AC_HEADER_STDC
109 AC_C_CONST
110 AC_FUNC_ALLOCA
111
112 ELM_VERSION_MAJOR="v_maj"
113 ELM_VERSION_MINOR="v_min"
114 AC_SUBST(ELM_VERSION_MAJOR)
115 AC_SUBST(ELM_VERSION_MINOR)
116
117 MODULE_ARCH="v-v_maj.v_min.v_mic"
118 AC_SUBST(MODULE_ARCH)
119 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
120
121 EFL_SHARED_EXTENSION="${shrext_cmds}"
122 AC_DEFINE_UNQUOTED(EFL_SHARED_EXTENSION, "${EFL_SHARED_EXTENSION}", "Shared extension")
123
124 requirement_elm=""
125
126 # Check whether pkg-config supports Requires.private
127 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
128    pkgconfig_requires_private="Requires.private"
129 else
130    pkgconfig_requires_private="Requires"
131 fi
132 AC_SUBST(pkgconfig_requires_private)
133
134 #================================================
135 if test "x${prefix}" = "xNONE"; then
136   LOCALE_DIR="${ac_default_prefix}/share/locale"
137 else
138   LOCALE_DIR="${prefix}/share/locale"
139 fi
140 AC_SUBST(LOCALE_DIR)
141 #================================================
142 elementary_icon_dir="${datadir}/icons"
143 AC_SUBST(elementary_icon_dir)
144
145 have_fork="no"
146 want_quicklaunch="auto"
147 AC_ARG_ENABLE([quick-launch],
148         [AC_HELP_STRING([--disable-quick-launch], [disable quick-launch support, @<:@default=detect@:>@])],
149         [want_quicklaunch=$enableval], [])
150
151 # Check if we can build binary with quicklaunch support
152 ELM_QUICKLAUNCH
153
154 if test "x$want_quicklaunch" != "xno"; then
155    AC_CHECK_FUNCS(fork, [
156         have_fork="yes"
157         AC_DEFINE(HAVE_FORK)
158    ])
159    AC_CHECK_FUNCS([clearenv])
160 fi
161 AM_CONDITIONAL([BUILD_QUICKLAUNCH], [test "x$have_fork" = "xyes" && test "x$have_dlopen" = "xyes"])
162
163 AC_CHECK_FUNCS([\
164 geteuid \
165 getuid \
166 ])
167
168 AC_SUBST(dlopen_libs)
169 AC_SUBST(ELM_UNIX_DEF)
170 AC_SUBST(ELM_WIN32_DEF)
171
172 AM_CONDITIONAL([ELEMENTARY_WINDOWS_BUILD], [test "x${have_windows}" = "xyes"])
173
174 PKG_CHECK_MODULES([ELEMENTARY],
175    [
176     eina >= efl_version
177     eet >= efl_version
178     evas >= efl_version
179     ecore >= efl_version
180     ecore-evas >= efl_version
181     ecore-file >= efl_version
182     ecore-input >= efl_version
183     edje >= efl_version
184     eo >= efl_version
185     ethumb_client >= efl_version
186     emotion >= efl_version
187     ecore-imf >= efl_version
188     ecore-con >= efl_version
189     eio >= efl_version
190     eldbus >= efl_version
191     efreet >= efl_version
192     efreet-mime >= efl_version
193     efreet-trash >= efl_version
194    ]
195 )
196
197 EFL_ENABLE_EO_API_SUPPORT
198 EFL_ENABLE_BETA_API_SUPPORT
199
200 requirement_elm="\
201     eina >= efl_version \
202     eet >= efl_version \
203     evas >= efl_version \
204     ecore >= efl_version \
205     ecore-evas >= efl_version \
206     ecore-file >= efl_version \
207     ecore-input >= efl_version \
208     edje >= efl_version \
209     eo >= efl_version \
210     ethumb_client >= efl_version \
211     emotion >= efl_version \
212     ecore-imf >= efl_version \
213     ecore-con >= efl_version \
214     eio >= efl_version \
215     eldbus >= efl_version \
216     efreet >= efl_version \
217     efreet-mime >= efl_version \
218     efreet-trash >= efl_version \
219     "
220
221 have_elementary_x="no"
222 want_elementary_x="auto"
223 AC_ARG_ENABLE([ecore-x],
224    [AC_HELP_STRING([--disable-ecore-x], [disable ecore-x support. @<:@default=detect@:>@])],
225    [want_elementary_x=$enableval], [])
226
227 if test "x$want_elementary_x" != "xno"; then
228    PKG_CHECK_MODULES([ELEMENTARY_X],
229       [ecore-x >= efl_version],
230       [
231        AC_DEFINE(HAVE_ELEMENTARY_X, 1, [X11 support for Elementary])
232        have_elementary_x="yes"
233        requirement_elm="ecore-x >= efl_version ${requirement_elm}"
234       ],
235       [have_elementary_x="no"]
236    )
237 else
238     have_elementary_x="no"
239 fi
240 if test "x$want_elementary_x" = "xyes" -a "x$have_elementary_x" = "xno"; then
241     AC_MSG_ERROR([ecore-x support requested, but ecore-x was not found by pkg-config.])
242 fi
243
244
245 have_elementary_fb="no"
246 want_elementary_fb="auto"
247 AC_ARG_ENABLE([ecore-fb],
248    [AC_HELP_STRING([--disable-ecore-fb], [disable ecore-fb support. @<:@default=detect@:>@])],
249    [want_elementary_fb=$enableval], [])
250
251 if test "x$want_elementary_fb" != "xno"; then
252    PKG_CHECK_MODULES([ELEMENTARY_FB],
253       [ecore-fb >= efl_version],
254       [
255        AC_DEFINE(HAVE_ELEMENTARY_FB, 1, [FB support for Elementary])
256        have_elementary_fb="yes"
257        requirement_elm="ecore-fb >= efl_version ${requirement_elm}"
258       ],
259       [have_elementary_fb="no"]
260    )
261 else
262     have_elementary_fb="no"
263 fi
264 if test "x$want_elementary_fb" = "xyes" -a "x$have_elementary_fb" = "xno"; then
265     AC_MSG_ERROR([ecore-fb support requested, but ecore-fb was not found by pkg-config.])
266 fi
267
268 have_elementary_psl1ght="no"
269 want_elementary_psl1ght="auto"
270 AC_ARG_ENABLE([ecore-psl1ght],
271    [AC_HELP_STRING([--disable-ecore-psl1ght], [disable ecore-psl1ght support. @<:@default=detect@:>@])],
272    [want_elementary_psl1ght=$enableval], [])
273
274 if test "x$want_elementary_psl1ght" != "xno"; then
275    PKG_CHECK_MODULES([ELEMENTARY_PSL1GHT],
276       [ecore-psl1ght >= efl_version],
277       [
278        AC_DEFINE(HAVE_ELEMENTARY_PSL1GHT, 1, [PSL1GHT support for Elementary])
279        have_elementary_psl1ght="yes"
280        requirement_elm="ecore-psl1ght >= efl_version ${requirement_elm}"
281       ],
282       [have_elementary_psl1ght="no"]
283    )
284 else
285     have_elementary_psl1ght="no"
286 fi
287 if test "x$want_elementary_psl1ght" = "xyes" -a "x$have_elementary_psl1ght" = "xno"; then
288     AC_MSG_ERROR([ecore-psl1ght support requested, but ecore-psl1ght was not found by pkg-config.])
289 fi
290
291 have_elementary_sdl="no"
292 want_elementary_sdl="auto"
293 AC_ARG_ENABLE([ecore-sdl],
294    [AC_HELP_STRING([--disable-ecore-sdl], [disable ecore-sdl support. @<:@default=detect@:>@])],
295    [want_elementary_sdl=$enableval], [])
296
297 if test "x$want_elementary_sdl" != "xno"; then
298    PKG_CHECK_MODULES([ELEMENTARY_SDL],
299       [ecore-sdl >= efl_version],
300       [
301        AC_DEFINE(HAVE_ELEMENTARY_SDL, 1, [SDL support for Elementary])
302        have_elementary_sdl="yes"
303        requirement_elm="ecore-sdl >= efl_version ${requirement_elm}"
304       ],
305       [have_elementary_sdl="no"]
306    )
307 else
308     have_elementary_sdl="no"
309 fi
310 if test "x$want_elementary_sdl" = "xyes" -a "x$have_elementary_sdl" = "xno"; then
311     AC_MSG_ERROR([ecore-sdl support requested, but ecore-sdl was not found by pkg-config.])
312 fi
313
314 have_elementary_cocoa="no"
315 want_elementary_cocoa="auto"
316 AC_ARG_ENABLE([ecore-cocoa],
317    [AC_HELP_STRING([--disable-ecore-cocoa], [disable ecore-cocoa support. @<:@default=detect@:>@])],
318    [want_elementary_cocoa=$enableval], [])
319
320 if test "x$want_elementary_cocoa" != "xno"; then
321    PKG_CHECK_MODULES([ELEMENTARY_COCOA],
322       [ecore-cocoa >= efl_version],
323       [
324        AC_DEFINE(HAVE_ELEMENTARY_COCOA, 1, [COCOA support for Elementary])
325        have_elementary_cocoa="yes"
326        requirement_elm="ecore-cocoa >= efl_version ${requirement_elm}"
327       ],
328       [have_elementary_cocoa="no"]
329    )
330 else
331     have_elementary_cocoa="no"
332 fi
333 if test "x$want_elementary_cocoa" = "xyes" -a "x$have_elementary_cocoa" = "xno"; then
334     AC_MSG_ERROR([ecore-cocoa support requested, but ecore-cocoa was not found by pkg-config.])
335 fi
336
337 have_elementary_win32="no"
338 want_elementary_win32="auto"
339 AC_ARG_ENABLE([ecore-win32],
340    [AC_HELP_STRING([--disable-ecore-win32], [disable ecore-win32 support. @<:@default=detect@:>@])],
341    [want_elementary_win32=$enableval], [])
342
343 if test "x$want_elementary_win32" != "xno"; then
344    PKG_CHECK_MODULES([ELEMENTARY_WIN32],
345       [ecore-win32 >= efl_version],
346       [
347        AC_DEFINE(HAVE_ELEMENTARY_WIN32, 1, [Windows XP support for Elementary])
348        have_elementary_win32="yes"
349        requirement_elm="ecore-win32 >= efl_version ${requirement_elm}"
350       ],
351       [have_elementary_win32="no"]
352    )
353 else
354     have_elementary_win32="no"
355 fi
356 if test "x$want_elementary_win32" = "xyes" -a "x$have_elementary_win32" = "xno"; then
357     AC_MSG_ERROR([ecore-win32 support requested, but ecore-win32 was not found by pkg-config.])
358 fi
359
360 have_elementary_wayland="no"
361 want_elementary_wayland="auto"
362 AC_ARG_ENABLE([ecore-wayland],
363    [AC_HELP_STRING([--disable-ecore-wayland], [disable ecore-wayland support. @<:@default=detect@:>@])],
364    [want_elementary_wayland=$enableval], [])
365
366 if test "x$want_elementary_wayland" != "xno"; then
367    PKG_CHECK_MODULES([ELEMENTARY_WAYLAND],
368       [ecore-wayland],
369       [
370        AC_DEFINE(HAVE_ELEMENTARY_WAYLAND, 1, [Wayland support for Elementary])
371        have_elementary_wayland="yes"
372        requirement_elm="ecore-wayland ${requirement_elm}"
373       ],
374       [have_elementary_wayland="no"]
375    )
376 else
377     have_elementary_wayland="no"
378 fi
379 if test "x$want_elementary_wayland" = "xyes" -a "x$have_elementary_wayland" = "xno"; then
380     AC_MSG_ERROR([ecore-wayland support requested, but ecore-wayland was not found by pkg-config.])
381 fi
382
383 have_elementary_drm="no"
384 want_elementary_drm="auto"
385 AC_ARG_ENABLE([ecore-drm],
386    [AC_HELP_STRING([--disable-ecore-drm], [disable ecore-drm support. @<:@default=detect@:>@])],
387    [want_elementary_drm=$enableval], [])
388
389 if test "x$want_elementary_drm" != "xno"; then
390    PKG_CHECK_MODULES([ELEMENTARY_DRM],
391       [ecore-drm >= efl_version],
392       [
393        AC_DEFINE(HAVE_ELEMENTARY_DRM, 1, [DRM support for Elementary])
394        have_elementary_drm="yes"
395        requirement_elm="ecore-drm >= efl_version ${requirement_elm}"
396       ],
397       [have_elementary_drm="no"]
398    )
399 else
400     have_elementary_drm="no"
401 fi
402 if test "x$want_elementary_drm" = "xyes" -a "x$have_elementary_drm" = "xno"; then
403     AC_MSG_ERROR([ecore-drm support requested, but ecore-drm was not found by pkg-config.])
404 fi
405
406
407 ELM_ELOCATION_DEF="#undef"
408 have_elementary_elocation="no"
409 want_elementary_elocation="auto"
410 AC_ARG_ENABLE([elocation],
411    [AC_HELP_STRING([--disable-elocation], [disable elocation support. @<:@default=detect@:>@])],
412    [want_elementary_elocation=$enableval], [])
413
414 if test "x$want_elementary_elocation" != "xno"; then
415     PKG_CHECK_MODULES([ELEMENTARY_ELOCATION],
416        [
417         elocation >= 0.1.0
418        ],
419        [
420         AC_DEFINE(HAVE_ELEMENTARY_ELOCATION, 1, [Elocation support for Elementary])
421         have_elementary_elocation="yes"
422         ELM_ELOCATION_DEF="#define"
423         requirement_elm="elocation >= 0.1.0 ${requirement_elm}"
424        ],
425        [have_elementary_elocation="no"]
426     )
427 else
428     have_elementary_elocation="no"
429 fi
430 if test "x$want_elementary_elocation" = "xyes" -a "x$have_elementary_elocation" = "xno"; then
431     AC_MSG_ERROR([elocation support requested, but elocation was not found by pkg-config.])
432 fi
433 AC_SUBST(ELM_ELOCATION_DEF)
434
435 ELM_EWEATHER_DEF="#undef"
436 have_elementary_eweather="no"
437 want_elementary_eweather="auto"
438 AC_ARG_ENABLE([eweather],
439    [AC_HELP_STRING([--disable-eweather], [disable eweather support. @<:@default=detect@:>@])],
440    [want_elementary_eweather=$enableval], [])
441
442 if test "x$want_elementary_eweather" != "xno"; then
443     PKG_CHECK_MODULES([ELEMENTARY_EWEATHER],
444        [
445         eweather
446        ],
447        [
448         AC_DEFINE(HAVE_ELEMENTARY_EWEATHER, 1, [EWeather support for Elementary])
449         have_elementary_eweather="yes"
450         ELM_EWEATHER_DEF="#define"
451         requirement_elm="eweather ${requirement_elm}"
452        ],
453        [have_elementary_eweather="no"]
454     )
455 else
456     have_elementary_eweather="no"
457 fi
458 if test "x$want_elementary_eweather" = "xyes" -a "x$have_elementary_eweather" = "xno"; then
459     AC_MSG_ERROR([Eweather support requested, but eweather was not found by pkg-config.])
460 fi
461 AC_SUBST(ELM_EWEATHER_DEF)
462
463 ELM_EMAP_DEF="#undef"
464 have_elementary_emap="no"
465 want_elementary_emap="auto"
466 AC_ARG_ENABLE([emap],
467    [AC_HELP_STRING([--disable-emap], [disable emap support. @<:@default=detect@:>@])],
468    [want_elementary_emap=$enableval], [])
469
470 if test "x$want_elementary_emap" != "xno"; then
471     PKG_CHECK_MODULES([ELEMENTARY_EMAP],
472        [
473         emap
474        ],
475        [
476         AC_DEFINE(HAVE_ELEMENTARY_EMAP, 1, [EMap support for Elementary])
477         have_elementary_emap="yes"
478         ELM_EMAP_DEF="#define"
479         requirement_elm="emap ${requirement_elm}"
480        ],
481        [have_elementary_emap="no"]
482     )
483 else
484     have_elementary_emap="no"
485 fi
486 if test "x$want_elementary_emap" = "xyes" -a "x$have_elementary_emap" = "xno"; then
487     AC_MSG_ERROR([Emap support requested, but emap was not found by pkg-config.])
488 fi
489 AC_SUBST(ELM_EMAP_DEF)
490
491 ELM_WEB_DEF="#undef"
492 ELM_WEB2_DEF="#undef"
493
494 elementary_web_backend="detect"
495 elementary_web="no"
496 want_elementary_web=""
497 AC_ARG_WITH([elementary-web-backend],
498    [AC_HELP_STRING([--with-elementary-web-backend=@<:@ewebkit/ewebkit2/detect/none@:>@], [Select the WebKit backend for Elementary to support web @<:@default=detect@:>@])],
499    [
500     elementary_web_backend=${withval}
501    ],
502    [elementary_web_backend="detect"])
503
504 case "$elementary_web_backend" in
505     ewebkit|ewebkit2|detect|none) ;;
506     *) AC_MSG_ERROR([Invalid web backend: must be ewebkit, ewebkit2, detect or none]) ;;
507 esac
508
509 if test "x$elementary_web_backend" = "xdetect"; then
510     # FIXME : detect option should check both ewebkit and ewebkit2.
511     want_elementary_web="ewebkit"
512 else
513     want_elementary_web=$elementary_web_backend
514 fi
515
516 if test "x$want_elementary_web" != "xnone"; then
517     PKG_CHECK_MODULES([ELEMENTARY_WEB],
518        [$want_elementary_web],
519        [
520         AC_DEFINE(HAVE_ELEMENTARY_WEB, 1, [Web support for Elementary])
521         webkit_datadir=$($PKG_CONFIG $want_elementary_web --variable=datadir)
522         AC_DEFINE_UNQUOTED(WEBKIT_DATADIR,
523                            "$webkit_datadir",
524                            "WebKit's data dir")
525         if test "x$elementary_web_backend" = "xewebkit2"; then
526             AC_DEFINE(USE_WEBKIT2, 1, [Use ewebkit2 as Elementary web backend])
527             ELM_WEB2_DEF="#define"
528         else
529             ELM_WEB_DEF="#define"
530         fi
531
532         elementary_web=$want_elementary_web
533         requirement_elm="${want_elementary_web} ${requirement_elm}"
534        ],
535        [elementary_web="no"]
536     )
537 else
538     elementary_web="no"
539 fi
540
541 if test "x$elementary_web_backend" = "xewebkit" -o "x$elementary_web_backend" = "xewebkit2"; then
542     if test "x$elementary_web" = "xnone"; then
543         AC_MSG_ERROR([Web support requested, but no $elementary_web_backend found by pkg-config.])
544     fi
545 fi
546 AC_SUBST(ELM_WEB_DEF)
547 AC_SUBST(ELM_WEB2_DEF)
548
549 ELM_DEBUG_DEF="#undef"
550 want_elementary_debug="no"
551 AC_ARG_ENABLE([debug],
552    [AC_HELP_STRING([--enable-debug], [enable elementary debug support. @<:@default=disabled@:>@])],
553    [want_elementary_debug=$enableval], [])
554
555 if test "x$want_elementary_debug" = "xyes"; then
556         AC_DEFINE(HAVE_ELEMENTARY_DEBUG, 1, [Elementary debug.])
557         ELM_DEBUG_DEF="#define"
558 fi
559 AC_SUBST(ELM_DEBUG_DEF)
560
561 AC_ARG_WITH([tests],
562    [AC_HELP_STRING([--with-tests=none|regular],
563                    [choose elementary testing method: regular or none.(coverage will be supported)@<:@default=none@:>@])],
564    [build_tests=${withval}],
565    [build_tests=none])
566
567 if test "${build_tests}" = "regular"; then
568    PKG_CHECK_MODULES([CHECK], [check >= 0.9.5])
569 fi
570 AM_CONDITIONAL([ENABLE_ELEMENTARY_TESTS], [test "${build_tests}" = "regular"])
571
572 ELM_ALLOCA_H_DEF="#undef"
573 AC_CHECK_HEADER(alloca.h, [ELM_ALLOCA_H_DEF="#define"])
574 AC_SUBST(ELM_ALLOCA_H_DEF)
575
576 ELM_LIBINTL_H_DEF="#undef"
577 AC_CHECK_HEADER(libintl.h, [ELM_LIBINTL_H_DEF="#define"])
578 AC_SUBST(ELM_LIBINTL_H_DEF)
579
580 ELM_DIRENT_H_DEF="#undef"
581 AC_CHECK_HEADER(dirent.h, [ELM_DIRENT_H_DEF="#define"])
582 AC_SUBST(ELM_DIRENT_H_DEF)
583
584 AC_CHECK_HEADER(sys/mman.h, [have_mman="yes"], [have_mman="no"])
585 if test "x${have_mman}" = "xyes"; then
586    AC_DEFINE(HAVE_MMAN_H, 1, [Have sys/mman.h header file])
587 fi
588
589 AC_CHECK_HEADERS([locale.h langinfo.h sys/times.h])
590
591 my_libs="-lm"
592 AC_SUBST(my_libs)
593 AC_SUBST(requirement_elm)
594
595 EFL_WITH_BIN([eet], [eet-eet], [eet])
596 EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
597 EFL_WITH_BIN([elementary], [elementary-codegen], [elementary_codegen])
598 EFL_WITH_BIN([elementary], [elm-prefs-cc], [elm_prefs_cc])
599 EFL_WITH_BIN([eolian], [eolian-gen], [eolian_gen])
600 # Force the helper to try external eolian-gen
601 AM_CONDITIONAL(HAVE_EOLIAN_GEN, [true])
602
603 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
604
605 EFL_ENABLE_BIN([elementary-test])
606 EFL_ENABLE_BIN([elementary-codegen])
607 EFL_ENABLE_BIN([elm-prefs-cc])
608 EFL_ENABLE_BIN([elementary-config])
609
610 m4_ifdef([AM_GNU_GETTEXT_VERSION], [
611 AM_GNU_GETTEXT_VERSION([0.17])
612 ])
613
614 m4_ifdef([AM_GNU_GETTEXT], [
615 AM_GNU_GETTEXT([external])
616 po_makefile_in=po/Makefile.in
617 have_po="yes"
618 ],[
619 have_po="no"
620 ])
621 AC_SUBST(LTLIBINTL)
622
623 if test "x${POSUB}" = "x" ; then
624    have_po="no"
625 fi
626
627 AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
628
629 EFL_CHECK_PATH_MAX
630
631 elementary_base_dir=".elementary"
632 AC_ARG_WITH([elementary-base-dir],
633    [AC_HELP_STRING([--with-elementary-base-dir=PATH], [specify the subdirectory for all elementary data @<:@default=${elementary_base_dir}@:>@])],
634    [elementary_base_dir=${withval}],
635    [elementary_base_dir=".elementary"])
636
637 AC_MSG_NOTICE([ELEMENTARY_BASE_DIR set to ${elementary_base_dir}])
638 AC_DEFINE_UNQUOTED(ELEMENTARY_BASE_DIR, "${elementary_base_dir}", "subdirectory for all elementary data")
639
640 ### Build and install examples
641 EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"])
642 EFL_CHECK_INSTALL_EXAMPLES([enable_install_examples="yes"], [enable_install_examples="no"])
643
644 AC_TRY_COMPILE([
645 # define _GNU_SOURCE 1
646 #include <unistd.h>
647 ], [
648 extern char **environ;
649 ], [
650   AC_DEFINE(HAVE_ENVIRON, 1, [extern environ exists])
651 ])
652
653 AC_CONFIG_FILES([
654 Makefile
655 elementary.spec
656 elementary.pc
657 doc/Makefile
658 doc/Doxyfile
659 doc/widgets/Makefile
660 src/Makefile
661 src/lib/Makefile
662 src/lib/Elementary.h
663 src/lib/elm_intro.h
664 src/bin/Makefile
665 src/modules/Makefile
666 src/modules/prefs/Makefile
667 src/modules/access_output/Makefile
668 src/modules/datetime_input_ctxpopup/Makefile
669 src/modules/test_entry/Makefile
670 src/modules/test_map/Makefile
671 src/edje_externals/Makefile
672 src/examples/Makefile
673 src/tests/Makefile
674 src/imported/Makefile
675 src/imported/atspi/Makefile
676 data/Makefile
677 data/themes/Makefile
678 data/images/Makefile
679 data/objects/Makefile
680 data/desktop/Makefile
681 data/edje_externals/Makefile
682 config/Makefile
683 config/default/Makefile
684 config/standard/Makefile
685 config/mobile/Makefile
686 $po_makefile_in
687 cmakeconfig/ElementaryConfig.cmake
688 cmakeconfig/ElementaryConfigVersion.cmake
689 ])
690
691 AC_OUTPUT
692
693 #####################################################################
694 ## Info
695
696 echo
697 echo
698 echo
699 echo "------------------------------------------------------------------------"
700 echo "$PACKAGE $VERSION"
701 echo "------------------------------------------------------------------------"
702 echo
703 echo "Configuration Options Summary:"
704 echo
705 echo "  Engines:"
706 echo "    X11....................: ${have_elementary_x}"
707 echo "    Framebuffer............: ${have_elementary_fb}"
708 echo "    DRM....................: ${have_elementary_drm}"
709 echo "    PSL1GHT................: ${have_elementary_psl1ght}"
710 echo "    SDL....................: ${have_elementary_sdl}"
711 echo "    Cocoa..................: ${have_elementary_cocoa}"
712 echo "    Windows XP.............: ${have_elementary_win32}"
713 echo "    Wayland................: ${have_elementary_wayland}"
714 echo
715 echo "  Features:"
716 echo "    EWeather...............: ${have_elementary_eweather}"
717 echo "    EMap...................: ${have_elementary_emap}"
718 echo "    Web (WebKit)...........: ${elementary_web}"
719 echo "    Quick Launch...........: ${have_fork}"
720 echo "    Elocation..............: ${have_elementary_elocation}"
721 echo
722 echo "  eet......................: ${eet_eet}"
723 echo "  edje_cc..................: ${edje_cc}"
724 echo "  eolian_gen...............: ${eolian_gen}"
725 echo
726 echo "  Build elementary_test....: ${have_elementary_test}"
727 echo "  Build elementary_codegen.: ${have_elementary_codegen}"
728 echo "  Build elm_prefs_cc.......: ${have_elm_prefs_cc}"
729 echo "  Examples.................: ${enable_build_examples}"
730 echo "  Examples installed.......: ${enable_install_examples}"
731 echo "  Build elementary_config..: ${have_elementary_config}"
732 echo "  Enable debug.............: ${want_elementary_debug}"
733 echo
734 echo "Compilation................: make (or gmake)"
735 echo "  CPPFLAGS.................: $CPPFLAGS"
736 echo "  CFLAGS...................: $CFLAGS"
737 echo "  LDFLAGS..................: $LDFLAGS"
738 echo
739 if test "${build_tests}" = "none"; then
740 echo "Tests......................: no"
741 else
742 echo "Tests......................: make check"
743 fi
744 if test "${build_doc}" = "no"; then
745 echo "Docs.......................: no (doxygen not found)"
746 else
747 echo "Docs.......................: make doc"
748 fi
749 echo
750 echo "Installation...............: make install (as root if needed, with 'su' or 'sudo')"
751 echo "  prefix...................: $prefix"
752 echo