use new elm_win function to find screen geometry instead of ecore_x
[framework/uifw/elementary.git] / configure.ac
index d89d471..58f7237 100755 (executable)
@@ -1,14 +1,14 @@
-##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+=-------##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_maj], [0])
-m4_define([v_min], [7])
+m4_define([v_min], [8])
 m4_define([v_mic], [0])
 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']))
 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']))])
 ##--   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,8 +26,16 @@ 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
@@ -65,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*)
@@ -100,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])
@@ -114,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"
     ;;
@@ -123,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))
+        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)
-       fi
+        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
+          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" && test "x$have_dlopen" = "xyes"])
 
 AC_SUBST(dlopen_libs)
 AC_SUBST(lt_enable_auto_import)
@@ -173,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
-    ecore >= 1.0.0
-    ecore-evas >= 1.0.0
-    ecore-file >= 1.0.0
-    ecore-imf >= 1.0.0
-    edje >= ${EDJE_VERSION}
+    evas >= 1.0.999
+    ecore >= 1.0.999
+    ecore-evas >= 1.0.999
+    ecore-file >= 1.0.999
+    ecore-imf >= 1.0.999
+    ecore-con >= 1.0.999
+    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([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"])
+
+have_emotion="no"
+want_elementary_emotion="yes"
+AC_ARG_ENABLE([emotion],
+   [AC_HELP_STRING([--disable-emotion], [disable emotion support. @<:@default=enabled@:>@])],
+   [want_elementary_emotion=$enableval], [])
+
+if test "x$want_elementary_emotion" != "xno"; then
+   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"])
+fi
+
+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"
@@ -255,6 +326,29 @@ if test "x$want_elementary_fb" = "xyes" -a "x$have_elementary_fb" = "xno"; then
     AC_MSG_ERROR([ecore-fb support requested, but not found by pkg-config.])
 fi
 
+have_elementary_psl1ght="no"
+want_elementary_psl1ght="auto"
+AC_ARG_ENABLE([ecore-psl1ght],
+   [AC_HELP_STRING([--disable-ecore-psl1ght], [disable ecore-psl1ght support. @<:@default=detect@:>@])],
+   [want_elementary_psl1ght=$enableval], [])
+
+if test "x$want_elementary_psl1ght" != "xno"; then
+   PKG_CHECK_MODULES([ELEMENTARY_PSL1GHT],
+      [ecore-psl1ght >= 1.0.0],
+      [
+       AC_DEFINE(HAVE_ELEMENTARY_PSL1GHT, 1, [PSL1GHT support for Elementary])
+       have_elementary_psl1ght="yes"
+       requirement_elm="ecore-psl1ght >= 1.0.0 ${requirement_elm}"
+      ],
+      [have_elementary_psl1ght="no"]
+   )
+else
+    have_elementary_psl1ght="no"
+fi
+if test "x$want_elementary_psl1ght" = "xyes" -a "x$have_elementary_psl1ght" = "xno"; then
+    AC_MSG_ERROR([ecore-psl1ght support requested, but not found by pkg-config.])
+fi
+
 have_elementary_sdl="no"
 want_elementary_sdl="auto"
 AC_ARG_ENABLE([ecore-sdl],
@@ -278,6 +372,29 @@ if test "x$want_elementary_sdl" = "xyes" -a "x$have_elementary_sdl" = "xno"; the
     AC_MSG_ERROR([ecore-sdl support requested, but not found by pkg-config.])
 fi
 
+have_elementary_cocoa="no"
+want_elementary_cocoa="auto"
+AC_ARG_ENABLE([ecore-cocoa],
+   [AC_HELP_STRING([--disable-ecore-cocoa], [disable ecore-cocoa support. @<:@default=detect@:>@])],
+   [want_elementary_cocoa=$enableval], [])
+
+if test "x$want_elementary_cocoa" != "xno"; then
+   PKG_CHECK_MODULES([ELEMENTARY_COCOA],
+      [ecore-cocoa >= 1.0.0],
+      [
+       AC_DEFINE(HAVE_ELEMENTARY_COCOA, 1, [COCOA support for Elementary])
+       have_elementary_cocoa="yes"
+       requirement_elm="ecore-cocoa >= 1.0.0 ${requirement_elm}"
+      ],
+      [have_elementary_cocoa="no"]
+   )
+else
+    have_elementary_cocoa="no"
+fi
+if test "x$want_elementary_cocoa" = "xyes" -a "x$have_elementary_cocoa" = "xno"; then
+    AC_MSG_ERROR([ecore-cocoa support requested, but not found by pkg-config.])
+fi
+
 have_elementary_win32="no"
 want_elementary_win32="auto"
 AC_ARG_ENABLE([ecore-win32],
@@ -326,7 +443,7 @@ fi
 
 ELM_EDBUS_DEF="#undef"
 have_elementary_edbus="no"
-want_elementary_edbus="no"
+want_elementary_edbus="auto"
 AC_ARG_ENABLE([edbus],
    [AC_HELP_STRING([--disable-edbus], [disable edbus support. @<:@default=detect@:>@])],
    [want_elementary_edbus=$enableval], [])
@@ -335,13 +452,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"]
     )
@@ -349,13 +465,13 @@ 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)
 
 ELM_EFREET_DEF="#undef"
 have_elementary_efreet="no"
-want_elementary_efreet="no"
+want_elementary_efreet="auto"
 AC_ARG_ENABLE([efreet],
    [AC_HELP_STRING([--disable-efreet], [disable efreet support. @<:@default=detect@:>@])],
    [want_elementary_efreet=$enableval], [])
@@ -411,6 +527,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"
@@ -439,6 +585,41 @@ if test "x$want_elementary_ethumb" = "xyes" -a "x$have_elementary_ethumb" = "xno
 fi
 AC_SUBST(ELM_ETHUMB_DEF)
 
+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_web" != "xno"; then
+    PKG_CHECK_MODULES([ELEMENTARY_WEB],
+       [
+        ewebkit
+       ],
+       [
+        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"
+## web_client? how about ewebkit? at least in current upstreak webkit
+## there is no web_client.pc        
+#        requirement_elm="web_client ${requirement_elm}"
+        requirement_elm="ewebkit ${requirement_elm}"
+       ],
+       [have_elementary_web="no"]
+    )
+else
+    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
+AC_SUBST(ELM_WEB_DEF)
+
 ELM_DEBUG_DEF="#undef"
 want_elementary_debug="no"
 AC_ARG_ENABLE([debug],
@@ -468,23 +649,56 @@ 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.17])
+])
+
+m4_ifdef([AM_GNU_GETTEXT], [
+AM_GNU_GETTEXT([external])
+po_makefile_in=po/Makefile.in
+have_po="yes"
+],[
+have_po="no"
+])
+AC_SUBST(LTLIBINTL)
+
+if test "x${POSUB}" = "x" ; then
+   have_po="no"
+fi
+
+AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
+
+EFL_CHECK_PATH_MAX
+
+
+### 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
@@ -496,6 +710,7 @@ config/default/Makefile
 config/standard/Makefile
 config/illume/Makefile
 config/slp/Makefile
+$po_makefile_in
 ])
 
 #####################################################################
@@ -511,27 +726,38 @@ 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 "    PSL1GHT................: ${have_elementary_psl1ght}"
+echo "    SDL....................: ${have_elementary_sdl}"
+echo "    Cocoa..................: ${have_elementary_cocoa}"
+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 "    Xml2...............: ${have_elementary_libxml2}"
+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