* Removed the setting for putting all the hildon buttons as
[modest] / configure.ac
index f7474d1..6492937 100644 (file)
@@ -54,7 +54,7 @@ AC_PROG_LIBTOOL
 
 # Option to enable debugging
 AC_ARG_ENABLE(debug,
-              [AC_HELP_STRING([  --enable-debug],[Debugging (default=no)])],
+              [AC_HELP_STRING([--enable-debug],[Debugging (default=no)])],
               [with_debug=yes], [with_debug=no])
 
 if test "x$with_debug" == "xyes" ; then
@@ -64,8 +64,42 @@ else
 fi
 
 
+
+dnl -------
+dnl GtkHTML
+dnl -------
+
+AC_MSG_CHECKING(for installed version of libgtkhtml3)
+pkg-config --exists libgtkhtml-3.14
+retval=$?
+gtk_html_found=false
+if test $retval -eq 0 ; then
+    gtk_html_found=true
+    gtk_html_version=3.14
+else
+    pkg-config --exists libgtkhtml-3.8
+    retval=$?
+    if test $retval -eq 0 ; then
+      gtk_html_found=true
+      gtk_html_version=3.8
+    else
+          if [ $gui = "true" ]; then
+            AC_MSG_RESULT(libgtkhtml 3.4 or higher is not found!)
+          fi
+    fi
+fi
+
+if [ $gtk_html_found = "true" ]; then
+   version=`pkg-config --modversion libgtkhtml-${gtk_html_version}`
+   AC_MSG_RESULT(found version $version)
+else
+   AC_MSG_ERROR([install gtkhtml 3.8 or newer])
+fi
+
+
 dnl # GLib/Gobject/Gtk/Gconf => mandatory
-PKG_CHECK_MODULES(MODEST_GSTUFF,glib-2.0 >= 2.6 gobject-2.0 gtk+-2.0 >= 2.6 gconf-2.0 gnome-vfs-2.0 libgtkhtml-3.8 libtinymail-1.0 libtinymail-camel-1.0 libtinymail-gnomevfs-1.0 libtinymailui-1.0 libtinymailui-gtk-1.0) 
+
+PKG_CHECK_MODULES(MODEST_GSTUFF,glib-2.0 >= 2.6 gobject-2.0 gtk+-2.0 >= 2.6 gconf-2.0 gnome-vfs-2.0 libgtkhtml-${gtk_html_version} libtinymail-1.0 libtinymail-camel-1.0 libtinymail-gnomevfs-1.0 libtinymailui-1.0 libtinymailui-gtk-1.0) 
 AC_SUBST(MODEST_GSTUFF_CFLAGS)
 AC_SUBST(MODEST_GSTUFF_LIBS)
 
@@ -80,8 +114,10 @@ LIBS="$modest_save_libs"
 __COPY_LIBS="$LIBS"
 LIBS="$LIBS $MODEST_GSTUFF_LIBS"
 AC_CHECK_FUNCS(gtk_html_get_selection_area)
-LIBS="$__COPY_LIBS"
 AC_SUBST(HAVE_GTK_HTML_GET_SELECTION_AREA)
+AC_CHECK_FUNCS(gtk_tree_view_column_get_cell_data_hint)
+AC_SUBST(HAVE_GTK_TREE_VIEW_COLUMN_GET_CELL_DATA_HINT)
+LIBS="$__COPY_LIBS"
 
 dnl dnl now, determine what to build
 dnl AC_MSG_NOTICE([Determining what platform to build])
@@ -103,6 +139,87 @@ if test "$MODEST_PLATFORM" = "detect"; then
        with_platform=$detected_platform
 fi
 
+if test "$with_platform" = "maemo"; then
+       MODEST_PLUGIN_DEFINES=" -DMODEST_PLATFORM_MAEMO"
+elif test "$with_platform" = "gnome"; then
+       MODEST_PLUGIN_DEFINES=" -DMODEST_PLATFORM_GNOME"
+fi
+
+#
+# check the widgets library
+#
+have_hildon2=false
+have_hildon1=false
+have_hildon0=false
+have_gtk=false
+PKG_CHECK_EXISTS(hildon-1, have_hildon1=true,have_hildon1=false)
+if test "$have_hildon1" = "true"; then
+   PKG_CHECK_EXISTS(hildon-1 >= 2.1.0, have_hildon2=true, have_hildon2=false)
+   PKG_CHECK_MODULES(MODEST_HILDON_WIDGETS,hildon-1 hildon-fm-2)
+   hildonpkgs="hildon-1 hildon-fm-2"
+   detected_toolkit=hildon1
+   echo "DETECTED HILDON 1 $have_hildon2."
+   if test "$have_hildon2" = "true"; then
+      echo "DETECTED HILDON 2 $have_hildon2."
+      detected_toolkit=hildon2
+   fi
+else
+   hildonpkgs="hildon-libs hildon-fm"
+   detected_toolkit=hildon1
+   PKG_CHECK_EXISTS(hildon-libs >= 0.12.0, have_hildon1=true, have_hildon1=false)
+   if test "$have_hildon1" = "false"; then
+      PKG_CHECK_EXISTS(hildon-libs, have_hildon0=true, have_hildon0=false)
+      if test "$have_hildon0" = "false"; then
+        have_gtk=true
+        detected_toolkit=gtk
+        hildonpkgs=
+      fi
+   fi
+   if test "$have_gtk" = "false"; then
+      PKG_CHECK_MODULES(MODEST_HILDON_WIDGETS,hildon-libs hildon-fm)
+   fi
+fi
+
+hildon_api=
+if test "$have_hildon0" = "true"; then
+   hildon_api=0
+elif test "$have_hildon1" = "true"; then
+   hildon_api=1
+elif test "$have_gtk" = "false"; then
+   hildon_api=`$PKG_CONFIG --modversion hildon-1 | cut -d. -f1`
+fi
+
+AC_DEFINE_UNQUOTED(MODEST_HILDON_API, $hildon_api, ["the API version of hildon"])
+MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_HILDON_API=$hildon_api"
+
+AC_ARG_WITH(toolkit, [
+Target toolkit:
+  --with-toolkit=detect  detect target toolkit (default)
+  --with-toolkit=gtk   build for Gnome
+  --with-toolkit=hildon1   build for Hildon 1.x
+  --with-toolkit=hildon2   build for Hildon 2.x
+],
+[case "${with_toolkit}" in
+       gtk|hildon1|hildon2|detect)    MODEST_TOOLKIT=${with_toolkit};;
+       *)        AC_MSG_ERROR([Unknown platform selected]);;
+esac], [MODEST_TOOLKIT=detect])
+
+if test "$MODEST_TOOLKIT" = "detect"; then
+       MODEST_TOOLKIT="$detected_toolkit"
+       with_toolkit=$detected_toolkit
+fi
+
+if test "$with_toolkit" = "hildon1"; then
+       MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_TOOLKIT_HILDON1"
+elif test "$with_toolkit" = "hildon2"; then
+       MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_TOOLKIT_HILDON2"
+elif test "$with_toolkit" = "gtk"; then
+       MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_TOOLKIT_GNOME"
+fi
+
+AC_SUBST(hildonpkgs)
+AC_SUBST(MODEST_PLUGIN_DEFINES)
+
 
 dnl Whether to use maemo-launcher or not
 AC_ARG_ENABLE([maemo-launcher],
@@ -121,29 +238,44 @@ then
 fi
 
 have_easysetup=false
+if test "x$with_toolkit" == "xgtk"; then
+   PKG_CHECK_MODULES(MODEST_TOOLKIT,glib-2.0 >= 2.8 gtk+-2.0 >= 2.10 libnotify)
+   AC_DEFINE_UNQUOTED(MODEST_TOOLKIT_GTK, 1, ["Whether modest is being build for the gtk toolkit."])
+   MODEST_TOOLKIT_DIR=gnome
+else
+   have_easysetup=true
+   PKG_CHECK_MODULES(MODEST_TOOLKIT,$hildonpkgs)
+   if test "$with_toolkit" = "hildon2"; then
+      AC_DEFINE_UNQUOTED(MODEST_TOOLKIT_HILDON2, 1, ["Whether modest is being build for the hildon2 toolkit."])
+      MODEST_TOOLKIT_DIR=hildon2
+   else
+      AC_DEFINE_UNQUOTED(MODEST_TOOLKIT_HILDON1, 1, ["Whether modest is being build for the hildon2 toolkit."])
+      MODEST_TOOLKIT_DIR=maemo
+   fi
+    AC_DEFINE_UNQUOTED(MODEST_HAVE_EASYSETUP, 1, ["Whether we have the easysetup feature"])
+fi
+AM_CONDITIONAL(MODEST_HAVE_EASYSETUP,test "x$have_easysetup" == "xtrue")
+AC_SUBST(MODEST_TOOLKIT)
+AC_SUBST(MODEST_TOOLKIT_DIR)
+
 if test "x$with_platform" == "xgnome"; then
-      PKG_CHECK_MODULES(MODEST_PLATFORM,libtinymail-gnome-desktop-1.0 libnm_glib glib-2.0 >= 2.8 gtk+-2.0 >= 2.10 libnotify)
+      PKG_CHECK_MODULES(MODEST_PLATFORM,libtinymail-gnome-desktop-1.0 libnm_glib glib-2.0 >= 2.8 libnotify)
     AC_DEFINE_UNQUOTED(MODEST_PLATFORM_GNOME, 1, ["Whether modest is being built for the GNOME platform."])
 dnl     AC_MSG_ERROR([The GNOME Build is currently broken; please try the Maemo build instead])
 else
-    have_easysetup=true
     have_dbusapi=true
     PKG_CHECK_MODULES(MODEST_PLATFORM,libosso dbus-1 libtinymail-maemo-1.0 libebook-1.2 )
     AC_DEFINE_UNQUOTED(MODEST_PLATFORM_MAEMO, 1, ["Whether modest is being built for the MAEMO platform."])
-    AC_DEFINE_UNQUOTED(MODEST_HAVE_EASYSETUP, 1, ["Whether we have the easysetup feature"])
-fi                 
-
-AM_CONDITIONAL(MODEST_HAVE_EASYSETUP,test "x$have_easysetup" == "xtrue")
+fi
 AM_CONDITIONAL(MODEST_HAVE_DBUS_API,test "x$have_dbusapi" == "xtrue")
 AC_SUBST(MODEST_PLATFORM)
 
 
 
-
 #
 # check for wpeditor or libwpeditor-plus (on maemo)
 #
-if test "x$with_platform" == "xmaemo"; then  
+if test "x$with_toolkit" != "xgtk"; then  
 PKG_CHECK_MODULES(MODEST_WPEDITOR,wpeditor,have_wpeditor=true,have_wpeditor=false)
 if test "x$have_wpeditor" == "xfalse"; then
    PKG_CHECK_MODULES(MODEST_WPEDITOR,libwpeditor-plus,have_libwpeditorplus=true,have_libwpeditorplus=false)    
@@ -164,19 +296,32 @@ fi
 # check libalarm
 #
 if test "x$with_platform" == "xmaemo"; then  
-PKG_CHECK_MODULES(MODEST_LIBALARM,libalarm,have_libalarm=true,have_libalarm=false)
-if test "x$have_libalarm" == "xtrue"; then
-   libalarm="libalarm" 
-   AC_DEFINE_UNQUOTED(MODEST_HAVE_LIBALARM, 1, ["Whether libalarm is used."])          
-   AC_SUBST(MODEST_LIBALARM_CFLAGS)
-   AC_SUBST(MODEST_LIBALARM_LIBS)
+   PKG_CHECK_MODULES(MODEST_LIBALARM,libalarm,have_libalarm=true,have_libalarm=false)
+   if test "x$have_libalarm" == "xfalse"; then
+      PKG_CHECK_MODULES(MODEST_LIBALARM, alarm, have_libalarm=true,have_libalarm=false)
+   fi
+   if test "x$have_libalarm" == "xtrue"; then
+      AC_DEFINE_UNQUOTED(MODEST_HAVE_LIBALARM, 1, ["Whether libalarm is used."])               
+      AC_SUBST(MODEST_LIBALARM_CFLAGS)
+      AC_SUBST(MODEST_LIBALARM_LIBS)
+   fi
+fi
+
+#
+# check for MCE
+#
+if test "x$with_platform" == "xmaemo"; then  
+PKG_CHECK_MODULES(MODEST_MCE,mce,have_mce=true,have_mce=false)
+if test "x$have_mce" == "xtrue"; then
+   mce="mce"   
+   AC_DEFINE_UNQUOTED(MODEST_HAVE_MCE, 1, ["Whether mce is used."])
+   AC_SUBST(MODEST_MCE_CFLAGS)
+   AC_SUBST(MODEST_MCE_LIBS)
 else
-   libalarm=""
+   mce=""
 fi
 fi
 
-
-
 #
 # check for libconic; this is a trick to check whether we run
 # on a 'real' maemo platform, or on, say, ubuntu embedded
@@ -198,7 +343,7 @@ fi
 #
 # check hildon-help (only for maemo)
 #
-if test "x$with_platform" == "xmaemo"; then  
+if test "x$with_toolkit" != "xgtk"; then  
    PKG_CHECK_MODULES(MODEST_HILDON_HELP,hildon-help,have_hildon_help=true,have_hildon_help=false)
    if test "x$have_hildon_help" == "xfalse"; then
       PKG_CHECK_MODULES(MODEST_HILDON_HELP,libossohelp,have_osso_help=true,have_osso_help=false)       
@@ -219,7 +364,7 @@ fi
 #
 # check for the notification stuff (only maemo)
 #
-if test "x$with_platform" == "xmaemo"; then  
+if test "x$with_toolkit" != "xgtk"; then  
    PKG_CHECK_MODULES(MODEST_HILDON_NOTIFY,hildon-notify libnotify,have_hildon_notify=true,have_hildon_notify=false)
    if test "x$have_hildon_notify" == "xtrue"; then
       AC_DEFINE_UNQUOTED(MODEST_HAVE_HILDON_NOTIFY, 1, ["Whether hildon-notify is available"])      
@@ -230,7 +375,7 @@ fi
 #
 # check for the uri/mime stuff
 #
-if test "x$with_platform" == "xmaemo"; then  
+if test "x$with_toolkit" != "xgtk"; then  
    PKG_CHECK_MODULES(MODEST_HILDON_MIME,libhildonmime,have_hildonmime=true,have_hildonmime=false)
    if test "x$have_hildonmime" == "xfalse"; then
       PKG_CHECK_MODULES(MODEST_HILDON_MIME,libossomime,have_ossomime=true,have_ossomime=false) 
@@ -294,24 +439,6 @@ fi
 
 
 
-#
-# check the version of the widgets on maemo
-#
-if test "x$with_platform" == "xmaemo"; then  
-PKG_CHECK_MODULES(MODEST_HILDON_WIDGETS, hildon-1 >= 0.9.9 hildon-fm-2, have_hildon1=true,have_hildon1=false)  
-if test "x$have_hildon1" == "xfalse"; then 
-   PKG_CHECK_MODULES(MODEST_HILDON_WIDGETS, hildon-libs >= 0.12.0 hildon-fm, have_hildon0=true,have_hildon0=false)     
-   if test "x$have_hildon0" == "xtrue"; then
-      AC_DEFINE_UNQUOTED(MODEST_HAVE_HILDON0_WIDGETS, 1, ["Whether hildon0 widgets are used."])                      
-   else
-      AC_MSG_ERROR([hildon widgets and/or hildon-fm not found])
-   fi
-else
-      AC_DEFINE_UNQUOTED(MODEST_HAVE_HILDON1_WIDGETS, 1, ["Whether hildon1 widgets are used."])                    
-fi
-fi
-
-
 
 #
 # check the version of the addressbook on maemo
@@ -321,12 +448,11 @@ if test "x$with_platform" == "xmaemo"; then
    AC_SUBST(MODEST_ABOOK_CFLAGS)
    AC_SUBST(MODEST_ABOOK_LIBS)
 
-   if test "x$have_abook" == "xtrue"; then     
-      PKG_CHECK_MODULES(MODEST_ABOOK_OLD, osso-addressbook-1.0 < 2.0, have_old_abook=true,have_old_abook=false)        
-      if test "x$have_old_abook" == "xtrue"; then
-        AC_DEFINE_UNQUOTED(MODEST_HAVE_OLD_ABOOK, 1, ["whether we have an old osso-addressbook"])
-      fi
-      AC_DEFINE_UNQUOTED(MODEST_HAVE_ABOOK,1, ["whether we have osso-addressbook"])
+   if test "x$have_abook" == "xtrue"; then
+      abook_api=`$PKG_CONFIG --modversion osso-addressbook-1.0 | cut -d. -f1`
+      AC_DEFINE_UNQUOTED(OSSO_ABOOK_ENABLE_DEPRECATED, 1, ["use deprecated addressbook API"])
+      AC_DEFINE_UNQUOTED(MODEST_ABOOK_API, $abook_api, ["the API version of osso-addressbook"])
+      AC_DEFINE_UNQUOTED(MODEST_HAVE_ABOOK, 1, ["whether we have osso-addressbook"])
       addressbook="osso-addressbook"
    fi
 fi
@@ -338,6 +464,9 @@ fi
 AM_CONDITIONAL(MODEST_USE_DUMMY_ADDRESS_BOOK,test "x$have_abook" != "xtrue")
 
 
+AM_GLIB_GNU_GETTEXT
+IT_PROG_INTLTOOL([0.35.0])
+
 # gettext support
 GETTEXT_PACKAGE=modest 
 AC_SUBST(GETTEXT_PACKAGE)
@@ -383,20 +512,8 @@ if test "x$with_platform" == "xmaemo"; then
    AC_SUBST(pluginlibdir)
    AC_SUBST(plugindesktopentrydir)
 
-else
-   # gnome frontend 
-   PKG_CHECK_MODULES(MODEST_LIBTINYMAIL_GNOME_DESKTOP,libtinymail-gnome-desktop-1.0 libnm_glib glib-2.0 >= 2.8 gtk+-2.0 >= 2.10 libnotify)
-   AC_SUBST(MODEST_LIBTINYMAIL_GNOME_DESKTOP_CFLAGS)
-   AC_SUBST(MODEST_LIBTINYMAIL_GNOME_DESKTOP_LIBS)  
-   AC_DEFINE_UNQUOTED(MODEST_PLATFORM_GNOME, 1, ["Whether modest is being built for the GNOME platform."])
-
-  # no dbus api for gnome
-  dbus_api=""
-  AC_SUBST(dbus_api)
-
 fi
 
-
 dnl ## setup the testing framework (ie., make check)
 build_tests=false
 AC_ARG_ENABLE(tests,
@@ -433,18 +550,17 @@ AM_CONDITIONAL(BUILD_DOCS, test x$build_docs = xtrue)
 dnl ## gtk-doc
 GTK_DOC_CHECK([1.0])
 
-dnl Intltool utility programs
-#AC_PROG_INTLTOOL([0.33.0],[no-xml])
-
 AC_OUTPUT([
 po/Makefile.in
 Makefile
 man/Makefile
 src/Makefile
+src/modest-plugin-1.0.pc
 src/dbus_api/Makefile
 src/gnome/Makefile
 src/maemo/Makefile
 src/maemo/easysetup/Makefile
+src/hildon2/Makefile
 src/widgets/Makefile
 docs/Makefile
 docs/reference/Makefile
@@ -452,6 +568,8 @@ tests/Makefile
 tests/dbus_api/Makefile
 src/maemo/modest.desktop
 src/maemo/com.nokia.modest.service
+src/hildon2/modest.desktop
+src/hildon2/com.nokia.modest.service
 libmodest-dbus-client/Makefile
 libmodest-dbus-client/libmodest-dbus-client-1.0.pc
 ])
@@ -461,6 +579,7 @@ echo
 echo "modest configure results"
 echo "-----------------------------------"
 echo "Platform         : $with_platform"
+echo "Toolkit          : $with_toolkit"
 echo "Prefix           : ${prefix}"
 echo "Build tests      : $build_tests"
 echo "Build docs       : $build_docs"
@@ -473,6 +592,7 @@ if test "x$with_platform" == "xmaemo"; then
    echo "Help lib         : $helplib"
    echo "libconic support : $have_libconic"
    echo "Alarm            : $have_libalarm"
+   echo "MCE              : $have_mce"
    echo "Hildon-Notify    : $have_hildon_notify"    
    echo "LibOGS support   : $have_ogs_support"
    echo "MozEmbed support : $use_mozembed"