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