[accessability] Initial merge
[framework/uifw/elementary.git] / configure.ac
index b012fc1..363ec94 100755 (executable)
@@ -1,4 +1,4 @@
-##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+=-------##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_maj], [0])
 m4_define([v_min], [7])
@@ -8,7 +8,7 @@ m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -
 ##--   When released, remove the dnl on the below line
 dnl m4_undefine([v_rev])
 ##--   When doing snapshots - change soname. remove dnl on below line
-m4_define([relname], [ver-pre-svn-07])
+m4_define([relname], [ver-pre-svn-09])
 m4_define([v_rel], [-release relname])
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])],
@@ -26,10 +26,20 @@ AC_CONFIG_MACRO_DIR([m4])
 AC_CANONICAL_BUILD
 AC_CANONICAL_HOST
 
+AC_CONFIG_HEADERS([elementary_config.h])
+AH_TOP([
+#ifndef EFL_CONFIG_H__
+#define EFL_CONFIG_H__
+])
+AH_BOTTOM([
+#endif /* EFL_CONFIG_H__ */
+])
+
 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
-AM_CONFIG_HEADER([elementary_config.h])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
+AC_GNU_SOURCE
+
 AC_C_BIGENDIAN
 AC_ISC_POSIX
 AC_PROG_CC
@@ -63,9 +73,9 @@ VMIN=v_min
 AC_SUBST(VMAJ)
 AC_SUBST(VMIN)
 
-VERSION="1.0.0"
-
-EDJE_VERSION="1.0.0"
+# pkg-config
+PKG_PROG_PKG_CONFIG
+EDJE_VERSION=`$PKG_CONFIG edje --modversion | awk -F . '{printf("%s.0.0", $1);}'`
 
 case "$host_os" in
   mingw32ce* | cegcc*)
@@ -98,11 +108,21 @@ else
 fi
 AC_SUBST(pkgconfig_requires_private)
 
+#================================================
+if test "x${prefix}" = "xNONE"; then
+  LOCALE_DIR="${ac_default_prefix}/share/locale"
+else
+  LOCALE_DIR="${prefix}/share/locale"
+fi
+AC_SUBST(LOCALE_DIR)
+#================================================
+
 lt_enable_auto_import=""
 ELM_UNIX_DEF="#undef"
 ELM_WIN32_DEF="#undef"
 ELM_WINCE_DEF="#undef"
 have_windows="no"
+have_dlopen="no"
 case "$host_os" in
    mingw32ce* | cegcc*)
       PKG_CHECK_MODULES([EVIL], [evil])
@@ -112,6 +132,8 @@ case "$host_os" in
       have_windows="yes"
 dnl managed by evil
       AC_DEFINE(HAVE_DLADDR)
+      have_dlopen="yes"
+      dlopen_libs=-ldl
       requirement_elm="evil"
       have_socket="no"
     ;;
@@ -121,45 +143,65 @@ dnl managed by evil
       lt_enable_auto_import="-Wl,--enable-auto-import"
       ELM_WIN32_DEF="#define"
       have_windows="yes"
+dnl managed by evil
+      AC_DEFINE(HAVE_DLADDR)
+      have_dlopen="yes"
+      dlopen_libs=-ldl
       requirement_elm="evil"
       have_socket="no"
       ;;
    *solaris*)
       ELM_UNIX_DEF="#define"
       have_socket="yes"
+      have_dlopen="yes"
       AC_CHECK_LIB([socket], [connect], [], [have_socket="no"])
       ;;
    darwin*)
       ELM_UNIX_DEF="#define"
       have_socket="yes"
+      have_dlopen="yes"
       AC_CHECK_HEADERS([crt_externs.h])
-      AC_DEFINE([environ], [(*_NSGetEnviron())], [apple doesn't follow POSIX in this case.])
+      AC_DEFINE([environ], [(*_NSGetEnviron())], ["apple doesn't follow POSIX in this case."])
       ;;
    *)
       ELM_UNIX_DEF="#define"
       AC_CHECK_FUNCS(dlopen, res=yes, res=no)
       if test "x$res" = "xyes"; then
        AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
+        have_dlopen="yes"
       else
        AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
        if test "x$res" = "xyes"; then
          AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
          dlopen_libs=-ldl
-       else
-         AC_MSG_ERROR(Cannot find dlopen)
+          have_dlopen="yes"
        fi
       fi
       have_socket="yes"
       ;;
 esac
+AC_CHECK_FUNCS(strcasestr, AC_DEFINE(HAVE_STRCASESTR))
 AM_CONDITIONAL([BUILD_RUN], [test "x$have_socket" = "xyes"])
+AM_CONDITIONAL([BUILD_MODULES], [test "x$have_dlopen" = "xyes"])
+
+m4_ifdef([v_mic],
+   [
+    EFL_COMPILER_FLAG([-Wall])
+   ])
 
 have_fork="no"
-AC_CHECK_FUNCS(fork, [
-  have_fork="yes"
-  AC_DEFINE(HAVE_FORK)
-])
-AM_CONDITIONAL([BUILD_QUICKLAUNCH], [test "x$have_fork" = "xyes"])
+want_quicklaunch="auto"
+AC_ARG_ENABLE([quick-launch],
+       [AC_HELP_STRING([--disable-quick-launch], [disable quick-launch support, @<:@default=detect@:>@])],
+       [want_quicklaunch=$enableval], [])
+
+if test "x$want_quicklaunch" != "xno"; then
+   AC_CHECK_FUNCS(fork, [
+       have_fork="yes"
+       AC_DEFINE(HAVE_FORK)
+   ])
+fi
+AM_CONDITIONAL([BUILD_QUICKLAUNCH], [test "x$have_fork" = "xyes" && "x$have_dlopen" = "xyes"])
 
 AC_SUBST(dlopen_libs)
 AC_SUBST(lt_enable_auto_import)
@@ -171,18 +213,49 @@ AM_CONDITIONAL([ELEMENTARY_WINDOWS_BUILD], [test "x${have_windows}" = "xyes"])
 
 PKG_CHECK_MODULES([ELEMENTARY],
    [
-    eina >= 1.0.0
+    eina >= 1.0.999
     eet >= 1.4.0
-    evas >= 1.0.0
+    evas >= 1.0.999
     ecore >= 1.0.0
     ecore-evas >= 1.0.0
     ecore-file >= 1.0.0
     ecore-imf >= 1.0.0
-    edje >= ${EDJE_VERSION}
+    edje >= 1.0.999
    ]
 )
 
-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}"
+PKG_CHECK_MODULES([ECORE_CON],
+       [ecore-con],
+       [
+        have_ecore_con="yes"
+        AC_DEFINE(HAVE_ECORE_CON, 1, [Use Ecore_Con for downloding files])
+        requirement_elm="ecore-con ${requirement_elm}"
+       ],
+       [have_ecore_con="no"])
+
+PKG_CHECK_MODULES([EIO],
+       [eio],
+       [
+        have_eio="yes"
+        AC_DEFINE(HAVE_EIO, 1, [Use EIO for asynchronous file access])
+        requirement_elm="eio ${requirement_elm}"
+       ],
+       [have_eio="no"])
+
+AM_CONDITIONAL([HAVE_EIO], [test "x${have_eio}" = "xyes"])
+
+PKG_CHECK_MODULES([EMOTION],
+       [emotion],
+       [
+        have_emotion="yes"
+        AC_DEFINE(HAVE_EMOTION, 1, [Use Emotion for asynchronous file access])
+        requirement_elm="emotion ${requirement_elm}"
+       ],
+       [have_emotion="no"])
+
+AM_CONDITIONAL([HAVE_EMOTION], [test "x${have_emotion}" = "xyes"])
+
+requirement_elm="edje >= 1.0.0 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}"
 
 have_elementary_x="no"
 want_elementary_x="auto"
@@ -333,13 +406,12 @@ if test "x$want_elementary_edbus" != "xno"; then
     PKG_CHECK_MODULES([ELEMENTARY_EDBUS],
        [
         edbus >= 1.0.0
-        ehal >= 1.0.0
        ],
        [
         AC_DEFINE(HAVE_ELEMENTARY_EDBUS, 1, [EDBus support for Elementary])
         have_elementary_edbus="yes"
         ELM_EDBUS_DEF="#define"
-        requirement_elm="ehal >= 1.0.0 edbus >= 1.0.0 ${requirement_elm}"
+        requirement_elm="edbus >= 1.0.0 ${requirement_elm}"
        ],
        [have_elementary_edbus="no"]
     )
@@ -347,7 +419,7 @@ else
     have_elementary_edbus="no"
 fi
 if test "x$want_elementary_edbus" = "xyes" -a "x$have_elementary_edbus" = "xno"; then
-    AC_MSG_ERROR([E_DBus support requested, but no edbus/ehal found by pkg-config.])
+    AC_MSG_ERROR([E_DBus support requested, but no e_dbus found by pkg-config.])
 fi
 AC_SUBST(ELM_EDBUS_DEF)
 
@@ -409,6 +481,36 @@ if test "x$want_elementary_eweather" = "xyes" -a "x$have_elementary_eweather" =
 fi
 AC_SUBST(ELM_EWEATHER_DEF)
 
+ELM_EMAP_DEF="#undef"
+have_elementary_emap="no"
+want_elementary_emap="auto"
+AC_ARG_ENABLE([emap],
+   [AC_HELP_STRING([--disable-emap], [disable emap support. @<:@default=detect@:>@])],
+   [want_elementary_emap=$enableval], [])
+
+if test "x$want_elementary_emap" != "xno"; then
+    PKG_CHECK_MODULES([ELEMENTARY_EMAP],
+       [
+        emap
+       ],
+       [
+        AC_DEFINE(HAVE_ELEMENTARY_EMAP, 1, [EMap support for Elementary])
+        have_elementary_emap="yes"
+        ELM_EMAP_DEF="#define"
+        requirement_elm="emap ${requirement_elm}"
+       ],
+       [have_elementary_emap="no"]
+    )
+else
+    have_elementary_emap="no"
+fi
+if test "x$want_elementary_emap" = "xyes" -a "x$have_elementary_emap" = "xno"; then
+    AC_MSG_ERROR([Emap support requested, but no emap found by pkg-config.])
+fi
+AC_SUBST(ELM_EMAP_DEF)
+
+
+
 ELM_ETHUMB_DEF="#undef"
 have_elementary_ethumb="no"
 want_elementary_ethumb="auto"
@@ -437,33 +539,49 @@ if test "x$want_elementary_ethumb" = "xyes" -a "x$have_elementary_ethumb" = "xno
 fi
 AC_SUBST(ELM_ETHUMB_DEF)
 
-ELM_LIBXML2_DEF="#undef"
-have_elementary_libxml-2.0="no"
-want_elementary_libxml-2.0="auto"
-AC_ARG_ENABLE([libxml-2.0],
-   [AC_HELP_STRING([--disable-libxml-2.0], [disable libxml-2.0 support. @<:@default=detect@:>@])],
-   [want_elementary_libxml-2.0=$enableval], [])
+ELM_WEB_DEF="#undef"
+have_elementary_web="no"
+want_elementary_web="auto"
+AC_ARG_ENABLE([web],
+   [AC_HELP_STRING([--disable-web], [disable web (WebKit) support. @<:@default=detect@:>@])],
+   [want_elementary_web=$enableval], [])
 
-if test "x$want_elementary_libxml-2.0" != "xno"; then
-    PKG_CHECK_MODULES([ELEMENTARY_LIBXML2],
+if test "x$want_elementary_web" != "xno"; then
+    PKG_CHECK_MODULES([ELEMENTARY_WEB],
        [
-        libxml-2.0
+        ewebkit
        ],
        [
-        AC_DEFINE(HAVE_ELEMENTARY_LIBXML2, 1, [Libxml-2.0 support for Elementary])
-        have_elementary_libxml-2.0="yes"
-        ELM_ETHUMB_DEF="#define"
-        requirement_elm="libxml-2.0 ${requirement_elm}"
+        AC_DEFINE(HAVE_ELEMENTARY_WEB, 1, [Web support for Elementary])
+        webkit_datadir=$($PKG_CONFIG ewebkit --variable=datadir)
+        AC_DEFINE_UNQUOTED(WEBKIT_DATADIR,
+                           "$webkit_datadir",
+                           "WebKit's data dir")
+        have_elementary_web="yes"
+        ELM_WEB_DEF="#define"
+        requirement_elm="web_client ${requirement_elm}"
        ],
-       [have_elementary_libxml-2.0="no"]
+       [have_elementary_web="no"]
     )
 else
-    have_elementary_libxml-2.0="no"
+    have_elementary_web="no"
+fi
+if test "x$want_elementary_web" = "xyes" -a "x$have_elementary_web" = "xno"; then
+    AC_MSG_ERROR([Web support requested, but no ewebkit found by pkg-config.])
 fi
-if test "x$want_elementary_libxml-2.0" = "xyes" -a "x$have_elementary_libxml-2.0" = "xno"; then
-    AC_MSG_ERROR(Libxml-2.0 support requested, but no libxml-2.0 found by pkg-config.])
+AC_SUBST(ELM_WEB_DEF)
+
+ELM_DEBUG_DEF="#undef"
+want_elementary_debug="no"
+AC_ARG_ENABLE([debug],
+   [AC_HELP_STRING([--enable-debug], [enable elementary debug support. @<:@default=disabled@:>@])],
+   [want_elementary_debug=$enableval], [])
+
+if test "x$want_elementary_debug" = "xyes"; then
+        AC_DEFINE(HAVE_ELEMENTARY_DEBUG, 1, [Elementary debug.])
+        ELM_DEBUG_DEF="#define"
 fi
-AC_SUBST(ELM_LIBXML2_DEF)
+AC_SUBST(ELM_DEBUG_DEF)
 
 ELM_ALLOCA_H_DEF="#undef"
 AC_CHECK_HEADER(alloca.h, [ELM_ALLOCA_H_DEF="#define"])
@@ -473,6 +591,15 @@ ELM_LIBINTL_H_DEF="#undef"
 AC_CHECK_HEADER(libintl.h, [ELM_LIBINTL_H_DEF="#define"])
 AC_SUBST(ELM_LIBINTL_H_DEF)
 
+EFL_CHECK_THREADS([
+  TH=1
+] , [
+  AC_MSG_ERROR(no thread support found. required.)
+  exit 1
+])
+AC_SUBST(EFL_PTHREAD_CFLAGS)
+AC_SUBST(EFL_PTHREAD_LIBS)
+
 my_libs="-lm"
 AC_SUBST(my_libs)
 AC_SUBST(requirement_elm)
@@ -482,32 +609,60 @@ EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
 
 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
 
+EFL_ENABLE_BIN([elementary-test])
+EFL_ENABLE_BIN([elementary-config])
+
+m4_ifdef([AM_GNU_GETTEXT_VERSION], [
+AM_GNU_GETTEXT_VERSION([0.12.1])
+])
+
+m4_ifdef([AM_GNU_GETTEXT], [
+AM_GNU_GETTEXT([external])
+po_makefile_in=po/Makefile.in
+AM_CONDITIONAL([HAVE_PO], [true])
+],[
+AM_CONDITIONAL([HAVE_PO], [false])
+])
+AC_SUBST(LTLIBINTL)
+
+### Build and install examples
+EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"])
+EFL_CHECK_INSTALL_EXAMPLES([enable_install_examples="yes"], [enable_install_examples="no"])
+
+
 AC_OUTPUT([
 Makefile
 elementary.spec
 elementary.pc
 doc/elementary.dox
 doc/Makefile
+doc/Doxyfile
+doc/widgets/Makefile
 src/Makefile
 src/lib/Makefile
 src/lib/Elementary.h
 src/bin/Makefile
 src/modules/Makefile
+src/modules/access_output/Makefile
 src/modules/test_entry/Makefile
+src/modules/test_map/Makefile
 src/modules/ctxpopup_copypasteUI/Makefile
+src/modules/ctxpopup_copypasteshareUI/Makefile
 src/modules/popup_copypasteUI/Makefile
 src/edje_externals/Makefile
+src/examples/Makefile
 data/Makefile
 data/themes/Makefile
 data/images/Makefile
 data/objects/Makefile
 data/desktop/Makefile
-data/xmls/Makefile
 data/edje_externals/Makefile
 config/Makefile
 config/default/Makefile
 config/standard/Makefile
 config/illume/Makefile
+config/slp/Makefile
+$po_makefile_in
 ])
 
 #####################################################################
@@ -523,28 +678,36 @@ echo
 echo "Configuration Options Summary:"
 echo
 echo "  Engines:"
-echo "    X11................: ${have_elementary_x}"
-echo "    Framebuffer........: ${have_elementary_fb}"
-echo "    SDL................: ${have_elementary_sdl}"
-echo "    Windows XP.........: ${have_elementary_win32}"
-echo "    Windows CE.........: ${have_elementary_wince}"
+echo "    X11....................: ${have_elementary_x}"
+echo "    Framebuffer............: ${have_elementary_fb}"
+echo "    SDL....................: ${have_elementary_sdl}"
+echo "    Windows XP.............: ${have_elementary_win32}"
+echo "    Windows CE.............: ${have_elementary_wince}"
 echo
 echo "  Features:"
-echo "    EDBus..............: ${have_elementary_edbus}"
-echo "    EFreet.............: ${have_elementary_efreet}"
-echo "    EWeather...........: ${have_elementary_eweather}"
-echo "    Ethumb.............: ${have_elementary_ethumb}"
-echo "    EWebKit............: ${have_elementary_ewebkit}"
-echo "    Xml2...............: ${have_elementary_libxml-2.0}"
+echo "    EDBus..................: ${have_elementary_edbus}"
+echo "    EFreet.................: ${have_elementary_efreet}"
+echo "    EWeather...............: ${have_elementary_eweather}"
+echo "    EMap...................: ${have_elementary_emap}"
+echo "    Ethumb.................: ${have_elementary_ethumb}"
+echo "    Web (WebKit)...........: ${have_elementary_web}"
+echo "    Quick Launch...........: ${have_fork}"
+echo "    EIO....................: ${have_eio}"
+echo "    Emotion................: ${have_emotion}"
+echo
+echo "  eet......................: ${eet_eet}"
+echo "  edje_cc..................: ${edje_cc}"
 echo
-echo "  eet..................: ${eet_eet}"
-echo "  edje_cc..............: ${edje_cc}"
+echo "  Build elementary_test....: ${have_elementary_test}"
+echo "  Examples.............: ${enable_build_examples}"
+echo "  Examples installed...: ${enable_install_examples}"
+echo "  Build elementary_config..: ${have_elementary_config}"
 echo
-echo "Compilation............: make (or gmake)"
-echo "  CPPFLAGS.............: $CPPFLAGS"
-echo "  CFLAGS...............: $CFLAGS"
-echo "  LDFLAGS..............: $LDFLAGS"
+echo "Compilation................: make (or gmake)"
+echo "  CPPFLAGS.................: $CPPFLAGS"
+echo "  CFLAGS...................: $CFLAGS"
+echo "  LDFLAGS..................: $LDFLAGS"
 echo
-echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
-echo "  prefix...............: $prefix"
+echo "Installation...............: make install (as root if needed, with 'su' or 'sudo')"
+echo "  prefix...................: $prefix"
 echo