Merge branch 'master' of 165.213.180.234:slp/pkgs/e/elementary
[framework/uifw/elementary.git] / configure.ac
1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [0])
4 m4_define([v_min], [7])
5 m4_define([v_mic], [0])
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-07])
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])],
15 [m4_define([v_ver], [v_maj.v_min.v_mic])])
16 m4_define([lt_rev], m4_eval(v_maj + v_min))
17 m4_define([lt_cur], v_mic)
18 m4_define([lt_age], v_min)
19 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
20 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
21
22 AC_INIT([elementary], [v_ver], [enlightenment-devel@lists.sourceforge.net])
23 AC_PREREQ(2.52)
24 AC_CONFIG_SRCDIR([configure.ac])
25 AC_CONFIG_MACRO_DIR([m4])
26 AC_CANONICAL_BUILD
27 AC_CANONICAL_HOST
28
29 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
30 AM_CONFIG_HEADER([elementary_config.h])
31 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
32
33 AC_GNU_SOURCE
34
35 AC_C_BIGENDIAN
36 AC_ISC_POSIX
37 AC_PROG_CC
38 AM_PROG_CC_STDC
39 AC_HEADER_STDC
40 AC_C_CONST
41 AC_C___ATTRIBUTE__
42 AC_FUNC_ALLOCA
43
44 AC_LIBTOOL_WIN32_DLL
45 define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
46 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
47 AC_PROG_LIBTOOL
48
49 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
50 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
51 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
52 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
53 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
54 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
55 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
56 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
57 version_info="lt_rev:lt_cur:lt_age"
58 release_info="v_rel"
59 AC_SUBST(version_info)
60 AC_SUBST(release_info)
61 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
62 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
63 VMAJ=v_maj
64 VMIN=v_min
65 AC_SUBST(VMAJ)
66 AC_SUBST(VMIN)
67
68 VERSION="1.0.0"
69
70 EDJE_VERSION="1.0.0"
71
72 case "$host_os" in
73   mingw32ce* | cegcc*)
74     MODULE_ARCH="$host_os-$host_cpu"
75     MODULE_EDJE="$host_os-$host_cpu"
76     ;;
77   *)
78     MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
79     MODULE_EDJE="$host_os-$host_cpu-${EDJE_VERSION}"
80     ;;
81 esac
82 AC_SUBST(release_info)
83 AC_SUBST(MODULE_ARCH)
84 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
85 AC_SUBST(MODULE_EDJE)
86 AC_DEFINE_UNQUOTED(MODULE_EDJE, "$MODULE_EDJE", "Edje module architecture")
87
88 EFL_SHARED_EXTENSION="${shrext_cmds}"
89 AC_DEFINE_UNQUOTED(EFL_SHARED_EXTENSION, "${EFL_SHARED_EXTENSION}", "Shared extension")
90
91 requirement_elm=""
92
93 PKG_PROG_PKG_CONFIG
94
95 # Check whether pkg-config supports Requires.private
96 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
97    pkgconfig_requires_private="Requires.private"
98 else
99    pkgconfig_requires_private="Requires"
100 fi
101 AC_SUBST(pkgconfig_requires_private)
102
103 lt_enable_auto_import=""
104 ELM_UNIX_DEF="#undef"
105 ELM_WIN32_DEF="#undef"
106 ELM_WINCE_DEF="#undef"
107 have_windows="no"
108 case "$host_os" in
109    mingw32ce* | cegcc*)
110       PKG_CHECK_MODULES([EVIL], [evil])
111       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed.])
112       lt_enable_auto_import="-Wl,--enable-auto-import"
113       ELM_WINCE_DEF="#define"
114       have_windows="yes"
115 dnl managed by evil
116       AC_DEFINE(HAVE_DLADDR)
117       requirement_elm="evil"
118       have_socket="no"
119     ;;
120    mingw*)
121       PKG_CHECK_MODULES([EVIL], [evil])
122       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed.])
123       lt_enable_auto_import="-Wl,--enable-auto-import"
124       ELM_WIN32_DEF="#define"
125       have_windows="yes"
126       requirement_elm="evil"
127       have_socket="no"
128       ;;
129    *solaris*)
130       ELM_UNIX_DEF="#define"
131       have_socket="yes"
132       AC_CHECK_LIB([socket], [connect], [], [have_socket="no"])
133       ;;
134    darwin*)
135       ELM_UNIX_DEF="#define"
136       have_socket="yes"
137       AC_CHECK_HEADERS([crt_externs.h])
138       AC_DEFINE([environ], [(*_NSGetEnviron())], [apple doesn't follow POSIX in this case.])
139       ;;
140    *)
141       ELM_UNIX_DEF="#define"
142       AC_CHECK_FUNCS(dlopen, res=yes, res=no)
143       if test "x$res" = "xyes"; then
144         AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
145       else
146         AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
147         if test "x$res" = "xyes"; then
148           AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
149           dlopen_libs=-ldl
150         else
151           AC_MSG_ERROR(Cannot find dlopen)
152         fi
153       fi
154       have_socket="yes"
155       ;;
156 esac
157 AM_CONDITIONAL([BUILD_RUN], [test "x$have_socket" = "xyes"])
158
159 have_fork="no"
160 AC_CHECK_FUNCS(fork, [
161   have_fork="yes"
162   AC_DEFINE(HAVE_FORK)
163 ])
164 AM_CONDITIONAL([BUILD_QUICKLAUNCH], [test "x$have_fork" = "xyes"])
165
166 AC_SUBST(dlopen_libs)
167 AC_SUBST(lt_enable_auto_import)
168 AC_SUBST(ELM_UNIX_DEF)
169 AC_SUBST(ELM_WIN32_DEF)
170 AC_SUBST(ELM_WINCE_DEF)
171
172 AM_CONDITIONAL([ELEMENTARY_WINDOWS_BUILD], [test "x${have_windows}" = "xyes"])
173
174 PKG_CHECK_MODULES([ELEMENTARY],
175    [
176     eina >= 1.0.0
177     eet >= 1.4.0
178     evas >= 1.0.0
179     ecore >= 1.0.0
180     ecore-evas >= 1.0.0
181     ecore-file >= 1.0.0
182     ecore-imf >= 1.0.0
183     edje >= ${EDJE_VERSION}
184    ]
185 )
186
187 requirement_elm="edje >= ${EDJE_VERSION} ecore-file >= 1.0.0 ecore-evas >= 1.0.0 ecore >= 1.0.0 evas >= 1.0.0 eet >= 1.4.0 eina >= 1.0.0 ${requirement_elm}"
188
189 have_elementary_x="no"
190 want_elementary_x="auto"
191 AC_ARG_ENABLE([ecore-x],
192    [AC_HELP_STRING([--disable-ecore-x], [disable ecore-x support. @<:@default=detect@:>@])],
193    [want_elementary_x=$enableval], [])
194
195 if test "x$want_elementary_x" != "xno"; then
196    PKG_CHECK_MODULES([ELEMENTARY_X],
197       [ecore-x >= 1.0.0],
198       [
199        AC_DEFINE(HAVE_ELEMENTARY_X, 1, [X11 support for Elementary])
200        have_elementary_x="yes"
201        requirement_elm="ecore-x >= 1.0.0 ${requirement_elm}"
202       ],
203       [have_elementary_x="no"]
204    )
205 else
206     have_elementary_x="no"
207 fi
208 if test "x$want_elementary_x" = "xyes" -a "x$have_elementary_x" = "xno"; then
209     AC_MSG_ERROR([ecore-x support requested, but not found by pkg-config.])
210 fi
211
212 have_conformant_autoscroll="no"
213 want_conformant_autoscroll="yes"
214 AC_ARG_ENABLE([ecore-x],
215    [AC_HELP_STRING([--disable-ecore-x], [disable ecore-x support. @<:@default=detect@:>@])],
216    [want_conformant_autoscroll=$enableval], [])
217
218 if test "x$want_conformant_autoscroll" != "xno"; then
219    PKG_CHECK_MODULES([ELEMENTARY_X],
220       [ecore-x >= 1.0.0],
221       [
222        AC_DEFINE(HAVE_CONFORMANT_AUTOSCROLL, 1, [autoscroll with conformant])
223        have_conformant_autoscroll="yes"
224        requirement_elm="ecore-x >= 1.0.0 ${requirement_elm}"
225       ],
226       [have_conformant_autoscroll="no"]
227    )
228 else
229     have_conformant_autoscroll="no"
230 fi
231 if test "x$want_conformant_autoscroll" = "xyes" -a "x$have_conformant_autoscroll" = "xno"; then
232     AC_MSG_ERROR([ecore-x support requested, but not found by pkg-config.])
233 fi
234
235 have_elementary_fb="no"
236 want_elementary_fb="auto"
237 AC_ARG_ENABLE([ecore-fb],
238    [AC_HELP_STRING([--disable-ecore-fb], [disable ecore-fb support. @<:@default=detect@:>@])],
239    [want_elementary_fb=$enableval], [])
240
241 if test "x$want_elementary_fb" != "xno"; then
242    PKG_CHECK_MODULES([ELEMENTARY_FB],
243       [ecore-fb >= 1.0.0],
244       [
245        AC_DEFINE(HAVE_ELEMENTARY_FB, 1, [FB support for Elementary])
246        have_elementary_fb="yes"
247        requirement_elm="ecore-fb >= 1.0.0 ${requirement_elm}"
248       ],
249       [have_elementary_fb="no"]
250    )
251 else
252     have_elementary_fb="no"
253 fi
254 if test "x$want_elementary_fb" = "xyes" -a "x$have_elementary_fb" = "xno"; then
255     AC_MSG_ERROR([ecore-fb support requested, but not found by pkg-config.])
256 fi
257
258 have_elementary_sdl="no"
259 want_elementary_sdl="auto"
260 AC_ARG_ENABLE([ecore-sdl],
261    [AC_HELP_STRING([--disable-ecore-sdl], [disable ecore-sdl support. @<:@default=detect@:>@])],
262    [want_elementary_sdl=$enableval], [])
263
264 if test "x$want_elementary_sdl" != "xno"; then
265    PKG_CHECK_MODULES([ELEMENTARY_SDL],
266       [ecore-sdl >= 1.0.0],
267       [
268        AC_DEFINE(HAVE_ELEMENTARY_SDL, 1, [SDL support for Elementary])
269        have_elementary_sdl="yes"
270        requirement_elm="ecore-sdl >= 1.0.0 ${requirement_elm}"
271       ],
272       [have_elementary_sdl="no"]
273    )
274 else
275     have_elementary_sdl="no"
276 fi
277 if test "x$want_elementary_sdl" = "xyes" -a "x$have_elementary_sdl" = "xno"; then
278     AC_MSG_ERROR([ecore-sdl support requested, but not found by pkg-config.])
279 fi
280
281 have_elementary_win32="no"
282 want_elementary_win32="auto"
283 AC_ARG_ENABLE([ecore-win32],
284    [AC_HELP_STRING([--disable-ecore-win32], [disable ecore-win32 support. @<:@default=detect@:>@])],
285    [want_elementary_win32=$enableval], [])
286
287 if test "x$want_elementary_win32" != "xno"; then
288    PKG_CHECK_MODULES([ELEMENTARY_WIN32],
289       [ecore-win32 >= 1.0.0],
290       [
291        AC_DEFINE(HAVE_ELEMENTARY_WIN32, 1, [Windows XP support for Elementary])
292        have_elementary_win32="yes"
293        requirement_elm="ecore-win32 >= 1.0.0 ${requirement_elm}"
294       ],
295       [have_elementary_win32="no"]
296    )
297 else
298     have_elementary_win32="no"
299 fi
300 if test "x$want_elementary_win32" = "xyes" -a "x$have_elementary_win32" = "xno"; then
301     AC_MSG_ERROR([ecore-win32 support requested, but not found by pkg-config.])
302 fi
303
304 have_elementary_wince="no"
305 want_elementary_wince="auto"
306 AC_ARG_ENABLE([ecore-wince],
307    [AC_HELP_STRING([--disable-ecore-wince], [disable ecore-wince support. @<:@default=detect@:>@])],
308    [want_elementary_wince=$enableval], [])
309
310 if test "x$want_elementary_wince" != "xno"; then
311    PKG_CHECK_MODULES([ELEMENTARY_WINCE],
312       [ecore-wince >= 1.0.0],
313       [
314        AC_DEFINE(HAVE_ELEMENTARY_WINCE, 1, [Windows CE support for Elementary])
315        have_elementary_wince="yes"
316        requirement_elm="ecore-wince >= 1.0.0 ${requirement_elm}"
317       ],
318       [have_elementary_wince="no"]
319    )
320 else
321     have_elementary_wince="no"
322 fi
323 if test "x$want_elementary_wince" = "xyes" -a "x$have_elementary_wince" = "xno"; then
324     AC_MSG_ERROR([ecore-wince support requested, but not found by pkg-config.])
325 fi
326
327 ELM_EDBUS_DEF="#undef"
328 have_elementary_edbus="no"
329 want_elementary_edbus="auto"
330 AC_ARG_ENABLE([edbus],
331    [AC_HELP_STRING([--disable-edbus], [disable edbus support. @<:@default=detect@:>@])],
332    [want_elementary_edbus=$enableval], [])
333
334 if test "x$want_elementary_edbus" != "xno"; then
335     PKG_CHECK_MODULES([ELEMENTARY_EDBUS],
336        [
337         edbus >= 1.0.0
338         ehal >= 1.0.0
339        ],
340        [
341         AC_DEFINE(HAVE_ELEMENTARY_EDBUS, 1, [EDBus support for Elementary])
342         have_elementary_edbus="yes"
343         ELM_EDBUS_DEF="#define"
344         requirement_elm="ehal >= 1.0.0 edbus >= 1.0.0 ${requirement_elm}"
345        ],
346        [have_elementary_edbus="no"]
347     )
348 else
349     have_elementary_edbus="no"
350 fi
351 if test "x$want_elementary_edbus" = "xyes" -a "x$have_elementary_edbus" = "xno"; then
352     AC_MSG_ERROR([E_DBus support requested, but no edbus/ehal found by pkg-config.])
353 fi
354 AC_SUBST(ELM_EDBUS_DEF)
355
356 ELM_EFREET_DEF="#undef"
357 have_elementary_efreet="no"
358 want_elementary_efreet="auto"
359 AC_ARG_ENABLE([efreet],
360    [AC_HELP_STRING([--disable-efreet], [disable efreet support. @<:@default=detect@:>@])],
361    [want_elementary_efreet=$enableval], [])
362
363 if test "x$want_elementary_efreet" != "xno"; then
364     PKG_CHECK_MODULES([ELEMENTARY_EFREET],
365        [
366         efreet >= 1.0.0
367         efreet-mime >= 1.0.0
368         efreet-trash >= 1.0.0
369        ],
370        [
371         AC_DEFINE(HAVE_ELEMENTARY_EFREET, 1, [Efreet support for Elementary])
372         have_elementary_efreet="yes"
373         ELM_EFREET_DEF="#define"
374         requirement_elm="efreet >= 1.0.0 efreet-mime >= 1.0.0 efreet-trash >= 1.0.0 ${requirement_elm}"
375        ],
376        [have_elementary_efreet="no"]
377     )
378 else
379     have_elementary_efreet="no"
380 fi
381 if test "x$want_elementary_efreet" = "xyes" -a "x$have_elementary_efreet" = "xno"; then
382     AC_MSG_ERROR([Efreet support requested, but no efreet/efreet-mime/efreet-trash found by pkg-config.])
383 fi
384 AC_SUBST(ELM_EFREET_DEF)
385
386 ELM_EWEATHER_DEF="#undef"
387 have_elementary_eweather="no"
388 want_elementary_eweather="auto"
389 AC_ARG_ENABLE([eweather],
390    [AC_HELP_STRING([--disable-eweather], [disable eweather support. @<:@default=detect@:>@])],
391    [want_elementary_eweather=$enableval], [])
392
393 if test "x$want_elementary_eweather" != "xno"; then
394     PKG_CHECK_MODULES([ELEMENTARY_EWEATHER],
395        [
396         eweather
397        ],
398        [
399         AC_DEFINE(HAVE_ELEMENTARY_EWEATHER, 1, [EWeather support for Elementary])
400         have_elementary_eweather="yes"
401         ELM_EWEATHER_DEF="#define"
402         requirement_elm="eweather ${requirement_elm}"
403        ],
404        [have_elementary_eweather="no"]
405     )
406 else
407     have_elementary_eweather="no"
408 fi
409 if test "x$want_elementary_eweather" = "xyes" -a "x$have_elementary_eweather" = "xno"; then
410     AC_MSG_ERROR([Eweather support requested, but no eweather found by pkg-config.])
411 fi
412 AC_SUBST(ELM_EWEATHER_DEF)
413
414 ELM_ETHUMB_DEF="#undef"
415 have_elementary_ethumb="no"
416 want_elementary_ethumb="auto"
417 AC_ARG_ENABLE([ethumb],
418    [AC_HELP_STRING([--disable-ethumb], [disable ethumb support. @<:@default=detect@:>@])],
419    [want_elementary_ethumb=$enableval], [])
420
421 if test "x$want_elementary_ethumb" != "xno"; then
422     PKG_CHECK_MODULES([ELEMENTARY_ETHUMB],
423        [
424         ethumb_client
425        ],
426        [
427         AC_DEFINE(HAVE_ELEMENTARY_ETHUMB, 1, [Ethumb support for Elementary])
428         have_elementary_ethumb="yes"
429         ELM_ETHUMB_DEF="#define"
430         requirement_elm="ethumb_client ${requirement_elm}"
431        ],
432        [have_elementary_ethumb="no"]
433     )
434 else
435     have_elementary_ethumb="no"
436 fi
437 if test "x$want_elementary_ethumb" = "xyes" -a "x$have_elementary_ethumb" = "xno"; then
438     AC_MSG_ERROR([Ethumb support requested, but no ethumb found by pkg-config.])
439 fi
440 AC_SUBST(ELM_ETHUMB_DEF)
441
442 ELM_DEBUG_DEF="#undef"
443 want_elementary_debug="no"
444 AC_ARG_ENABLE([debug],
445    [AC_HELP_STRING([--enable-debug], [enable elementary debug support. @<:@default=disabled@:>@])],
446    [want_elementary_debug=$enableval], [])
447
448 if test "x$want_elementary_debug" = "xyes"; then
449         AC_DEFINE(HAVE_ELEMENTARY_DEBUG, 1, [Elementary debug.])
450         ELM_DEBUG_DEF="#define"
451 fi
452 AC_SUBST(ELM_DEBUG_DEF)
453
454 ELM_ALLOCA_H_DEF="#undef"
455 AC_CHECK_HEADER(alloca.h, [ELM_ALLOCA_H_DEF="#define"])
456 AC_SUBST(ELM_ALLOCA_H_DEF)
457
458 ELM_LIBINTL_H_DEF="#undef"
459 AC_CHECK_HEADER(libintl.h, [ELM_LIBINTL_H_DEF="#define"])
460 AC_SUBST(ELM_LIBINTL_H_DEF)
461
462 my_libs="-lm"
463 AC_SUBST(my_libs)
464 AC_SUBST(requirement_elm)
465
466 EFL_WITH_BIN([eet], [eet-eet], [eet])
467 EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
468
469 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
470
471 AC_OUTPUT([
472 Makefile
473 elementary.spec
474 elementary.pc
475 doc/elementary.dox
476 doc/Makefile
477 src/Makefile
478 src/lib/Makefile
479 src/lib/Elementary.h
480 src/bin/Makefile
481 src/modules/Makefile
482 src/modules/test_entry/Makefile
483 src/modules/test_map/Makefile
484 src/modules/ctxpopup_copypasteUI/Makefile
485 src/modules/ctxpopup_copypasteshareUI/Makefile
486 src/modules/popup_copypasteUI/Makefile
487 src/edje_externals/Makefile
488 data/Makefile
489 data/themes/Makefile
490 data/images/Makefile
491 data/objects/Makefile
492 data/desktop/Makefile
493 data/edje_externals/Makefile
494 config/Makefile
495 config/default/Makefile
496 config/standard/Makefile
497 config/illume/Makefile
498 config/slp/Makefile
499 ])
500
501 #####################################################################
502 ## Info
503
504 echo
505 echo
506 echo
507 echo "------------------------------------------------------------------------"
508 echo "$PACKAGE $VERSION"
509 echo "------------------------------------------------------------------------"
510 echo
511 echo "Configuration Options Summary:"
512 echo
513 echo "  Engines:"
514 echo "    X11................: ${have_elementary_x}"
515 echo "    Framebuffer........: ${have_elementary_fb}"
516 echo "    SDL................: ${have_elementary_sdl}"
517 echo "    Windows XP.........: ${have_elementary_win32}"
518 echo "    Windows CE.........: ${have_elementary_wince}"
519 echo
520 echo "  Features:"
521 echo "    EDBus..............: ${have_elementary_edbus}"
522 echo "    EFreet.............: ${have_elementary_efreet}"
523 echo "    EWeather...........: ${have_elementary_eweather}"
524 echo "    Ethumb.............: ${have_elementary_ethumb}"
525 echo "    Xml2...............: ${have_elementary_libxml2}"
526 echo
527 echo "  eet..................: ${eet_eet}"
528 echo "  edje_cc..............: ${edje_cc}"
529 echo
530 echo "Compilation............: make (or gmake)"
531 echo "  CPPFLAGS.............: $CPPFLAGS"
532 echo "  CFLAGS...............: $CFLAGS"
533 echo "  LDFLAGS..............: $LDFLAGS"
534 echo
535 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
536 echo "  prefix...............: $prefix"
537 echo