Handle better finalize/last ref of model cases in ModestHeaderWindow
[modest] / configure.ac
index 6492937..c414b77 100644 (file)
 # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-AC_INIT([modest],[1.0],[http://maemo.org])
+AC_INIT([modest],[3.0],[http://maemo.org])
 AC_CONFIG_HEADERS([config.h])
 
+m4_define([modest_api_major_version], [1])
+m4_define([modest_api_minor_version], [99])
+m4_define([modest_api_micro_version], [0])
+m4_define([modest_api_version], [modest_api_major_version.modest_api_minor_version.modest_api_micro_version])
+
+
 AC_CONFIG_SRCDIR(src/modest-main.c)
 AM_INIT_AUTOMAKE([dist-bzip2])
 
+MODEST_API_MAJOR_VERSION=modest_api_major_version
+MODEST_API_MINOR_VERSION=modest_api_minor_version
+MODEST_API_MICRO_VERSION=modest_api_micro_version
+MODEST_API_VERSION=modest_api_version
+AC_SUBST(MODEST_API_MAJOR_VERSION)
+AC_SUBST(MODEST_API_MINOR_VERSION)
+AC_SUBST(MODEST_API_MICRO_VERSION)
+AC_SUBST(MODEST_API_VERSION)
+
 ALL_LINGUAS="en_GB"
 
 MODEST_LOCALE_DIR='$prefix/${DATADIRNAME}/locale'
 AM_GLIB_DEFINE_LOCALEDIR([MODEST_LOCALE_DIR])
 AM_GLIB_GNU_GETTEXT
 
-
-
 if test x$prefix = xNONE; then
    prefix=/usr/local
 fi
@@ -63,6 +76,16 @@ else
         CFLAGS="$CFLAGS -O2 -Wall"
 fi
 
+# Option to enable debugging
+AC_ARG_ENABLE(gcov,
+              [AC_HELP_STRING([--enable-gcov],[Coverage reporting (default=no)])],
+              [with_gcov=yes], [with_gcov=no])
+
+if test "x$with_gcov" == "xyes" ; then
+        CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
+       LDFLAGS="$LDFLAGS -lgcov"
+fi
+
 
 
 dnl -------
@@ -105,19 +128,25 @@ AC_SUBST(MODEST_GSTUFF_LIBS)
 
 modest_save_cflags="$CFLAGS"
 modest_save_libs="$LIBS"
-CFLAGS="$MODEST_GSTUFF_CFLAGS"
-LIBS="$MODEST_GSTUFF_LIBS"
+PKG_CHECK_MODULES(MODEST_GTKHTML,libgtkhtml-${gtk_html_version})
+AC_SUBST(MODEST_GTKHTML_CFLAGS)
+AC_SUBST(MODEST_GTKHTML_LIBS)
+CFLAGS="$MODEST_GTKHTML_CFLAGS"
+LIBS="$MODEST_GTKHTML_LIBS"
 AC_CHECK_DECLS([gtk_widget_tap_and_hold_setup],[],[], [#include <gtk/gtk.h>])
-CFLAGS="$modest_save_cflags"
-LIBS="$modest_save_libs"
-
-__COPY_LIBS="$LIBS"
-LIBS="$LIBS $MODEST_GSTUFF_LIBS"
+AC_CHECK_FUNCS(gtk_html_set_max_image_size)
+AC_SUBST(HAVE_GTK_HTML_SET_MAX_IMAGE_SIZE)
 AC_CHECK_FUNCS(gtk_html_get_selection_area)
 AC_SUBST(HAVE_GTK_HTML_GET_SELECTION_AREA)
+AC_CHECK_FUNCS(gtk_html_set_allow_dnd)
+AC_SUBST(HAVE_GTK_HTML_SET_ALLOW_DND)
+AC_CHECK_FUNCS(gtk_html_set_default_engine)
+AC_SUBST(HAVE_GTK_HTML_SET_DEFAULT_ENGINE)
 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"
+CFLAGS="$modest_save_cflags"
+LIBS="$modest_save_libs"
+
 
 dnl dnl now, determine what to build
 dnl AC_MSG_NOTICE([Determining what platform to build])
@@ -140,10 +169,11 @@ if test "$MODEST_PLATFORM" = "detect"; then
 fi
 
 if test "$with_platform" = "maemo"; then
-       MODEST_PLUGIN_DEFINES=" -DMODEST_PLATFORM_MAEMO"
+       MODEST_PLUGIN_DEFINES=" -DMODEST_PLATFORM_MAEMO -DMODEST_API_VERSION=${MODEST_API_VERSION}"
 elif test "$with_platform" = "gnome"; then
-       MODEST_PLUGIN_DEFINES=" -DMODEST_PLATFORM_GNOME"
+       MODEST_PLUGIN_DEFINES=" -DMODEST_PLATFORM_GNOME -DMODEST_API_VERSION=${MODEST_API_VERSION}"
 fi
+AC_SUBST(MODEST_PLUGIN_DEFINES)
 
 #
 # check the widgets library
@@ -154,15 +184,11 @@ 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_EXISTS(hildon-1 >= 2.1.0 hildon-fm-2, 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
@@ -180,6 +206,27 @@ else
    fi
 fi
 
+dnl --------------- HILDON & PLUGIN PKGS -----------
+pluginpkgs=$hildonpkgs
+echo "Plugin Packages $pluginpkgs"
+AC_SUBST(pluginpkgs)
+
+use_profile_data=false
+# Plugin packages must not include libcanberra and libprofile
+if test "$have_hildon2" = "true"; then
+   echo "DETECTED HILDON 2 $have_hildon2."
+   detected_toolkit=hildon2
+   hildonpkgs="$hildonpkgs libcanberra"
+   AC_CHECK_HEADER([profiled/keys_nokia.h], use_profile_data=true, use_profile_data=false)
+   if test "$use_profile_data" = "true"; then
+      hildonpkgs="$hildonpkgs profile"
+      AC_DEFINE_UNQUOTED(MODEST_USE_PROFILE, 1, ["Use the Profile data include"])
+   fi
+   echo "HILDON 2 PACKAGES $hildonpkgs"
+fi
+AC_SUBST(hildonpkgs)
+
+dnl --------------- HILDON API ------------
 hildon_api=
 if test "$have_hildon0" = "true"; then
    hildon_api=0
@@ -217,10 +264,6 @@ 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],
              [AS_HELP_STRING([--enable-maemo-launcher],
@@ -235,11 +278,15 @@ then
        PKG_CHECK_MODULES(MAEMO_LAUNCHER, [maemo-launcher-app])
        AC_SUBST(MAEMO_LAUNCHER_CFLAGS)
        AC_SUBST(MAEMO_LAUNCHER_LIBS)
+       MAEMO_LAUNCHER_MODEST_LDFLAGS="-shared "
+else
+       MAEMO_LAUNCHER_MODEST_LDFLAGS="-export-dynamic "
 fi
+AC_SUBST(MAEMO_LAUNCHER_MODEST_LDFLAGS)
 
 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)
+   PKG_CHECK_MODULES(MODEST_TOOLKIT,glib-2.0 >= 2.8 gtk+-2.0 >= 2.10 libnotify gtksourceview-2.0)
    AC_DEFINE_UNQUOTED(MODEST_TOOLKIT_GTK, 1, ["Whether modest is being build for the gtk toolkit."])
    MODEST_TOOLKIT_DIR=gnome
 else
@@ -259,7 +306,7 @@ 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 libnotify)
+      PKG_CHECK_MODULES(MODEST_PLATFORM,libtinymail-gnome-desktop-1.0 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
@@ -341,9 +388,9 @@ fi
 fi
 
 #
-# check hildon-help (only for maemo)
+# check hildon-help (only for maemo AND NOT fremantle)
 #
-if test "x$with_toolkit" != "xgtk"; then  
+if test "x$with_toolkit" == "xhildon1"; 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)       
@@ -354,7 +401,7 @@ if test "x$with_toolkit" != "xgtk"; then
        AC_MSG_ERROR([you need to have either osso-help or hildon-help installed])
       fi
    else
-     helplib="hildon-help"     
+     helplib="hildon-help"
      AC_DEFINE_UNQUOTED(MODEST_HAVE_HILDON_HELP, 1, ["Whether hildon-help is used."])          
    fi
 fi
@@ -445,11 +492,27 @@ fi
 #
 if test "x$with_platform" == "xmaemo"; then  
    PKG_CHECK_MODULES(MODEST_ABOOK,osso-addressbook-1.0,have_abook=true,have_abook=false)
+   abook_api=`$PKG_CONFIG --modversion osso-addressbook-1.0 | cut -d. -f1`
    AC_SUBST(MODEST_ABOOK_CFLAGS)
    AC_SUBST(MODEST_ABOOK_LIBS)
 
+   if test "x$have_abook" == "xfalse"; then
+     PKG_CHECK_MODULES(MODEST_ABOOK, libosso-abook-1.0,have_abook=true,have_abook=false)
+     abook_api=`$PKG_CONFIG --modversion libosso-abook-1.0 | cut -d. -f1`
+     AC_SUBST(MODEST_ABOOK_CFLAGS)
+     AC_SUBST(MODEST_ABOOK_LIBE)
+
+     modest_save_cflags="$CFLAGS"
+     modest_save_libs="$LIBS"
+     CFLAGS="$MODEST_ABOOK_CFLAGS"
+     LIBS="$MODEST_ABOOK_LIBS"
+     AC_CHECK_FUNCS(osso_abook_contact_chooser_set_visible_func)
+     AC_SUBST(HAVE_OSSO_ABOOK_CONTACT_CHOOSER_SET_VISIBLE_FUNC)
+     CFLAGS="$modest_save_cflags"
+     LIBS="$modest_save_libs"
+   fi
+
    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"])
@@ -457,6 +520,15 @@ if test "x$with_platform" == "xmaemo"; then
    fi
 fi
 
+AC_CHECK_HEADERS([clockd/libtime.h], have_libtime=true, have_libtime=false)
+
+if test "x$have_libtime" == "xtrue"; then
+   AC_DEFINE_UNQUOTED(MODEST_USE_LIBTIME, 1, ["use libtime API"])
+   MODEST_LIBTIME_LIBS=-ltime
+else
+   MODEST_LIBTIME_LIBS=
+fi
+AC_SUBST(MODEST_LIBTIME_LIBS)
 
 #
 # if we don't have an addressbook, use the dummy one
@@ -486,6 +558,9 @@ if test "x$with_platform" == "xmaemo"; then
    serviceentrydir=`$PKG_CONFIG dbus-glib-1 --variable=prefix`/share/dbus-1/services
    localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`
    backupsettingsdir=/etc/osso-backup/applications
+   prebackupdir=/etc/osso-backup/pre-backup.d/
+   restoredir=/etc/osso-backup/restore.d/always/
+   ossocudscriptsdir=/etc/osso-cud-scripts
    pixmapdir=`$PKG_CONFIG osso-af-settings --variable=hildonpixmapdir`
    icon_26x26dir=$datadir/icons/hicolor/26x26/hildon
    icon_34x34dir=$datadir/icons/hicolor/34x34/hildon
@@ -502,6 +577,9 @@ if test "x$with_platform" == "xmaemo"; then
    AC_SUBST(desktopentrydir)
    AC_SUBST(serviceentrydir)
    AC_SUBST(backupsettingsdir)
+   AC_SUBST(prebackupdir)
+   AC_SUBST(restoredir)
+   AC_SUBST(ossocudscriptsdir)
    AC_SUBST(localedir)
    AC_SUBST(pixmapdir)
    AC_SUBST(icon_26x26dir)
@@ -589,14 +667,21 @@ if test "x$with_platform" == "xmaemo"; then
    echo "Maemo Launcher   : $maemo_launcher"
    echo "Editor lib       : $wpeditor"
    echo "Addressbook      : $have_abook"
-   echo "Help lib         : $helplib"
+   if test "x$with_toolkit" == "xhildon1"; then
+      echo "Help lib         : $helplib"
+   fi
    echo "libconic support : $have_libconic"
    echo "Alarm            : $have_libalarm"
    echo "MCE              : $have_mce"
-   echo "Hildon-Notify    : $have_hildon_notify"    
+   echo "Hildon-Notify    : $have_hildon_notify"
    echo "LibOGS support   : $have_ogs_support"
-   echo "MozEmbed support : $use_mozembed"
-fi 
+fi
+
+echo "MozEmbed support : $use_mozembed"
+if [ $gtk_html_found = "true" ]; then
+   echo "GtkHTML version  : $gtk_html_version"
+fi
+echo "Libtime          : $have_libtime"
 
 echo "CFLAGS           : $CFLAGS"
 echo "Debug version    : $with_debug"