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